diff --git a/core/composer.json b/core/composer.json
index 26938e3..4cc653f 100644
--- a/core/composer.json
+++ b/core/composer.json
@@ -24,18 +24,20 @@
     "guzzlehttp/guzzle": "dev-master#1879fbe853b0c64d109e369c7aeff09849e62d1e",
     "symfony-cmf/routing": "1.3.*",
     "easyrdf/easyrdf": "0.9.*",
-    "phpunit/phpunit": "4.6.*",
     "zendframework/zend-feed": "2.4.*",
-    "mikey179/vfsStream": "~1.2",
     "stack/builder": "1.0.*",
     "egulias/email-validator": "1.2.*",
-    "behat/mink": "~1.6",
-    "behat/mink-goutte-driver": "dev-master#cc5ce119b5a8e06662f634b35967aff0b0c7dfdd",
     "fabpot/goutte": "~3.1",
     "masterminds/html5": "~2.1",
     "symfony/psr-http-message-bridge": "v0.2",
     "zendframework/zend-diactoros": "1.1.0"
   },
+  "require-dev": {
+    "phpunit/phpunit": "4.6.*",
+    "mikey179/vfsStream": "~1.2",
+    "behat/mink": "~1.6",
+    "behat/mink-goutte-driver": "dev-master#cc5ce119b5a8e06662f634b35967aff0b0c7dfdd"
+  },
   "replace": {
     "drupal/action": "self.version",
     "drupal/aggregator": "self.version",
diff --git a/core/composer.lock b/core/composer.lock
index 676d0bf..ad33f8c 100644
--- a/core/composer.lock
+++ b/core/composer.lock
@@ -4,171 +4,9 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "hash": "3708d8fdb54957e5ce661cda1df88353",
+    "hash": "fbd9d591fe3283b222fc189b8df952ae",
     "packages": [
         {
-            "name": "behat/mink",
-            "version": "v1.6.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/minkphp/Mink.git",
-                "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/minkphp/Mink/zipball/8b68523a339ec991bcd638b39dc8f04f808da88a",
-                "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.1",
-                "symfony/css-selector": "~2.0"
-            },
-            "suggest": {
-                "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
-                "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
-                "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
-                "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.6.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Behat\\Mink\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                }
-            ],
-            "description": "Browser controller/emulator abstraction for PHP",
-            "homepage": "http://mink.behat.org/",
-            "keywords": [
-                "browser",
-                "testing",
-                "web"
-            ],
-            "time": "2015-02-04 17:02:06"
-        },
-        {
-            "name": "behat/mink-browserkit-driver",
-            "version": "v1.2.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/minkphp/MinkBrowserKitDriver.git",
-                "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/aed8f4a596b79014a75254c3e337511c33e38cbd",
-                "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd",
-                "shasum": ""
-            },
-            "require": {
-                "behat/mink": "~1.6@dev",
-                "php": ">=5.3.1",
-                "symfony/browser-kit": "~2.0",
-                "symfony/dom-crawler": "~2.0"
-            },
-            "require-dev": {
-                "silex/silex": "~1.2"
-            },
-            "type": "mink-driver",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.2.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Behat\\Mink\\Driver": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                }
-            ],
-            "description": "Symfony2 BrowserKit driver for Mink framework",
-            "homepage": "http://mink.behat.org/",
-            "keywords": [
-                "Mink",
-                "Symfony2",
-                "browser",
-                "testing"
-            ],
-            "time": "2014-09-26 11:35:19"
-        },
-        {
-            "name": "behat/mink-goutte-driver",
-            "version": "dev-master",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/minkphp/MinkGoutteDriver.git",
-                "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/cc5ce119b5a8e06662f634b35967aff0b0c7dfdd",
-                "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd",
-                "shasum": ""
-            },
-            "require": {
-                "behat/mink": "~1.6@dev",
-                "behat/mink-browserkit-driver": "~1.2@dev",
-                "fabpot/goutte": "~1.0.4|~2.0|~3.1",
-                "php": ">=5.3.1"
-            },
-            "type": "mink-driver",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.1.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Behat\\Mink\\Driver\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                }
-            ],
-            "description": "Goutte driver for Mink framework",
-            "homepage": "http://mink.behat.org/",
-            "keywords": [
-                "browser",
-                "goutte",
-                "headless",
-                "testing"
-            ],
-            "time": "2015-06-27 00:15:11"
-        },
-        {
             "name": "doctrine/annotations",
             "version": "v1.2.1",
             "source": {
@@ -515,60 +353,6 @@
             "time": "2013-01-10 21:49:15"
         },
         {
-            "name": "doctrine/instantiator",
-            "version": "1.0.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/instantiator.git",
-                "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119",
-                "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3,<8.0-DEV"
-            },
-            "require-dev": {
-                "athletic/athletic": "~0.1.8",
-                "ext-pdo": "*",
-                "ext-phar": "*",
-                "phpunit/phpunit": "~4.0",
-                "squizlabs/php_codesniffer": "2.0.*@ALPHA"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Doctrine\\Instantiator\\": "src"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Marco Pivetta",
-                    "email": "ocramius@gmail.com",
-                    "homepage": "http://ocramius.github.com/"
-                }
-            ],
-            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
-            "homepage": "https://github.com/doctrine/instantiator",
-            "keywords": [
-                "constructor",
-                "instantiate"
-            ],
-            "time": "2014-10-13 12:58:55"
-        },
-        {
             "name": "doctrine/lexer",
             "version": "v1.0.1",
             "source": {
@@ -796,7 +580,7 @@
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1879fbe853b0c64d109e369c7aeff09849e62d1e",
+                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/74203189513211cc9fcd835c8fba50db7a6af67a",
                 "reference": "1879fbe853b0c64d109e369c7aeff09849e62d1e",
                 "shasum": ""
             },
@@ -1023,86 +807,72 @@
             "time": "2015-02-09 16:26:00"
         },
         {
-            "name": "mikey179/vfsStream",
-            "version": "v1.5.0",
+            "name": "psr/http-message",
+            "version": "1.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/mikey179/vfsStream.git",
-                "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a"
+                "url": "https://github.com/php-fig/http-message.git",
+                "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a",
-                "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a",
+                "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
+                "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.3.0"
             },
-            "require-dev": {
-                "phpunit/phpunit": "~4.5"
-            },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.5.x-dev"
+                    "dev-master": "1.0.x-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
-                    "org\\bovigo\\vfs\\": "src/main/php"
+                "psr-4": {
+                    "Psr\\Http\\Message\\": "src/"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Frank Kleine",
-                    "homepage": "http://frankkleine.de/",
-                    "role": "Developer"
+                    "name": "PHP-FIG",
+                    "homepage": "http://www.php-fig.org/"
                 }
             ],
-            "description": "Virtual file system to mock the real file system in unit tests.",
-            "homepage": "http://vfs.bovigo.org/",
-            "time": "2015-03-29 11:19:49"
-        },
-        {
-            "name": "phpdocumentor/reflection-docblock",
-            "version": "2.0.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-                "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
-            },
+            "description": "Common interface for HTTP messages",
+            "keywords": [
+                "http",
+                "http-message",
+                "psr",
+                "psr-7",
+                "request",
+                "response"
+            ],
+            "time": "2015-05-04 20:22:00"
+        },
+        {
+            "name": "psr/log",
+            "version": "1.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/log.git",
+                "reference": "1.0.0"
+            },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
-                "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
+                "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
+                "reference": "1.0.0",
                 "shasum": ""
             },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.0"
-            },
-            "suggest": {
-                "dflydev/markdown": "~1.0",
-                "erusev/parsedown": "~1.0"
-            },
             "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.0.x-dev"
-                }
-            },
             "autoload": {
                 "psr-0": {
-                    "phpDocumentor": [
-                        "src/"
-                    ]
+                    "Psr\\Log\\": ""
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -1111,43 +881,49 @@
             ],
             "authors": [
                 {
-                    "name": "Mike van Riel",
-                    "email": "mike.vanriel@naenius.com"
+                    "name": "PHP-FIG",
+                    "homepage": "http://www.php-fig.org/"
                 }
             ],
-            "time": "2015-02-03 12:10:50"
+            "description": "Common interface for logging libraries",
+            "keywords": [
+                "log",
+                "psr",
+                "psr-3"
+            ],
+            "time": "2012-12-21 11:40:51"
         },
         {
-            "name": "phpspec/prophecy",
-            "version": "1.4.0",
+            "name": "stack/builder",
+            "version": "v1.0.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/phpspec/prophecy.git",
-                "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5"
+                "url": "https://github.com/stackphp/builder.git",
+                "reference": "b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
-                "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
+                "url": "https://api.github.com/repos/stackphp/builder/zipball/b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7",
+                "reference": "b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7",
                 "shasum": ""
             },
             "require": {
-                "doctrine/instantiator": "^1.0.2",
-                "phpdocumentor/reflection-docblock": "~2.0",
-                "sebastian/comparator": "~1.1"
+                "php": ">=5.3.0",
+                "symfony/http-foundation": "~2.1",
+                "symfony/http-kernel": "~2.1"
             },
             "require-dev": {
-                "phpspec/phpspec": "~2.0"
+                "silex/silex": "~1.0"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.4.x-dev"
+                    "dev-master": "1.0-dev"
                 }
             },
             "autoload": {
                 "psr-0": {
-                    "Prophecy\\": "src/"
+                    "Stack": "src"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -1156,426 +932,442 @@
             ],
             "authors": [
                 {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                },
-                {
-                    "name": "Marcello Duarte",
-                    "email": "marcello.duarte@gmail.com"
+                    "name": "Igor Wiedler",
+                    "email": "igor@wiedler.ch",
+                    "homepage": "http://wiedler.ch/igor/"
                 }
             ],
-            "description": "Highly opinionated mocking framework for PHP 5.3+",
-            "homepage": "https://github.com/phpspec/prophecy",
+            "description": "Builder for stack middlewares based on HttpKernelInterface.",
             "keywords": [
-                "Double",
-                "Dummy",
-                "fake",
-                "mock",
-                "spy",
-                "stub"
+                "stack"
             ],
-            "time": "2015-03-27 19:31:25"
+            "time": "2014-01-28 19:42:24"
         },
         {
-            "name": "phpunit/php-code-coverage",
-            "version": "2.0.16",
+            "name": "symfony-cmf/routing",
+            "version": "1.3.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-                "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c"
+                "url": "https://github.com/symfony-cmf/Routing.git",
+                "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/934fd03eb6840508231a7f73eb8940cf32c3b66c",
-                "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c",
+                "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/8e87981d72c6930a27585dcd3119f3199f6cb2a6",
+                "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.3.3",
-                "phpunit/php-file-iterator": "~1.3",
-                "phpunit/php-text-template": "~1.2",
-                "phpunit/php-token-stream": "~1.3",
-                "sebastian/environment": "~1.0",
-                "sebastian/version": "~1.0"
+                "psr/log": "~1.0",
+                "symfony/http-kernel": "~2.2",
+                "symfony/routing": "~2.2"
             },
             "require-dev": {
-                "ext-xdebug": ">=2.1.4",
-                "phpunit/phpunit": "~4"
+                "symfony/config": "~2.2",
+                "symfony/dependency-injection": "~2.0@stable",
+                "symfony/event-dispatcher": "~2.1"
             },
             "suggest": {
-                "ext-dom": "*",
-                "ext-xdebug": ">=2.2.1",
-                "ext-xmlwriter": "*"
+                "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version ~2.1"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.0.x-dev"
+                    "dev-master": "1.3-dev"
                 }
             },
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Cmf\\Component\\Routing\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
+                    "name": "Symfony CMF Community",
+                    "homepage": "https://github.com/symfony-cmf/Routing/contributors"
                 }
             ],
-            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
-            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+            "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers",
+            "homepage": "http://cmf.symfony.com",
             "keywords": [
-                "coverage",
-                "testing",
-                "xunit"
+                "database",
+                "routing"
             ],
-            "time": "2015-04-11 04:35:00"
+            "time": "2014-10-20 20:55:17"
         },
         {
-            "name": "phpunit/php-file-iterator",
-            "version": "1.4.0",
+            "name": "symfony/browser-kit",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-                "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb"
+                "url": "https://github.com/symfony/BrowserKit.git",
+                "reference": "176905d3d74c2f99e6ab70f4f5a89460532495ae"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb",
-                "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb",
+                "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/176905d3d74c2f99e6ab70f4f5a89460532495ae",
+                "reference": "176905d3d74c2f99e6ab70f4f5a89460532495ae",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9",
+                "symfony/dom-crawler": "~2.0,>=2.0.5"
+            },
+            "require-dev": {
+                "symfony/css-selector": "~2.0,>=2.0.5",
+                "symfony/phpunit-bridge": "~2.7",
+                "symfony/process": "~2.0,>=2.0.5"
+            },
+            "suggest": {
+                "symfony/process": ""
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.4.x-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\BrowserKit\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
-            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
-            "keywords": [
-                "filesystem",
-                "iterator"
-            ],
-            "time": "2015-04-02 05:19:05"
+            "description": "Symfony BrowserKit Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-09 16:07:40"
         },
         {
-            "name": "phpunit/php-text-template",
-            "version": "1.2.0",
+            "name": "symfony/class-loader",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-text-template.git",
-                "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a"
+                "url": "https://github.com/symfony/ClassLoader.git",
+                "reference": "2fccbc544997340808801a7410cdcb96dd12edc4"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
-                "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
+                "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/2fccbc544997340808801a7410cdcb96dd12edc4",
+                "reference": "2fccbc544997340808801a7410cdcb96dd12edc4",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
+            },
+            "require-dev": {
+                "symfony/finder": "~2.0,>=2.0.5",
+                "symfony/phpunit-bridge": "~2.7"
             },
             "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.7-dev"
+                }
+            },
             "autoload": {
-                "classmap": [
-                    "Text/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\ClassLoader\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
-            "include-path": [
-                ""
-            ],
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Simple template engine.",
-            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
-            "keywords": [
-                "template"
-            ],
-            "time": "2014-01-30 17:20:04"
+            "description": "Symfony ClassLoader Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-06-25 12:52:11"
         },
         {
-            "name": "phpunit/php-timer",
-            "version": "1.0.5",
+            "name": "symfony/console",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-timer.git",
-                "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c"
+                "url": "https://github.com/symfony/Console.git",
+                "reference": "8cf484449130cabfd98dcb4694ca9945802a21ed"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
-                "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
+                "url": "https://api.github.com/repos/symfony/Console/zipball/8cf484449130cabfd98dcb4694ca9945802a21ed",
+                "reference": "8cf484449130cabfd98dcb4694ca9945802a21ed",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
+            },
+            "require-dev": {
+                "psr/log": "~1.0",
+                "symfony/event-dispatcher": "~2.1",
+                "symfony/phpunit-bridge": "~2.7",
+                "symfony/process": "~2.1"
+            },
+            "suggest": {
+                "psr/log": "For using the console logger",
+                "symfony/event-dispatcher": "",
+                "symfony/process": ""
             },
             "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.7-dev"
+                }
+            },
             "autoload": {
-                "classmap": [
-                    "PHP/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\Console\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
-            "include-path": [
-                ""
-            ],
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Utility class for timing",
-            "homepage": "https://github.com/sebastianbergmann/php-timer/",
-            "keywords": [
-                "timer"
-            ],
-            "time": "2013-08-02 07:42:54"
+            "description": "Symfony Console Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-09 16:07:40"
         },
         {
-            "name": "phpunit/php-token-stream",
-            "version": "1.4.1",
+            "name": "symfony/css-selector",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-token-stream.git",
-                "reference": "eab81d02569310739373308137284e0158424330"
+                "url": "https://github.com/symfony/CssSelector.git",
+                "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330",
-                "reference": "eab81d02569310739373308137284e0158424330",
+                "url": "https://api.github.com/repos/symfony/CssSelector/zipball/0b5c07b516226b7dd32afbbc82fe547a469c5092",
+                "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092",
                 "shasum": ""
             },
             "require": {
-                "ext-tokenizer": "*",
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "require-dev": {
-                "phpunit/phpunit": "~4.2"
+                "symfony/phpunit-bridge": "~2.7"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.4-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\CssSelector\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
+                    "name": "Jean-François Simon",
+                    "email": "jeanfrancois.simon@sensiolabs.com"
+                },
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Wrapper around PHP's tokenizer extension.",
-            "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
-            "keywords": [
-                "tokenizer"
-            ],
-            "time": "2015-04-08 04:46:07"
+            "description": "Symfony CssSelector Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-05-15 13:33:16"
         },
         {
-            "name": "phpunit/phpunit",
-            "version": "4.6.4",
+            "name": "symfony/debug",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "163232991e652e6efed2f8470326fffa61e848e2"
+                "url": "https://github.com/symfony/Debug.git",
+                "reference": "9daa1bf9f7e615fa2fba30357e479a90141222e3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/163232991e652e6efed2f8470326fffa61e848e2",
-                "reference": "163232991e652e6efed2f8470326fffa61e848e2",
+                "url": "https://api.github.com/repos/symfony/Debug/zipball/9daa1bf9f7e615fa2fba30357e479a90141222e3",
+                "reference": "9daa1bf9f7e615fa2fba30357e479a90141222e3",
                 "shasum": ""
             },
             "require": {
-                "ext-dom": "*",
-                "ext-json": "*",
-                "ext-pcre": "*",
-                "ext-reflection": "*",
-                "ext-spl": "*",
-                "php": ">=5.3.3",
-                "phpspec/prophecy": "~1.3,>=1.3.1",
-                "phpunit/php-code-coverage": "~2.0,>=2.0.11",
-                "phpunit/php-file-iterator": "~1.4",
-                "phpunit/php-text-template": "~1.2",
-                "phpunit/php-timer": "~1.0",
-                "phpunit/phpunit-mock-objects": "~2.3",
-                "sebastian/comparator": "~1.1",
-                "sebastian/diff": "~1.2",
-                "sebastian/environment": "~1.2",
-                "sebastian/exporter": "~1.2",
-                "sebastian/global-state": "~1.0",
-                "sebastian/version": "~1.0",
-                "symfony/yaml": "~2.1|~3.0"
+                "php": ">=5.3.9",
+                "psr/log": "~1.0"
+            },
+            "conflict": {
+                "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
+            },
+            "require-dev": {
+                "symfony/class-loader": "~2.2",
+                "symfony/http-foundation": "~2.1",
+                "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2",
+                "symfony/phpunit-bridge": "~2.7"
             },
             "suggest": {
-                "phpunit/php-invoker": "~1.1"
+                "symfony/http-foundation": "",
+                "symfony/http-kernel": ""
             },
-            "bin": [
-                "phpunit"
-            ],
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "4.6.x-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\Debug\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "The PHP Unit Testing framework.",
-            "homepage": "https://phpunit.de/",
-            "keywords": [
-                "phpunit",
-                "testing",
-                "xunit"
-            ],
-            "time": "2015-04-11 05:23:21"
+            "description": "Symfony Debug Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-09 16:07:40"
         },
         {
-            "name": "phpunit/phpunit-mock-objects",
-            "version": "2.3.1",
+            "name": "symfony/dependency-injection",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-                "reference": "74ffb87f527f24616f72460e54b595f508dccb5c"
+                "url": "https://github.com/symfony/DependencyInjection.git",
+                "reference": "d56b1b89a0c8b34a6eca6211ec76c43256ec4030"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c",
-                "reference": "74ffb87f527f24616f72460e54b595f508dccb5c",
+                "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/d56b1b89a0c8b34a6eca6211ec76c43256ec4030",
+                "reference": "d56b1b89a0c8b34a6eca6211ec76c43256ec4030",
                 "shasum": ""
             },
             "require": {
-                "doctrine/instantiator": "~1.0,>=1.0.2",
-                "php": ">=5.3.3",
-                "phpunit/php-text-template": "~1.2"
+                "php": ">=5.3.9"
+            },
+            "conflict": {
+                "symfony/expression-language": "<2.6"
             },
             "require-dev": {
-                "phpunit/phpunit": "~4.4"
+                "symfony/config": "~2.2",
+                "symfony/expression-language": "~2.6",
+                "symfony/phpunit-bridge": "~2.7",
+                "symfony/yaml": "~2.1"
             },
             "suggest": {
-                "ext-soap": "*"
+                "symfony/config": "",
+                "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
+                "symfony/yaml": ""
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.3.x-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\DependencyInjection\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Mock Object library for PHPUnit",
-            "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
-            "keywords": [
-                "mock",
-                "xunit"
-            ],
-            "time": "2015-04-02 05:36:41"
+            "description": "Symfony DependencyInjection Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-09 16:07:40"
         },
         {
-            "name": "psr/http-message",
-            "version": "1.0",
+            "name": "symfony/dom-crawler",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/php-fig/http-message.git",
-                "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298"
+                "url": "https://github.com/symfony/DomCrawler.git",
+                "reference": "9dabece63182e95c42b06967a0d929a5df78bc35"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
-                "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
-                "shasum": ""
+                "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/9dabece63182e95c42b06967a0d929a5df78bc35",
+                "reference": "9dabece63182e95c42b06967a0d929a5df78bc35",
+                "shasum": ""
             },
             "require": {
-                "php": ">=5.3.0"
+                "php": ">=5.3.9"
+            },
+            "require-dev": {
+                "symfony/css-selector": "~2.3",
+                "symfony/phpunit-bridge": "~2.7"
+            },
+            "suggest": {
+                "symfony/css-selector": ""
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.0.x-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
                 "psr-4": {
-                    "Psr\\Http\\Message\\": "src/"
+                    "Symfony\\Component\\DomCrawler\\": ""
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -1584,39 +1376,56 @@
             ],
             "authors": [
                 {
-                    "name": "PHP-FIG",
-                    "homepage": "http://www.php-fig.org/"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Common interface for HTTP messages",
-            "keywords": [
-                "http",
-                "http-message",
-                "psr",
-                "psr-7",
-                "request",
-                "response"
-            ],
-            "time": "2015-05-04 20:22:00"
+            "description": "Symfony DomCrawler Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-09 16:07:40"
         },
         {
-            "name": "psr/log",
-            "version": "1.0.0",
+            "name": "symfony/event-dispatcher",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/php-fig/log.git",
-                "reference": "1.0.0"
+                "url": "https://github.com/symfony/EventDispatcher.git",
+                "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
-                "reference": "1.0.0",
+                "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/9310b5f9a87ec2ea75d20fec0b0017c77c66dac3",
+                "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3",
                 "shasum": ""
             },
+            "require": {
+                "php": ">=5.3.9"
+            },
+            "require-dev": {
+                "psr/log": "~1.0",
+                "symfony/config": "~2.0,>=2.0.5",
+                "symfony/dependency-injection": "~2.6",
+                "symfony/expression-language": "~2.6",
+                "symfony/phpunit-bridge": "~2.7",
+                "symfony/stopwatch": "~2.3"
+            },
+            "suggest": {
+                "symfony/dependency-injection": "",
+                "symfony/http-kernel": ""
+            },
             "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.7-dev"
+                }
+            },
             "autoload": {
-                "psr-0": {
-                    "Psr\\Log\\": ""
+                "psr-4": {
+                    "Symfony\\Component\\EventDispatcher\\": ""
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -1625,476 +1434,497 @@
             ],
             "authors": [
                 {
-                    "name": "PHP-FIG",
-                    "homepage": "http://www.php-fig.org/"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Common interface for logging libraries",
-            "keywords": [
-                "log",
-                "psr",
-                "psr-3"
-            ],
-            "time": "2012-12-21 11:40:51"
+            "description": "Symfony EventDispatcher Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-06-18 19:21:56"
         },
         {
-            "name": "sebastian/comparator",
-            "version": "1.1.1",
+            "name": "symfony/http-foundation",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/comparator.git",
-                "reference": "1dd8869519a225f7f2b9eb663e225298fade819e"
+                "url": "https://github.com/symfony/HttpFoundation.git",
+                "reference": "88903c0531b90d4ecd90282b18f08c0c77bde0b2"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e",
-                "reference": "1dd8869519a225f7f2b9eb663e225298fade819e",
+                "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/88903c0531b90d4ecd90282b18f08c0c77bde0b2",
+                "reference": "88903c0531b90d4ecd90282b18f08c0c77bde0b2",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3",
-                "sebastian/diff": "~1.2",
-                "sebastian/exporter": "~1.2"
+                "php": ">=5.3.9"
             },
             "require-dev": {
-                "phpunit/phpunit": "~4.4"
+                "symfony/expression-language": "~2.4",
+                "symfony/phpunit-bridge": "~2.7"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.1.x-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\HttpFoundation\\": ""
+                },
                 "classmap": [
-                    "src/"
+                    "Resources/stubs"
                 ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
                 },
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Provides the functionality to compare PHP values for equality",
-            "homepage": "http://www.github.com/sebastianbergmann/comparator",
-            "keywords": [
-                "comparator",
-                "compare",
-                "equality"
-            ],
-            "time": "2015-01-29 16:28:08"
+            "description": "Symfony HttpFoundation Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-09 16:07:40"
         },
         {
-            "name": "sebastian/diff",
-            "version": "1.3.0",
+            "name": "symfony/http-kernel",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/diff.git",
-                "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3"
+                "url": "https://github.com/symfony/HttpKernel.git",
+                "reference": "4a8a6f2a847475b3a38da50363a07f69b5cbf37e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3",
-                "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3",
+                "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/4a8a6f2a847475b3a38da50363a07f69b5cbf37e",
+                "reference": "4a8a6f2a847475b3a38da50363a07f69b5cbf37e",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9",
+                "psr/log": "~1.0",
+                "symfony/debug": "~2.6,>=2.6.2",
+                "symfony/event-dispatcher": "~2.5.9|~2.6,>=2.6.2",
+                "symfony/http-foundation": "~2.5,>=2.5.4"
+            },
+            "conflict": {
+                "symfony/config": "<2.7"
             },
             "require-dev": {
-                "phpunit/phpunit": "~4.2"
+                "symfony/browser-kit": "~2.3",
+                "symfony/class-loader": "~2.1",
+                "symfony/config": "~2.7",
+                "symfony/console": "~2.3",
+                "symfony/css-selector": "~2.0,>=2.0.5",
+                "symfony/dependency-injection": "~2.2",
+                "symfony/dom-crawler": "~2.0,>=2.0.5",
+                "symfony/expression-language": "~2.4",
+                "symfony/finder": "~2.0,>=2.0.5",
+                "symfony/phpunit-bridge": "~2.7",
+                "symfony/process": "~2.0,>=2.0.5",
+                "symfony/routing": "~2.2",
+                "symfony/stopwatch": "~2.3",
+                "symfony/templating": "~2.2",
+                "symfony/translation": "~2.0,>=2.0.5",
+                "symfony/var-dumper": "~2.6"
+            },
+            "suggest": {
+                "symfony/browser-kit": "",
+                "symfony/class-loader": "",
+                "symfony/config": "",
+                "symfony/console": "",
+                "symfony/dependency-injection": "",
+                "symfony/finder": "",
+                "symfony/var-dumper": ""
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.3-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\HttpKernel\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Kore Nordmann",
-                    "email": "mail@kore-nordmann.de"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
                 },
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Diff implementation",
-            "homepage": "http://www.github.com/sebastianbergmann/diff",
-            "keywords": [
-                "diff"
-            ],
-            "time": "2015-02-22 15:13:53"
+            "description": "Symfony HttpKernel Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-13 19:27:49"
         },
         {
-            "name": "sebastian/environment",
-            "version": "1.2.2",
+            "name": "symfony/process",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/environment.git",
-                "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e"
+                "url": "https://github.com/symfony/Process.git",
+                "reference": "48aeb0e48600321c272955132d7606ab0a49adb3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e",
-                "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e",
+                "url": "https://api.github.com/repos/symfony/Process/zipball/48aeb0e48600321c272955132d7606ab0a49adb3",
+                "reference": "48aeb0e48600321c272955132d7606ab0a49adb3",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "require-dev": {
-                "phpunit/phpunit": "~4.4"
+                "symfony/phpunit-bridge": "~2.7"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.3.x-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\Process\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Provides functionality to handle HHVM/PHP environments",
-            "homepage": "http://www.github.com/sebastianbergmann/environment",
-            "keywords": [
-                "Xdebug",
-                "environment",
-                "hhvm"
-            ],
-            "time": "2015-01-01 10:01:08"
+            "description": "Symfony Process Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-01 11:25:50"
         },
         {
-            "name": "sebastian/exporter",
-            "version": "1.2.0",
+            "name": "symfony/psr-http-message-bridge",
+            "version": "v0.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/exporter.git",
-                "reference": "84839970d05254c73cde183a721c7af13aede943"
+                "url": "https://github.com/symfony/psr-http-message-bridge.git",
+                "reference": "dc7e308e1dc2898a46776e2221a643cb08315453"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943",
-                "reference": "84839970d05254c73cde183a721c7af13aede943",
+                "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/dc7e308e1dc2898a46776e2221a643cb08315453",
+                "reference": "dc7e308e1dc2898a46776e2221a643cb08315453",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.3.3",
-                "sebastian/recursion-context": "~1.0"
+                "psr/http-message": "~1.0",
+                "symfony/http-foundation": "~2.3|~3.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "~4.4"
+                "symfony/phpunit-bridge": "~2.7|~3.0"
             },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.2.x-dev"
-                }
+            "suggest": {
+                "zendframework/zend-diactoros": "To use the Zend Diactoros factory"
             },
+            "type": "symfony-bridge",
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Bridge\\PsrHttpMessage\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
+                    "name": "Symfony Community",
+                    "homepage": "http://symfony.com/contributors"
                 },
                 {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
                 }
             ],
-            "description": "Provides the functionality to export PHP variables for visualization",
-            "homepage": "http://www.github.com/sebastianbergmann/exporter",
+            "description": "PSR HTTP message bridge",
+            "homepage": "http://symfony.com",
             "keywords": [
-                "export",
-                "exporter"
+                "http",
+                "http-message",
+                "psr-7"
             ],
-            "time": "2015-01-27 07:23:06"
+            "time": "2015-05-29 17:57:12"
         },
         {
-            "name": "sebastian/global-state",
-            "version": "1.0.0",
+            "name": "symfony/routing",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/global-state.git",
-                "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01"
+                "url": "https://github.com/symfony/Routing.git",
+                "reference": "ea9134f277162b02e5f80ac058b75a77637b0d26"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
-                "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
+                "url": "https://api.github.com/repos/symfony/Routing/zipball/ea9134f277162b02e5f80ac058b75a77637b0d26",
+                "reference": "ea9134f277162b02e5f80ac058b75a77637b0d26",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
+            },
+            "conflict": {
+                "symfony/config": "<2.7"
             },
             "require-dev": {
-                "phpunit/phpunit": "~4.2"
+                "doctrine/annotations": "~1.0",
+                "doctrine/common": "~2.2",
+                "psr/log": "~1.0",
+                "symfony/config": "~2.7",
+                "symfony/expression-language": "~2.4",
+                "symfony/http-foundation": "~2.3",
+                "symfony/phpunit-bridge": "~2.7",
+                "symfony/yaml": "~2.0,>=2.0.5"
             },
             "suggest": {
-                "ext-uopz": "*"
+                "doctrine/annotations": "For using the annotation loader",
+                "symfony/config": "For using the all-in-one router or any loader",
+                "symfony/expression-language": "For using expression matching",
+                "symfony/yaml": "For using the YAML loader"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.0-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\Routing\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Snapshotting of global state",
-            "homepage": "http://www.github.com/sebastianbergmann/global-state",
+            "description": "Symfony Routing Component",
+            "homepage": "https://symfony.com",
             "keywords": [
-                "global state"
+                "router",
+                "routing",
+                "uri",
+                "url"
             ],
-            "time": "2014-10-06 09:23:50"
+            "time": "2015-07-09 16:07:40"
         },
         {
-            "name": "sebastian/recursion-context",
-            "version": "1.0.0",
+            "name": "symfony/serializer",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/recursion-context.git",
-                "reference": "3989662bbb30a29d20d9faa04a846af79b276252"
+                "url": "https://github.com/symfony/Serializer.git",
+                "reference": "4ce2211d3a5d3a3605de7cc040af2808882f3c95"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252",
-                "reference": "3989662bbb30a29d20d9faa04a846af79b276252",
+                "url": "https://api.github.com/repos/symfony/Serializer/zipball/4ce2211d3a5d3a3605de7cc040af2808882f3c95",
+                "reference": "4ce2211d3a5d3a3605de7cc040af2808882f3c95",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3"
+                "php": ">=5.3.9"
             },
             "require-dev": {
-                "phpunit/phpunit": "~4.4"
+                "doctrine/annotations": "~1.0",
+                "doctrine/cache": "~1.0",
+                "symfony/config": "~2.2",
+                "symfony/phpunit-bridge": "~2.7",
+                "symfony/property-access": "~2.3",
+                "symfony/yaml": "~2.0"
+            },
+            "suggest": {
+                "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
+                "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
+                "symfony/config": "For using the XML mapping loader.",
+                "symfony/property-access": "For using the ObjectNormalizer.",
+                "symfony/yaml": "For using the default YAML mapping loader."
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.0.x-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\Serializer\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
                 },
                 {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Provides functionality to recursively process PHP variables",
-            "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
-            "time": "2015-01-24 09:48:32"
+            "description": "Symfony Serializer Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-08 06:12:51"
         },
         {
-            "name": "sebastian/version",
-            "version": "1.0.5",
+            "name": "symfony/translation",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/sebastianbergmann/version.git",
-                "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4"
+                "url": "https://github.com/symfony/Translation.git",
+                "reference": "c8dc34cc936152c609cdd722af317e4239d10dd6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4",
-                "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4",
+                "url": "https://api.github.com/repos/symfony/Translation/zipball/c8dc34cc936152c609cdd722af317e4239d10dd6",
+                "reference": "c8dc34cc936152c609cdd722af317e4239d10dd6",
                 "shasum": ""
             },
+            "require": {
+                "php": ">=5.3.9"
+            },
+            "conflict": {
+                "symfony/config": "<2.7"
+            },
+            "require-dev": {
+                "psr/log": "~1.0",
+                "symfony/config": "~2.7",
+                "symfony/intl": "~2.3",
+                "symfony/phpunit-bridge": "~2.7",
+                "symfony/yaml": "~2.2"
+            },
+            "suggest": {
+                "psr/log": "To use logging capability in translator",
+                "symfony/config": "",
+                "symfony/yaml": ""
+            },
             "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.7-dev"
+                }
+            },
             "autoload": {
-                "classmap": [
-                    "src/"
-                ]
+                "psr-4": {
+                    "Symfony\\Component\\Translation\\": ""
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-3-Clause"
+                "MIT"
             ],
             "authors": [
                 {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
-            "homepage": "https://github.com/sebastianbergmann/version",
-            "time": "2015-02-24 06:35:25"
+            "description": "Symfony Translation Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-09 16:07:40"
         },
         {
-            "name": "stack/builder",
-            "version": "v1.0.2",
+            "name": "symfony/validator",
+            "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/stackphp/builder.git",
-                "reference": "b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7"
+                "url": "https://github.com/symfony/Validator.git",
+                "reference": "26a190dbdf7a19fc2251c2d59547a717918b6c77"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/stackphp/builder/zipball/b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7",
-                "reference": "b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.0",
-                "symfony/http-foundation": "~2.1",
-                "symfony/http-kernel": "~2.1"
-            },
-            "require-dev": {
-                "silex/silex": "~1.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Stack": "src"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Igor Wiedler",
-                    "email": "igor@wiedler.ch",
-                    "homepage": "http://wiedler.ch/igor/"
-                }
-            ],
-            "description": "Builder for stack middlewares based on HttpKernelInterface.",
-            "keywords": [
-                "stack"
-            ],
-            "time": "2014-01-28 19:42:24"
-        },
-        {
-            "name": "symfony-cmf/routing",
-            "version": "1.3.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony-cmf/Routing.git",
-                "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/8e87981d72c6930a27585dcd3119f3199f6cb2a6",
-                "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6",
+                "url": "https://api.github.com/repos/symfony/Validator/zipball/26a190dbdf7a19fc2251c2d59547a717918b6c77",
+                "reference": "26a190dbdf7a19fc2251c2d59547a717918b6c77",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3",
-                "psr/log": "~1.0",
-                "symfony/http-kernel": "~2.2",
-                "symfony/routing": "~2.2"
+                "php": ">=5.3.9",
+                "symfony/translation": "~2.4"
             },
             "require-dev": {
+                "doctrine/annotations": "~1.0",
+                "doctrine/cache": "~1.0",
+                "egulias/email-validator": "~1.2,>=1.2.1",
                 "symfony/config": "~2.2",
-                "symfony/dependency-injection": "~2.0@stable",
-                "symfony/event-dispatcher": "~2.1"
+                "symfony/expression-language": "~2.4",
+                "symfony/http-foundation": "~2.1",
+                "symfony/intl": "~2.3",
+                "symfony/phpunit-bridge": "~2.7",
+                "symfony/property-access": "~2.3",
+                "symfony/yaml": "~2.0,>=2.0.5"
             },
             "suggest": {
-                "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version ~2.1"
+                "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
+                "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
+                "egulias/email-validator": "Strict (RFC compliant) email validation",
+                "symfony/config": "",
+                "symfony/expression-language": "For using the 2.4 Expression validator",
+                "symfony/http-foundation": "",
+                "symfony/intl": "",
+                "symfony/property-access": "For using the 2.4 Validator API",
+                "symfony/yaml": ""
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.3-dev"
+                    "dev-master": "2.7-dev"
                 }
             },
             "autoload": {
                 "psr-4": {
-                    "Symfony\\Cmf\\Component\\Routing\\": ""
+                    "Symfony\\Component\\Validator\\": ""
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -2103,43 +1933,37 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony CMF Community",
-                    "homepage": "https://github.com/symfony-cmf/Routing/contributors"
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers",
-            "homepage": "http://cmf.symfony.com",
-            "keywords": [
-                "database",
-                "routing"
-            ],
-            "time": "2014-10-20 20:55:17"
+            "description": "Symfony Validator Component",
+            "homepage": "https://symfony.com",
+            "time": "2015-07-02 06:17:05"
         },
         {
-            "name": "symfony/browser-kit",
+            "name": "symfony/yaml",
             "version": "v2.7.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/BrowserKit.git",
-                "reference": "176905d3d74c2f99e6ab70f4f5a89460532495ae"
+                "url": "https://github.com/symfony/Yaml.git",
+                "reference": "4bfbe0ed3909bfddd75b70c094391ec1f142f860"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/176905d3d74c2f99e6ab70f4f5a89460532495ae",
-                "reference": "176905d3d74c2f99e6ab70f4f5a89460532495ae",
+                "url": "https://api.github.com/repos/symfony/Yaml/zipball/4bfbe0ed3909bfddd75b70c094391ec1f142f860",
+                "reference": "4bfbe0ed3909bfddd75b70c094391ec1f142f860",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9",
-                "symfony/dom-crawler": "~2.0,>=2.0.5"
+                "php": ">=5.3.9"
             },
             "require-dev": {
-                "symfony/css-selector": "~2.0,>=2.0.5",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/process": "~2.0,>=2.0.5"
-            },
-            "suggest": {
-                "symfony/process": ""
+                "symfony/phpunit-bridge": "~2.7"
             },
             "type": "library",
             "extra": {
@@ -2149,7 +1973,7 @@
             },
             "autoload": {
                 "psr-4": {
-                    "Symfony\\Component\\BrowserKit\\": ""
+                    "Symfony\\Component\\Yaml\\": ""
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -2166,323 +1990,301 @@
                     "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Symfony BrowserKit Component",
+            "description": "Symfony Yaml Component",
             "homepage": "https://symfony.com",
-            "time": "2015-07-09 16:07:40"
+            "time": "2015-07-01 11:25:50"
         },
         {
-            "name": "symfony/class-loader",
-            "version": "v2.7.2",
+            "name": "twig/twig",
+            "version": "v1.18.1",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/ClassLoader.git",
-                "reference": "2fccbc544997340808801a7410cdcb96dd12edc4"
+                "url": "https://github.com/twigphp/Twig.git",
+                "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/2fccbc544997340808801a7410cdcb96dd12edc4",
-                "reference": "2fccbc544997340808801a7410cdcb96dd12edc4",
+                "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f",
+                "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "symfony/finder": "~2.0,>=2.0.5",
-                "symfony/phpunit-bridge": "~2.7"
+                "php": ">=5.2.7"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "1.18-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\ClassLoader\\": ""
+                "psr-0": {
+                    "Twig_": "lib/"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "MIT"
+                "BSD-3-Clause"
             ],
             "authors": [
                 {
                     "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
+                    "email": "fabien@symfony.com",
+                    "homepage": "http://fabien.potencier.org",
+                    "role": "Lead Developer"
                 },
                 {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Armin Ronacher",
+                    "email": "armin.ronacher@active-4.com",
+                    "role": "Project Founder"
+                },
+                {
+                    "name": "Twig Team",
+                    "homepage": "http://twig.sensiolabs.org/contributors",
+                    "role": "Contributors"
                 }
             ],
-            "description": "Symfony ClassLoader Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-06-25 12:52:11"
+            "description": "Twig, the flexible, fast, and secure template language for PHP",
+            "homepage": "http://twig.sensiolabs.org",
+            "keywords": [
+                "templating"
+            ],
+            "time": "2015-04-19 08:30:27"
         },
         {
-            "name": "symfony/console",
-            "version": "v2.7.2",
+            "name": "zendframework/zend-diactoros",
+            "version": "1.1.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/Console.git",
-                "reference": "8cf484449130cabfd98dcb4694ca9945802a21ed"
+                "url": "https://github.com/zendframework/zend-diactoros.git",
+                "reference": "df65f70fc36f24d51a90ad706a09cd9b74fc4dd8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Console/zipball/8cf484449130cabfd98dcb4694ca9945802a21ed",
-                "reference": "8cf484449130cabfd98dcb4694ca9945802a21ed",
+                "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/df65f70fc36f24d51a90ad706a09cd9b74fc4dd8",
+                "reference": "df65f70fc36f24d51a90ad706a09cd9b74fc4dd8",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
+                "php": ">=5.4",
+                "psr/http-message": "~1.0"
             },
-            "require-dev": {
-                "psr/log": "~1.0",
-                "symfony/event-dispatcher": "~2.1",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/process": "~2.1"
+            "provide": {
+                "psr/http-message-implementation": "~1.0.0"
             },
-            "suggest": {
-                "psr/log": "For using the console logger",
-                "symfony/event-dispatcher": "",
-                "symfony/process": ""
+            "require-dev": {
+                "phpunit/phpunit": "~4.6",
+                "squizlabs/php_codesniffer": "^2.3.1"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "1.0-dev",
+                    "dev-develop": "1.1-dev"
                 }
             },
             "autoload": {
                 "psr-4": {
-                    "Symfony\\Component\\Console\\": ""
+                    "Zend\\Diactoros\\": "src/"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "MIT"
+                "BSD-2-Clause"
             ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
+            "description": "PSR HTTP Message implementations",
+            "homepage": "https://github.com/zendframework/zend-diactoros",
+            "keywords": [
+                "http",
+                "psr",
+                "psr-7"
             ],
-            "description": "Symfony Console Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-09 16:07:40"
+            "time": "2015-06-24 20:42:54"
         },
         {
-            "name": "symfony/css-selector",
-            "version": "v2.7.2",
+            "name": "zendframework/zend-escaper",
+            "version": "2.4.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/CssSelector.git",
-                "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092"
+                "url": "https://github.com/zendframework/zend-escaper.git",
+                "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/CssSelector/zipball/0b5c07b516226b7dd32afbbc82fe547a469c5092",
-                "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092",
+                "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/15e5769e4fcdb4bf07ebd76500810e7070e23a97",
+                "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "symfony/phpunit-bridge": "~2.7"
+                "php": ">=5.3.23"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "2.3-dev",
+                    "dev-develop": "2.4-dev"
                 }
             },
             "autoload": {
                 "psr-4": {
-                    "Symfony\\Component\\CssSelector\\": ""
+                    "Zend\\Escaper\\": ""
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "MIT"
+                "BSD-3-Clause"
             ],
-            "authors": [
-                {
-                    "name": "Jean-François Simon",
-                    "email": "jeanfrancois.simon@sensiolabs.com"
-                },
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
+            "homepage": "https://github.com/zendframework/zf2",
+            "keywords": [
+                "escaper",
+                "zf2"
             ],
-            "description": "Symfony CssSelector Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-05-15 13:33:16"
+            "time": "2015-04-01 18:02:07"
         },
         {
-            "name": "symfony/debug",
-            "version": "v2.7.2",
+            "name": "zendframework/zend-feed",
+            "version": "2.4.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/Debug.git",
-                "reference": "9daa1bf9f7e615fa2fba30357e479a90141222e3"
+                "url": "https://github.com/zendframework/zend-feed.git",
+                "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Debug/zipball/9daa1bf9f7e615fa2fba30357e479a90141222e3",
-                "reference": "9daa1bf9f7e615fa2fba30357e479a90141222e3",
+                "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0f59e560364f1f1fcb09a96874328ae3ff690db2",
+                "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9",
-                "psr/log": "~1.0"
-            },
-            "conflict": {
-                "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
+                "php": ">=5.3.23",
+                "zendframework/zend-escaper": "self.version",
+                "zendframework/zend-stdlib": "self.version"
             },
             "require-dev": {
-                "symfony/class-loader": "~2.2",
-                "symfony/http-foundation": "~2.1",
-                "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2",
-                "symfony/phpunit-bridge": "~2.7"
+                "zendframework/zend-cache": "self.version",
+                "zendframework/zend-db": "self.version",
+                "zendframework/zend-http": "self.version",
+                "zendframework/zend-servicemanager": "self.version",
+                "zendframework/zend-validator": "self.version"
             },
             "suggest": {
-                "symfony/http-foundation": "",
-                "symfony/http-kernel": ""
+                "zendframework/zend-cache": "Zend\\Cache component",
+                "zendframework/zend-db": "Zend\\Db component",
+                "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader",
+                "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations",
+                "zendframework/zend-validator": "Zend\\Validator component"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "2.3-dev",
+                    "dev-develop": "2.4-dev"
                 }
             },
             "autoload": {
                 "psr-4": {
-                    "Symfony\\Component\\Debug\\": ""
+                    "Zend\\Feed\\": ""
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "MIT"
+                "BSD-3-Clause"
             ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
+            "description": "provides functionality for consuming RSS and Atom feeds",
+            "homepage": "https://github.com/zendframework/zf2",
+            "keywords": [
+                "feed",
+                "zf2"
             ],
-            "description": "Symfony Debug Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-09 16:07:40"
+            "time": "2015-04-01 18:09:25"
         },
         {
-            "name": "symfony/dependency-injection",
-            "version": "v2.7.2",
+            "name": "zendframework/zend-stdlib",
+            "version": "2.4.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/DependencyInjection.git",
-                "reference": "d56b1b89a0c8b34a6eca6211ec76c43256ec4030"
+                "url": "https://github.com/zendframework/zend-stdlib.git",
+                "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/d56b1b89a0c8b34a6eca6211ec76c43256ec4030",
-                "reference": "d56b1b89a0c8b34a6eca6211ec76c43256ec4030",
+                "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cf05c5ba75606e47ffee91cedc72778da46f74c3",
+                "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
-            },
-            "conflict": {
-                "symfony/expression-language": "<2.6"
+                "php": ">=5.3.23"
             },
             "require-dev": {
-                "symfony/config": "~2.2",
-                "symfony/expression-language": "~2.6",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/yaml": "~2.1"
+                "zendframework/zend-eventmanager": "self.version",
+                "zendframework/zend-filter": "self.version",
+                "zendframework/zend-serializer": "self.version",
+                "zendframework/zend-servicemanager": "self.version"
             },
             "suggest": {
-                "symfony/config": "",
-                "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
-                "symfony/yaml": ""
+                "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
+                "zendframework/zend-filter": "To support naming strategy hydrator usage",
+                "zendframework/zend-serializer": "Zend\\Serializer component",
+                "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "2.3-dev",
+                    "dev-develop": "2.4-dev"
                 }
             },
             "autoload": {
                 "psr-4": {
-                    "Symfony\\Component\\DependencyInjection\\": ""
+                    "Zend\\Stdlib\\": ""
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "MIT"
+                "BSD-3-Clause"
             ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
+            "homepage": "https://github.com/zendframework/zf2",
+            "keywords": [
+                "stdlib",
+                "zf2"
             ],
-            "description": "Symfony DependencyInjection Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-09 16:07:40"
-        },
+            "time": "2015-04-01 18:09:29"
+        }
+    ],
+    "packages-dev": [
         {
-            "name": "symfony/dom-crawler",
-            "version": "v2.7.2",
+            "name": "behat/mink",
+            "version": "v1.6.1",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/DomCrawler.git",
-                "reference": "9dabece63182e95c42b06967a0d929a5df78bc35"
+                "url": "https://github.com/minkphp/Mink.git",
+                "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/9dabece63182e95c42b06967a0d929a5df78bc35",
-                "reference": "9dabece63182e95c42b06967a0d929a5df78bc35",
+                "url": "https://api.github.com/repos/minkphp/Mink/zipball/8b68523a339ec991bcd638b39dc8f04f808da88a",
+                "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "symfony/css-selector": "~2.3",
-                "symfony/phpunit-bridge": "~2.7"
+                "php": ">=5.3.1",
+                "symfony/css-selector": "~2.0"
             },
             "suggest": {
-                "symfony/css-selector": ""
+                "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
+                "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
+                "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
+                "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "1.6.x-dev"
                 }
             },
             "autoload": {
                 "psr-4": {
-                    "Symfony\\Component\\DomCrawler\\": ""
+                    "Behat\\Mink\\": "src/"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -2491,56 +2293,52 @@
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Konstantin Kudryashov",
+                    "email": "ever.zet@gmail.com",
+                    "homepage": "http://everzet.com"
                 }
             ],
-            "description": "Symfony DomCrawler Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-09 16:07:40"
+            "description": "Browser controller/emulator abstraction for PHP",
+            "homepage": "http://mink.behat.org/",
+            "keywords": [
+                "browser",
+                "testing",
+                "web"
+            ],
+            "time": "2015-02-04 17:02:06"
         },
         {
-            "name": "symfony/event-dispatcher",
-            "version": "v2.7.2",
+            "name": "behat/mink-browserkit-driver",
+            "version": "v1.2.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/EventDispatcher.git",
-                "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3"
+                "url": "https://github.com/minkphp/MinkBrowserKitDriver.git",
+                "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/9310b5f9a87ec2ea75d20fec0b0017c77c66dac3",
-                "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3",
+                "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/aed8f4a596b79014a75254c3e337511c33e38cbd",
+                "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
+                "behat/mink": "~1.6@dev",
+                "php": ">=5.3.1",
+                "symfony/browser-kit": "~2.0",
+                "symfony/dom-crawler": "~2.0"
             },
             "require-dev": {
-                "psr/log": "~1.0",
-                "symfony/config": "~2.0,>=2.0.5",
-                "symfony/dependency-injection": "~2.6",
-                "symfony/expression-language": "~2.6",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/stopwatch": "~2.3"
-            },
-            "suggest": {
-                "symfony/dependency-injection": "",
-                "symfony/http-kernel": ""
+                "silex/silex": "~1.2"
             },
-            "type": "library",
+            "type": "mink-driver",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "1.2.x-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\EventDispatcher\\": ""
+                "psr-0": {
+                    "Behat\\Mink\\Driver": "src/"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -2549,52 +2347,51 @@
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Konstantin Kudryashov",
+                    "email": "ever.zet@gmail.com",
+                    "homepage": "http://everzet.com"
                 }
             ],
-            "description": "Symfony EventDispatcher Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-06-18 19:21:56"
+            "description": "Symfony2 BrowserKit driver for Mink framework",
+            "homepage": "http://mink.behat.org/",
+            "keywords": [
+                "Mink",
+                "Symfony2",
+                "browser",
+                "testing"
+            ],
+            "time": "2014-09-26 11:35:19"
         },
         {
-            "name": "symfony/http-foundation",
-            "version": "v2.7.2",
+            "name": "behat/mink-goutte-driver",
+            "version": "dev-master",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/HttpFoundation.git",
-                "reference": "88903c0531b90d4ecd90282b18f08c0c77bde0b2"
+                "url": "https://github.com/minkphp/MinkGoutteDriver.git",
+                "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/88903c0531b90d4ecd90282b18f08c0c77bde0b2",
-                "reference": "88903c0531b90d4ecd90282b18f08c0c77bde0b2",
+                "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/cc5ce119b5a8e06662f634b35967aff0b0c7dfdd",
+                "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "symfony/expression-language": "~2.4",
-                "symfony/phpunit-bridge": "~2.7"
+                "behat/mink": "~1.6@dev",
+                "behat/mink-browserkit-driver": "~1.2@dev",
+                "fabpot/goutte": "~1.0.4|~2.0|~3.1",
+                "php": ">=5.3.1"
             },
-            "type": "library",
+            "type": "mink-driver",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "1.1.x-dev"
                 }
             },
             "autoload": {
                 "psr-4": {
-                    "Symfony\\Component\\HttpFoundation\\": ""
-                },
-                "classmap": [
-                    "Resources/stubs"
-                ]
+                    "Behat\\Mink\\Driver\\": "src/"
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
@@ -2602,78 +2399,54 @@
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Konstantin Kudryashov",
+                    "email": "ever.zet@gmail.com",
+                    "homepage": "http://everzet.com"
                 }
             ],
-            "description": "Symfony HttpFoundation Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-09 16:07:40"
+            "description": "Goutte driver for Mink framework",
+            "homepage": "http://mink.behat.org/",
+            "keywords": [
+                "browser",
+                "goutte",
+                "headless",
+                "testing"
+            ],
+            "time": "2015-06-27 00:15:11"
         },
         {
-            "name": "symfony/http-kernel",
-            "version": "v2.7.2",
+            "name": "doctrine/instantiator",
+            "version": "1.0.4",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/HttpKernel.git",
-                "reference": "4a8a6f2a847475b3a38da50363a07f69b5cbf37e"
+                "url": "https://github.com/doctrine/instantiator.git",
+                "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/4a8a6f2a847475b3a38da50363a07f69b5cbf37e",
-                "reference": "4a8a6f2a847475b3a38da50363a07f69b5cbf37e",
+                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119",
+                "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9",
-                "psr/log": "~1.0",
-                "symfony/debug": "~2.6,>=2.6.2",
-                "symfony/event-dispatcher": "~2.5.9|~2.6,>=2.6.2",
-                "symfony/http-foundation": "~2.5,>=2.5.4"
-            },
-            "conflict": {
-                "symfony/config": "<2.7"
+                "php": ">=5.3,<8.0-DEV"
             },
             "require-dev": {
-                "symfony/browser-kit": "~2.3",
-                "symfony/class-loader": "~2.1",
-                "symfony/config": "~2.7",
-                "symfony/console": "~2.3",
-                "symfony/css-selector": "~2.0,>=2.0.5",
-                "symfony/dependency-injection": "~2.2",
-                "symfony/dom-crawler": "~2.0,>=2.0.5",
-                "symfony/expression-language": "~2.4",
-                "symfony/finder": "~2.0,>=2.0.5",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/process": "~2.0,>=2.0.5",
-                "symfony/routing": "~2.2",
-                "symfony/stopwatch": "~2.3",
-                "symfony/templating": "~2.2",
-                "symfony/translation": "~2.0,>=2.0.5",
-                "symfony/var-dumper": "~2.6"
-            },
-            "suggest": {
-                "symfony/browser-kit": "",
-                "symfony/class-loader": "",
-                "symfony/config": "",
-                "symfony/console": "",
-                "symfony/dependency-injection": "",
-                "symfony/finder": "",
-                "symfony/var-dumper": ""
+                "athletic/athletic": "~0.1.8",
+                "ext-pdo": "*",
+                "ext-phar": "*",
+                "phpunit/phpunit": "~4.0",
+                "squizlabs/php_codesniffer": "2.0.*@ALPHA"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "1.0.x-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\HttpKernel\\": ""
+                "psr-0": {
+                    "Doctrine\\Instantiator\\": "src"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -2682,96 +2455,100 @@
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Marco Pivetta",
+                    "email": "ocramius@gmail.com",
+                    "homepage": "http://ocramius.github.com/"
                 }
             ],
-            "description": "Symfony HttpKernel Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-13 19:27:49"
+            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+            "homepage": "https://github.com/doctrine/instantiator",
+            "keywords": [
+                "constructor",
+                "instantiate"
+            ],
+            "time": "2014-10-13 12:58:55"
         },
         {
-            "name": "symfony/process",
-            "version": "v2.7.2",
+            "name": "mikey179/vfsStream",
+            "version": "v1.5.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/Process.git",
-                "reference": "48aeb0e48600321c272955132d7606ab0a49adb3"
+                "url": "https://github.com/mikey179/vfsStream.git",
+                "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Process/zipball/48aeb0e48600321c272955132d7606ab0a49adb3",
-                "reference": "48aeb0e48600321c272955132d7606ab0a49adb3",
+                "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a",
+                "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
+                "php": ">=5.3.0"
             },
             "require-dev": {
-                "symfony/phpunit-bridge": "~2.7"
+                "phpunit/phpunit": "~4.5"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "1.5.x-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Process\\": ""
+                "psr-0": {
+                    "org\\bovigo\\vfs\\": "src/main/php"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "MIT"
+                "BSD-3-Clause"
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Frank Kleine",
+                    "homepage": "http://frankkleine.de/",
+                    "role": "Developer"
                 }
             ],
-            "description": "Symfony Process Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-01 11:25:50"
+            "description": "Virtual file system to mock the real file system in unit tests.",
+            "homepage": "http://vfs.bovigo.org/",
+            "time": "2015-03-29 11:19:49"
         },
         {
-            "name": "symfony/psr-http-message-bridge",
-            "version": "v0.2",
+            "name": "phpdocumentor/reflection-docblock",
+            "version": "2.0.4",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/psr-http-message-bridge.git",
-                "reference": "dc7e308e1dc2898a46776e2221a643cb08315453"
+                "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+                "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/dc7e308e1dc2898a46776e2221a643cb08315453",
-                "reference": "dc7e308e1dc2898a46776e2221a643cb08315453",
+                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
+                "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.3",
-                "psr/http-message": "~1.0",
-                "symfony/http-foundation": "~2.3|~3.0"
+                "php": ">=5.3.3"
             },
             "require-dev": {
-                "symfony/phpunit-bridge": "~2.7|~3.0"
+                "phpunit/phpunit": "~4.0"
             },
             "suggest": {
-                "zendframework/zend-diactoros": "To use the Zend Diactoros factory"
+                "dflydev/markdown": "~1.0",
+                "erusev/parsedown": "~1.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0.x-dev"
+                }
             },
-            "type": "symfony-bridge",
             "autoload": {
-                "psr-4": {
-                    "Symfony\\Bridge\\PsrHttpMessage\\": ""
+                "psr-0": {
+                    "phpDocumentor": [
+                        "src/"
+                    ]
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -2780,68 +2557,43 @@
             ],
             "authors": [
                 {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
+                    "name": "Mike van Riel",
+                    "email": "mike.vanriel@naenius.com"
                 }
             ],
-            "description": "PSR HTTP message bridge",
-            "homepage": "http://symfony.com",
-            "keywords": [
-                "http",
-                "http-message",
-                "psr-7"
-            ],
-            "time": "2015-05-29 17:57:12"
+            "time": "2015-02-03 12:10:50"
         },
         {
-            "name": "symfony/routing",
-            "version": "v2.7.2",
+            "name": "phpspec/prophecy",
+            "version": "1.4.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/Routing.git",
-                "reference": "ea9134f277162b02e5f80ac058b75a77637b0d26"
+                "url": "https://github.com/phpspec/prophecy.git",
+                "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Routing/zipball/ea9134f277162b02e5f80ac058b75a77637b0d26",
-                "reference": "ea9134f277162b02e5f80ac058b75a77637b0d26",
+                "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
+                "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
-            },
-            "conflict": {
-                "symfony/config": "<2.7"
+                "doctrine/instantiator": "^1.0.2",
+                "phpdocumentor/reflection-docblock": "~2.0",
+                "sebastian/comparator": "~1.1"
             },
             "require-dev": {
-                "doctrine/annotations": "~1.0",
-                "doctrine/common": "~2.2",
-                "psr/log": "~1.0",
-                "symfony/config": "~2.7",
-                "symfony/expression-language": "~2.4",
-                "symfony/http-foundation": "~2.3",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/yaml": "~2.0,>=2.0.5"
-            },
-            "suggest": {
-                "doctrine/annotations": "For using the annotation loader",
-                "symfony/config": "For using the all-in-one router or any loader",
-                "symfony/expression-language": "For using expression matching",
-                "symfony/yaml": "For using the YAML loader"
+                "phpspec/phpspec": "~2.0"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "1.4.x-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Routing\\": ""
+                "psr-0": {
+                    "Prophecy\\": "src/"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -2850,292 +2602,546 @@
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
+                    "name": "Konstantin Kudryashov",
+                    "email": "ever.zet@gmail.com",
+                    "homepage": "http://everzet.com"
                 },
                 {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Marcello Duarte",
+                    "email": "marcello.duarte@gmail.com"
                 }
             ],
-            "description": "Symfony Routing Component",
-            "homepage": "https://symfony.com",
+            "description": "Highly opinionated mocking framework for PHP 5.3+",
+            "homepage": "https://github.com/phpspec/prophecy",
             "keywords": [
-                "router",
-                "routing",
-                "uri",
-                "url"
+                "Double",
+                "Dummy",
+                "fake",
+                "mock",
+                "spy",
+                "stub"
             ],
-            "time": "2015-07-09 16:07:40"
+            "time": "2015-03-27 19:31:25"
         },
         {
-            "name": "symfony/serializer",
-            "version": "v2.7.2",
+            "name": "phpunit/php-code-coverage",
+            "version": "2.0.16",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/Serializer.git",
-                "reference": "4ce2211d3a5d3a3605de7cc040af2808882f3c95"
+                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+                "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Serializer/zipball/4ce2211d3a5d3a3605de7cc040af2808882f3c95",
-                "reference": "4ce2211d3a5d3a3605de7cc040af2808882f3c95",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/934fd03eb6840508231a7f73eb8940cf32c3b66c",
+                "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
+                "php": ">=5.3.3",
+                "phpunit/php-file-iterator": "~1.3",
+                "phpunit/php-text-template": "~1.2",
+                "phpunit/php-token-stream": "~1.3",
+                "sebastian/environment": "~1.0",
+                "sebastian/version": "~1.0"
             },
             "require-dev": {
-                "doctrine/annotations": "~1.0",
-                "doctrine/cache": "~1.0",
-                "symfony/config": "~2.2",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/property-access": "~2.3",
-                "symfony/yaml": "~2.0"
+                "ext-xdebug": ">=2.1.4",
+                "phpunit/phpunit": "~4"
+            },
+            "suggest": {
+                "ext-dom": "*",
+                "ext-xdebug": ">=2.2.1",
+                "ext-xmlwriter": "*"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sb@sebastian-bergmann.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+            "keywords": [
+                "coverage",
+                "testing",
+                "xunit"
+            ],
+            "time": "2015-04-11 04:35:00"
+        },
+        {
+            "name": "phpunit/php-file-iterator",
+            "version": "1.4.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+                "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb",
+                "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.4.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sb@sebastian-bergmann.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+            "keywords": [
+                "filesystem",
+                "iterator"
+            ],
+            "time": "2015-04-02 05:19:05"
+        },
+        {
+            "name": "phpunit/php-text-template",
+            "version": "1.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-text-template.git",
+                "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
+                "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "Text/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "include-path": [
+                ""
+            ],
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sb@sebastian-bergmann.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Simple template engine.",
+            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+            "keywords": [
+                "template"
+            ],
+            "time": "2014-01-30 17:20:04"
+        },
+        {
+            "name": "phpunit/php-timer",
+            "version": "1.0.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-timer.git",
+                "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
+                "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "PHP/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "include-path": [
+                ""
+            ],
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sb@sebastian-bergmann.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Utility class for timing",
+            "homepage": "https://github.com/sebastianbergmann/php-timer/",
+            "keywords": [
+                "timer"
+            ],
+            "time": "2013-08-02 07:42:54"
+        },
+        {
+            "name": "phpunit/php-token-stream",
+            "version": "1.4.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-token-stream.git",
+                "reference": "eab81d02569310739373308137284e0158424330"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330",
+                "reference": "eab81d02569310739373308137284e0158424330",
+                "shasum": ""
+            },
+            "require": {
+                "ext-tokenizer": "*",
+                "php": ">=5.3.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.2"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.4-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Wrapper around PHP's tokenizer extension.",
+            "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+            "keywords": [
+                "tokenizer"
+            ],
+            "time": "2015-04-08 04:46:07"
+        },
+        {
+            "name": "phpunit/phpunit",
+            "version": "4.6.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/phpunit.git",
+                "reference": "163232991e652e6efed2f8470326fffa61e848e2"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/163232991e652e6efed2f8470326fffa61e848e2",
+                "reference": "163232991e652e6efed2f8470326fffa61e848e2",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-json": "*",
+                "ext-pcre": "*",
+                "ext-reflection": "*",
+                "ext-spl": "*",
+                "php": ">=5.3.3",
+                "phpspec/prophecy": "~1.3,>=1.3.1",
+                "phpunit/php-code-coverage": "~2.0,>=2.0.11",
+                "phpunit/php-file-iterator": "~1.4",
+                "phpunit/php-text-template": "~1.2",
+                "phpunit/php-timer": "~1.0",
+                "phpunit/phpunit-mock-objects": "~2.3",
+                "sebastian/comparator": "~1.1",
+                "sebastian/diff": "~1.2",
+                "sebastian/environment": "~1.2",
+                "sebastian/exporter": "~1.2",
+                "sebastian/global-state": "~1.0",
+                "sebastian/version": "~1.0",
+                "symfony/yaml": "~2.1|~3.0"
             },
             "suggest": {
-                "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
-                "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
-                "symfony/config": "For using the XML mapping loader.",
-                "symfony/property-access": "For using the ObjectNormalizer.",
-                "symfony/yaml": "For using the default YAML mapping loader."
+                "phpunit/php-invoker": "~1.1"
             },
+            "bin": [
+                "phpunit"
+            ],
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "4.6.x-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Serializer\\": ""
-                }
+                "classmap": [
+                    "src/"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "MIT"
+                "BSD-3-Clause"
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
                 }
             ],
-            "description": "Symfony Serializer Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-08 06:12:51"
+            "description": "The PHP Unit Testing framework.",
+            "homepage": "https://phpunit.de/",
+            "keywords": [
+                "phpunit",
+                "testing",
+                "xunit"
+            ],
+            "time": "2015-04-11 05:23:21"
         },
         {
-            "name": "symfony/translation",
-            "version": "v2.7.2",
+            "name": "phpunit/phpunit-mock-objects",
+            "version": "2.3.1",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/Translation.git",
-                "reference": "c8dc34cc936152c609cdd722af317e4239d10dd6"
+                "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
+                "reference": "74ffb87f527f24616f72460e54b595f508dccb5c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Translation/zipball/c8dc34cc936152c609cdd722af317e4239d10dd6",
-                "reference": "c8dc34cc936152c609cdd722af317e4239d10dd6",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c",
+                "reference": "74ffb87f527f24616f72460e54b595f508dccb5c",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
-            },
-            "conflict": {
-                "symfony/config": "<2.7"
+                "doctrine/instantiator": "~1.0,>=1.0.2",
+                "php": ">=5.3.3",
+                "phpunit/php-text-template": "~1.2"
             },
             "require-dev": {
-                "psr/log": "~1.0",
-                "symfony/config": "~2.7",
-                "symfony/intl": "~2.3",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/yaml": "~2.2"
+                "phpunit/phpunit": "~4.4"
             },
             "suggest": {
-                "psr/log": "To use logging capability in translator",
-                "symfony/config": "",
-                "symfony/yaml": ""
+                "ext-soap": "*"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "2.3.x-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Translation\\": ""
-                }
+                "classmap": [
+                    "src/"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "MIT"
+                "BSD-3-Clause"
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Sebastian Bergmann",
+                    "email": "sb@sebastian-bergmann.de",
+                    "role": "lead"
                 }
             ],
-            "description": "Symfony Translation Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-09 16:07:40"
+            "description": "Mock Object library for PHPUnit",
+            "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
+            "keywords": [
+                "mock",
+                "xunit"
+            ],
+            "time": "2015-04-02 05:36:41"
         },
         {
-            "name": "symfony/validator",
-            "version": "v2.7.2",
+            "name": "sebastian/comparator",
+            "version": "1.1.1",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/Validator.git",
-                "reference": "26a190dbdf7a19fc2251c2d59547a717918b6c77"
+                "url": "https://github.com/sebastianbergmann/comparator.git",
+                "reference": "1dd8869519a225f7f2b9eb663e225298fade819e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Validator/zipball/26a190dbdf7a19fc2251c2d59547a717918b6c77",
-                "reference": "26a190dbdf7a19fc2251c2d59547a717918b6c77",
+                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e",
+                "reference": "1dd8869519a225f7f2b9eb663e225298fade819e",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9",
-                "symfony/translation": "~2.4"
+                "php": ">=5.3.3",
+                "sebastian/diff": "~1.2",
+                "sebastian/exporter": "~1.2"
             },
             "require-dev": {
-                "doctrine/annotations": "~1.0",
-                "doctrine/cache": "~1.0",
-                "egulias/email-validator": "~1.2,>=1.2.1",
-                "symfony/config": "~2.2",
-                "symfony/expression-language": "~2.4",
-                "symfony/http-foundation": "~2.1",
-                "symfony/intl": "~2.3",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/property-access": "~2.3",
-                "symfony/yaml": "~2.0,>=2.0.5"
-            },
-            "suggest": {
-                "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
-                "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
-                "egulias/email-validator": "Strict (RFC compliant) email validation",
-                "symfony/config": "",
-                "symfony/expression-language": "For using the 2.4 Expression validator",
-                "symfony/http-foundation": "",
-                "symfony/intl": "",
-                "symfony/property-access": "For using the 2.4 Validator API",
-                "symfony/yaml": ""
+                "phpunit/phpunit": "~4.4"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "1.1.x-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Validator\\": ""
-                }
+                "classmap": [
+                    "src/"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "MIT"
+                "BSD-3-Clause"
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
                 },
                 {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Volker Dusch",
+                    "email": "github@wallbash.com"
+                },
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@2bepublished.at"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
                 }
             ],
-            "description": "Symfony Validator Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-02 06:17:05"
+            "description": "Provides the functionality to compare PHP values for equality",
+            "homepage": "http://www.github.com/sebastianbergmann/comparator",
+            "keywords": [
+                "comparator",
+                "compare",
+                "equality"
+            ],
+            "time": "2015-01-29 16:28:08"
         },
         {
-            "name": "symfony/yaml",
-            "version": "v2.7.2",
+            "name": "sebastian/diff",
+            "version": "1.3.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/Yaml.git",
-                "reference": "4bfbe0ed3909bfddd75b70c094391ec1f142f860"
+                "url": "https://github.com/sebastianbergmann/diff.git",
+                "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Yaml/zipball/4bfbe0ed3909bfddd75b70c094391ec1f142f860",
-                "reference": "4bfbe0ed3909bfddd75b70c094391ec1f142f860",
+                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3",
+                "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.9"
+                "php": ">=5.3.3"
             },
             "require-dev": {
-                "symfony/phpunit-bridge": "~2.7"
+                "phpunit/phpunit": "~4.2"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.7-dev"
+                    "dev-master": "1.3-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Yaml\\": ""
-                }
+                "classmap": [
+                    "src/"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "MIT"
+                "BSD-3-Clause"
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
+                    "name": "Kore Nordmann",
+                    "email": "mail@kore-nordmann.de"
                 },
                 {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
                 }
             ],
-            "description": "Symfony Yaml Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-07-01 11:25:50"
+            "description": "Diff implementation",
+            "homepage": "http://www.github.com/sebastianbergmann/diff",
+            "keywords": [
+                "diff"
+            ],
+            "time": "2015-02-22 15:13:53"
         },
         {
-            "name": "twig/twig",
-            "version": "v1.18.1",
+            "name": "sebastian/environment",
+            "version": "1.2.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/twigphp/Twig.git",
-                "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f"
+                "url": "https://github.com/sebastianbergmann/environment.git",
+                "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f",
-                "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f",
+                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e",
+                "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.2.7"
+                "php": ">=5.3.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.4"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.18-dev"
+                    "dev-master": "1.3.x-dev"
                 }
             },
             "autoload": {
-                "psr-0": {
-                    "Twig_": "lib/"
-                }
+                "classmap": [
+                    "src/"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
@@ -3143,230 +3149,225 @@
             ],
             "authors": [
                 {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com",
-                    "homepage": "http://fabien.potencier.org",
-                    "role": "Lead Developer"
-                },
-                {
-                    "name": "Armin Ronacher",
-                    "email": "armin.ronacher@active-4.com",
-                    "role": "Project Founder"
-                },
-                {
-                    "name": "Twig Team",
-                    "homepage": "http://twig.sensiolabs.org/contributors",
-                    "role": "Contributors"
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
                 }
             ],
-            "description": "Twig, the flexible, fast, and secure template language for PHP",
-            "homepage": "http://twig.sensiolabs.org",
+            "description": "Provides functionality to handle HHVM/PHP environments",
+            "homepage": "http://www.github.com/sebastianbergmann/environment",
             "keywords": [
-                "templating"
+                "Xdebug",
+                "environment",
+                "hhvm"
             ],
-            "time": "2015-04-19 08:30:27"
+            "time": "2015-01-01 10:01:08"
         },
         {
-            "name": "zendframework/zend-diactoros",
-            "version": "1.1.0",
+            "name": "sebastian/exporter",
+            "version": "1.2.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/zendframework/zend-diactoros.git",
-                "reference": "df65f70fc36f24d51a90ad706a09cd9b74fc4dd8"
+                "url": "https://github.com/sebastianbergmann/exporter.git",
+                "reference": "84839970d05254c73cde183a721c7af13aede943"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/df65f70fc36f24d51a90ad706a09cd9b74fc4dd8",
-                "reference": "df65f70fc36f24d51a90ad706a09cd9b74fc4dd8",
+                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943",
+                "reference": "84839970d05254c73cde183a721c7af13aede943",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.4",
-                "psr/http-message": "~1.0"
-            },
-            "provide": {
-                "psr/http-message-implementation": "~1.0.0"
+                "php": ">=5.3.3",
+                "sebastian/recursion-context": "~1.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "~4.6",
-                "squizlabs/php_codesniffer": "^2.3.1"
+                "phpunit/phpunit": "~4.4"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.0-dev",
-                    "dev-develop": "1.1-dev"
+                    "dev-master": "1.2.x-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Zend\\Diactoros\\": "src/"
-                }
+                "classmap": [
+                    "src/"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "BSD-2-Clause"
+                "BSD-3-Clause"
             ],
-            "description": "PSR HTTP Message implementations",
-            "homepage": "https://github.com/zendframework/zend-diactoros",
+            "authors": [
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Volker Dusch",
+                    "email": "github@wallbash.com"
+                },
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@2bepublished.at"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Adam Harvey",
+                    "email": "aharvey@php.net"
+                }
+            ],
+            "description": "Provides the functionality to export PHP variables for visualization",
+            "homepage": "http://www.github.com/sebastianbergmann/exporter",
             "keywords": [
-                "http",
-                "psr",
-                "psr-7"
+                "export",
+                "exporter"
             ],
-            "time": "2015-06-24 20:42:54"
+            "time": "2015-01-27 07:23:06"
         },
         {
-            "name": "zendframework/zend-escaper",
-            "version": "2.4.0",
+            "name": "sebastian/global-state",
+            "version": "1.0.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/zendframework/zend-escaper.git",
-                "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96"
+                "url": "https://github.com/sebastianbergmann/global-state.git",
+                "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/15e5769e4fcdb4bf07ebd76500810e7070e23a97",
-                "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96",
+                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
+                "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.23"
+                "php": ">=5.3.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.2"
+            },
+            "suggest": {
+                "ext-uopz": "*"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.3-dev",
-                    "dev-develop": "2.4-dev"
+                    "dev-master": "1.0-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Zend\\Escaper\\": ""
-                }
+                "classmap": [
+                    "src/"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
                 "BSD-3-Clause"
             ],
-            "homepage": "https://github.com/zendframework/zf2",
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Snapshotting of global state",
+            "homepage": "http://www.github.com/sebastianbergmann/global-state",
             "keywords": [
-                "escaper",
-                "zf2"
+                "global state"
             ],
-            "time": "2015-04-01 18:02:07"
+            "time": "2014-10-06 09:23:50"
         },
         {
-            "name": "zendframework/zend-feed",
-            "version": "2.4.0",
+            "name": "sebastian/recursion-context",
+            "version": "1.0.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/zendframework/zend-feed.git",
-                "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5"
+                "url": "https://github.com/sebastianbergmann/recursion-context.git",
+                "reference": "3989662bbb30a29d20d9faa04a846af79b276252"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0f59e560364f1f1fcb09a96874328ae3ff690db2",
-                "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5",
+                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252",
+                "reference": "3989662bbb30a29d20d9faa04a846af79b276252",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.3.23",
-                "zendframework/zend-escaper": "self.version",
-                "zendframework/zend-stdlib": "self.version"
+                "php": ">=5.3.3"
             },
             "require-dev": {
-                "zendframework/zend-cache": "self.version",
-                "zendframework/zend-db": "self.version",
-                "zendframework/zend-http": "self.version",
-                "zendframework/zend-servicemanager": "self.version",
-                "zendframework/zend-validator": "self.version"
-            },
-            "suggest": {
-                "zendframework/zend-cache": "Zend\\Cache component",
-                "zendframework/zend-db": "Zend\\Db component",
-                "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader",
-                "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations",
-                "zendframework/zend-validator": "Zend\\Validator component"
+                "phpunit/phpunit": "~4.4"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.3-dev",
-                    "dev-develop": "2.4-dev"
+                    "dev-master": "1.0.x-dev"
                 }
             },
             "autoload": {
-                "psr-4": {
-                    "Zend\\Feed\\": ""
-                }
+                "classmap": [
+                    "src/"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
                 "BSD-3-Clause"
             ],
-            "description": "provides functionality for consuming RSS and Atom feeds",
-            "homepage": "https://github.com/zendframework/zf2",
-            "keywords": [
-                "feed",
-                "zf2"
+            "authors": [
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Adam Harvey",
+                    "email": "aharvey@php.net"
+                }
             ],
-            "time": "2015-04-01 18:09:25"
+            "description": "Provides functionality to recursively process PHP variables",
+            "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+            "time": "2015-01-24 09:48:32"
         },
         {
-            "name": "zendframework/zend-stdlib",
-            "version": "2.4.0",
+            "name": "sebastian/version",
+            "version": "1.0.5",
             "source": {
                 "type": "git",
-                "url": "https://github.com/zendframework/zend-stdlib.git",
-                "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030"
+                "url": "https://github.com/sebastianbergmann/version.git",
+                "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cf05c5ba75606e47ffee91cedc72778da46f74c3",
-                "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030",
+                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4",
+                "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4",
                 "shasum": ""
             },
-            "require": {
-                "php": ">=5.3.23"
-            },
-            "require-dev": {
-                "zendframework/zend-eventmanager": "self.version",
-                "zendframework/zend-filter": "self.version",
-                "zendframework/zend-serializer": "self.version",
-                "zendframework/zend-servicemanager": "self.version"
-            },
-            "suggest": {
-                "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
-                "zendframework/zend-filter": "To support naming strategy hydrator usage",
-                "zendframework/zend-serializer": "Zend\\Serializer component",
-                "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
-            },
             "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.3-dev",
-                    "dev-develop": "2.4-dev"
-                }
-            },
             "autoload": {
-                "psr-4": {
-                    "Zend\\Stdlib\\": ""
-                }
+                "classmap": [
+                    "src/"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
                 "BSD-3-Clause"
             ],
-            "homepage": "https://github.com/zendframework/zf2",
-            "keywords": [
-                "stdlib",
-                "zf2"
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
             ],
-            "time": "2015-04-01 18:09:29"
+            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+            "homepage": "https://github.com/sebastianbergmann/version",
+            "time": "2015-02-24 06:35:25"
         }
     ],
-    "packages-dev": [],
     "aliases": [],
     "minimum-stability": "dev",
     "stability-flags": {
diff --git a/core/vendor/behat/mink-browserkit-driver/.gitignore b/core/vendor/behat/mink-browserkit-driver/.gitignore
deleted file mode 100644
index 3ccd9ee..0000000
--- a/core/vendor/behat/mink-browserkit-driver/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-vendor
-composer.lock
-/phpunit.xml
diff --git a/core/vendor/behat/mink-browserkit-driver/.travis.yml b/core/vendor/behat/mink-browserkit-driver/.travis.yml
deleted file mode 100644
index 838fc4e..0000000
--- a/core/vendor/behat/mink-browserkit-driver/.travis.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-language: php
-
-php: [5.3, 5.4, 5.5, 5.6, hhvm]
-
-matrix:
-  include:
-    - php: 5.5
-      env: SYMFONY_VERSION='2.3.*'
-    - php: 5.5
-      env: SYMFONY_VERSION='2.5.*@dev'
-
-before_script:
-  - sh -c 'if [ "$SYMFONY_VERSION" != "" ]; then composer require -n --no-update symfony/symfony=$SYMFONY_VERSION; fi;'
-  - composer install -n --prefer-source
-
-script: phpunit -v --coverage-clover=coverage.clover
-
-after_script:
-  - wget https://scrutinizer-ci.com/ocular.phar
-  - php ocular.phar code-coverage:upload --format=php-clover coverage.clover
diff --git a/core/vendor/behat/mink-browserkit-driver/CHANGELOG.md b/core/vendor/behat/mink-browserkit-driver/CHANGELOG.md
deleted file mode 100644
index 774663f..0000000
--- a/core/vendor/behat/mink-browserkit-driver/CHANGELOG.md
+++ /dev/null
@@ -1,33 +0,0 @@
-1.2.0 / 2014-09-26
-==================
-
-BC break:
-
-* Changed the behavior of `getValue` for checkboxes according to the BC break in Mink 1.6
-
-New features:
-
-* Implemented `getOuterHtml`
-* Added the support of manipulating forms without submit buttons
-* Added support of any request headers instead of supporting only a few hardcoded ones
-* Added support of any BrowserKit client using `filterResponse` when using BrowserKit 2.3+
-* Added the support of reset buttons
-* Implemented `submitForm`
-* Implemented `isSelected`
-
-Bug fixes:
-
-* Fixed the support of options without value attribute in `isSelected` and `getValue`
-* Added the support of radio buttons in `isChecked`
-* Fixed the submission of empty textarea fields
-* Refactored the handling of request headers to ensure they are reset when resetting the driver
-* Fixed the handling of buttons to submit only for submit buttons rather than all buttons
-* Fixed the code to throw exceptions rather than triggering a fatal error for invalid usages of the driver
-* Fixed the removal of cookies
-* Fixed the submission of form fields with same name and without id
-* Fixed `getAttribute` to return `null` for missing attributes rather than an empty string
-
-Testing:
-
-* Updated the testsuite to use the new Mink 1.6 driver testsuite
-* Added testing on HHVM
diff --git a/core/vendor/behat/mink-browserkit-driver/LICENSE b/core/vendor/behat/mink-browserkit-driver/LICENSE
deleted file mode 100644
index 3365ae6..0000000
--- a/core/vendor/behat/mink-browserkit-driver/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2012-2013 Konstantin Kudryashov <ever.zet@gmail.com>
-
-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/core/vendor/behat/mink-browserkit-driver/README.md b/core/vendor/behat/mink-browserkit-driver/README.md
deleted file mode 100755
index fc36e41..0000000
--- a/core/vendor/behat/mink-browserkit-driver/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
-Mink BrowserKit Driver
-======================
-
-[![Latest Stable Version](https://poser.pugx.org/behat/mink-browserkit-driver/v/stable.png)](https://packagist.org/packages/behat/mink-browserkit-driver)
-[![Latest Unstable Version](https://poser.pugx.org/behat/mink-browserkit-driver/v/unstable.svg)](https://packagist.org/packages/behat/mink-browserkit-driver)
-[![Total Downloads](https://poser.pugx.org/behat/mink-browserkit-driver/downloads.png)](https://packagist.org/packages/behat/mink-browserkit-driver)
-[![Build Status](https://travis-ci.org/Behat/MinkBrowserKitDriver.svg?branch=master)](https://travis-ci.org/Behat/MinkBrowserKitDriver)
-[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/Behat/MinkBrowserKitDriver/badges/quality-score.png?s=0443d284940e099ea560eb39b6b2fcdc5d4e7f29)](https://scrutinizer-ci.com/g/Behat/MinkBrowserKitDriver/)
-[![Code Coverage](https://scrutinizer-ci.com/g/Behat/MinkBrowserKitDriver/badges/coverage.png?s=48960c4495488ab0b7d310b62322f017497f5bfa)](https://scrutinizer-ci.com/g/Behat/MinkBrowserKitDriver/)
-[![License](https://poser.pugx.org/behat/mink-browserkit-driver/license.svg)](https://packagist.org/packages/behat/mink-browserkit-driver)
-
-Usage Example
--------------
-
-``` php
-<?php
-
-use Behat\Mink\Mink,
-    Behat\Mink\Session,
-    Behat\Mink\Driver\BrowserKitDriver;
-
-use Symfony\Component\HttpKernel\Client;
-
-$app  = require_once(__DIR__.'/app.php'); // Silex app
-
-$mink = new Mink(array(
-    'silex' => new Session(new BrowserKitDriver(new Client($app))),
-));
-
-$mink->getSession('silex')->getPage()->findLink('Chat')->click();
-```
-
-Installation
-------------
-
-``` json
-{
-    "require": {
-        "behat/mink":                   "~1.5",
-        "behat/mink-browserkit-driver": "~1.1"
-    }
-}
-```
-
-``` bash
-$> curl -sS https://getcomposer.org/installer | php
-$> php composer.phar install
-```
-
-Maintainers
------------
-
-* Konstantin Kudryashov [everzet](http://github.com/everzet)
-* Other [awesome developers](https://github.com/Behat/MinkBrowserKitDriver/graphs/contributors)
diff --git a/core/vendor/behat/mink-browserkit-driver/composer.json b/core/vendor/behat/mink-browserkit-driver/composer.json
deleted file mode 100644
index c0c5df9..0000000
--- a/core/vendor/behat/mink-browserkit-driver/composer.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-    "name":         "behat/mink-browserkit-driver",
-    "description":  "Symfony2 BrowserKit driver for Mink framework",
-    "keywords":     ["Symfony2", "Mink", "testing", "browser"],
-    "homepage":     "http://mink.behat.org/",
-    "type":         "mink-driver",
-    "license":      "MIT",
-
-    "authors": [
-        {
-            "name":      "Konstantin Kudryashov",
-            "email":     "ever.zet@gmail.com",
-            "homepage":  "http://everzet.com"
-        }
-    ],
-
-    "require": {
-        "php":                  ">=5.3.1",
-        "behat/mink":           "~1.6@dev",
-        "symfony/browser-kit":  "~2.0",
-        "symfony/dom-crawler":  "~2.0"
-    },
-
-    "require-dev": {
-        "silex/silex": "~1.2"
-    },
-
-    "autoload": {
-        "psr-0": {
-            "Behat\\Mink\\Driver": "src/"
-        }
-    },
-
-    "autoload-dev": {
-        "psr-4": {
-            "Behat\\Mink\\Tests\\Driver\\": "tests"
-        }
-    },
-
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.2.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/behat/mink-browserkit-driver/phpunit.xml.dist b/core/vendor/behat/mink-browserkit-driver/phpunit.xml.dist
deleted file mode 100644
index 4f9b932..0000000
--- a/core/vendor/behat/mink-browserkit-driver/phpunit.xml.dist
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit colors="true" bootstrap="vendor/behat/mink/driver-testsuite/bootstrap.php">
-    <php>
-        <var name="driver_config_factory" value="Behat\Mink\Tests\Driver\BrowserKitConfig::getInstance" />
-    </php>
-
-    <testsuites>
-        <testsuite name="Driver test suite">
-            <directory>tests</directory>
-            <directory>vendor/behat/mink/driver-testsuite/tests/Basic</directory>
-            <directory>vendor/behat/mink/driver-testsuite/tests/Form</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./src/Behat/Mink/Driver</directory>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/behat/mink-browserkit-driver/src/Behat/Mink/Driver/BrowserKitDriver.php b/core/vendor/behat/mink-browserkit-driver/src/Behat/Mink/Driver/BrowserKitDriver.php
deleted file mode 100644
index 28b99dc..0000000
--- a/core/vendor/behat/mink-browserkit-driver/src/Behat/Mink/Driver/BrowserKitDriver.php
+++ /dev/null
@@ -1,949 +0,0 @@
-<?php
-
-/*
- * This file is part of the Behat\Mink.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Driver;
-
-use Behat\Mink\Element\NodeElement;
-use Behat\Mink\Exception\DriverException;
-use Behat\Mink\Exception\UnsupportedDriverActionException;
-use Behat\Mink\Session;
-use Symfony\Component\BrowserKit\Client;
-use Symfony\Component\BrowserKit\Cookie;
-use Symfony\Component\BrowserKit\Request;
-use Symfony\Component\BrowserKit\Response;
-use Symfony\Component\DomCrawler\Crawler;
-use Symfony\Component\DomCrawler\Field\ChoiceFormField;
-use Symfony\Component\DomCrawler\Field\FileFormField;
-use Symfony\Component\DomCrawler\Field\FormField;
-use Symfony\Component\DomCrawler\Field\InputFormField;
-use Symfony\Component\DomCrawler\Field\TextareaFormField;
-use Symfony\Component\DomCrawler\Form;
-use Symfony\Component\HttpFoundation\Request as HttpFoundationRequest;
-use Symfony\Component\HttpFoundation\Response as HttpFoundationResponse;
-use Symfony\Component\HttpKernel\Client as HttpKernelClient;
-
-/**
- * Symfony2 BrowserKit driver.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class BrowserKitDriver extends CoreDriver
-{
-    private $session;
-    private $client;
-
-    /**
-     * @var Form[]
-     */
-    private $forms = array();
-    private $serverParameters = array();
-    private $started = false;
-    private $removeScriptFromUrl = false;
-    private $removeHostFromUrl = false;
-
-    /**
-     * Initializes BrowserKit driver.
-     *
-     * @param Client      $client  BrowserKit client instance
-     * @param string|null $baseUrl Base URL for HttpKernel clients
-     */
-    public function __construct(Client $client, $baseUrl = null)
-    {
-        $this->client = $client;
-        $this->client->followRedirects(true);
-
-        if ($baseUrl !== null && $client instanceof HttpKernelClient) {
-            $client->setServerParameter('SCRIPT_FILENAME', parse_url($baseUrl, PHP_URL_PATH));
-        }
-    }
-
-    /**
-     * Returns BrowserKit HTTP client instance.
-     *
-     * @return Client
-     */
-    public function getClient()
-    {
-        return $this->client;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setSession(Session $session)
-    {
-        $this->session = $session;
-    }
-
-    /**
-     * Tells driver to remove hostname from URL.
-     *
-     * @param Boolean $remove
-     *
-     * @deprecated Deprecated as of 1.2, to be removed in 2.0. Pass the base url in the constructor instead.
-     */
-    public function setRemoveHostFromUrl($remove = true)
-    {
-        trigger_error(
-            'setRemoveHostFromUrl() is deprecated as of 1.2 and will be removed in 2.0. Pass the base url in the constructor instead.',
-            E_USER_DEPRECATED
-        );
-        $this->removeHostFromUrl = (bool) $remove;
-    }
-
-    /**
-     * Tells driver to remove script name from URL.
-     *
-     * @param Boolean $remove
-     *
-     * @deprecated Deprecated as of 1.2, to be removed in 2.0. Pass the base url in the constructor instead.
-     */
-    public function setRemoveScriptFromUrl($remove = true)
-    {
-        trigger_error(
-            'setRemoveScriptFromUrl() is deprecated as of 1.2 and will be removed in 2.0. Pass the base url in the constructor instead.',
-            E_USER_DEPRECATED
-        );
-        $this->removeScriptFromUrl = (bool) $remove;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function start()
-    {
-        $this->started = true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isStarted()
-    {
-        return $this->started;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function stop()
-    {
-        $this->reset();
-        $this->started = false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function reset()
-    {
-        // Restarting the client resets the cookies and the history
-        $this->client->restart();
-        $this->forms = array();
-        $this->serverParameters = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function visit($url)
-    {
-        $this->client->request('GET', $this->prepareUrl($url), array(), array(), $this->serverParameters);
-        $this->forms = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCurrentUrl()
-    {
-        if (method_exists($this->client, 'getInternalRequest')) {
-            $request = $this->client->getInternalRequest();
-        } else {
-            // BC layer for BrowserKit 2.2.x and older
-            $request = $this->client->getRequest();
-
-            if (null !== $request && !$request instanceof Request && !$request instanceof HttpFoundationRequest) {
-                throw new DriverException(sprintf(
-                    'The BrowserKit client returned an unsupported request implementation: %s. Please upgrade your BrowserKit package to 2.3 or newer.',
-                    get_class($request)
-                ));
-            }
-        }
-
-        if ($request === null) {
-            throw new DriverException('Unable to access the request before visiting a page');
-        }
-
-        return $request->getUri();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function reload()
-    {
-        $this->client->reload();
-        $this->forms = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function forward()
-    {
-        $this->client->forward();
-        $this->forms = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function back()
-    {
-        $this->client->back();
-        $this->forms = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setBasicAuth($user, $password)
-    {
-        if (false === $user) {
-            unset($this->serverParameters['PHP_AUTH_USER'], $this->serverParameters['PHP_AUTH_PW']);
-
-            return;
-        }
-
-        $this->serverParameters['PHP_AUTH_USER'] = $user;
-        $this->serverParameters['PHP_AUTH_PW'] = $password;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRequestHeader($name, $value)
-    {
-        $contentHeaders = array('CONTENT_LENGTH' => true, 'CONTENT_MD5' => true, 'CONTENT_TYPE' => true);
-        $name = str_replace('-', '_', strtoupper($name));
-
-        // CONTENT_* are not prefixed with HTTP_ in PHP when building $_SERVER
-        if (!isset($contentHeaders[$name])) {
-            $name = 'HTTP_' . $name;
-        }
-
-        $this->serverParameters[$name] = $value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getResponseHeaders()
-    {
-        return $this->getResponse()->getHeaders();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setCookie($name, $value = null)
-    {
-        if (null === $value) {
-            $this->deleteCookie($name);
-
-            return;
-        }
-
-        $jar = $this->client->getCookieJar();
-        $jar->set(new Cookie($name, $value));
-    }
-
-    /**
-     * Deletes a cookie by name.
-     *
-     * @param string $name Cookie name.
-     */
-    private function deleteCookie($name)
-    {
-        $path = $this->getCookiePath();
-        $jar = $this->client->getCookieJar();
-
-        do {
-            if (null !== $jar->get($name, $path)) {
-                $jar->expire($name, $path);
-            }
-
-            $path = preg_replace('/.$/', '', $path);
-        } while ($path);
-    }
-
-    /**
-     * Returns current cookie path.
-     *
-     * @return string
-     */
-    private function getCookiePath()
-    {
-        $path = dirname(parse_url($this->getCurrentUrl(), PHP_URL_PATH));
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $path = str_replace('\\', '/', $path);
-        }
-
-        return $path;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCookie($name)
-    {
-        // Note that the following doesn't work well because
-        // Symfony\Component\BrowserKit\CookieJar stores cookies by name,
-        // path, AND domain and if you don't fill them all in correctly then
-        // you won't get the value that you're expecting.
-        //
-        // $jar = $this->client->getCookieJar();
-        //
-        // if (null !== $cookie = $jar->get($name)) {
-        //     return $cookie->getValue();
-        // }
-
-        $allValues = $this->client->getCookieJar()->allValues($this->getCurrentUrl());
-
-        if (isset($allValues[$name])) {
-            return $allValues[$name];
-        }
-
-        return null;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getStatusCode()
-    {
-        return $this->getResponse()->getStatus();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        return $this->getResponse()->getContent();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($xpath)
-    {
-        $nodes = $this->getCrawler()->filterXPath($xpath);
-
-        $elements = array();
-        foreach ($nodes as $i => $node) {
-            $elements[] = new NodeElement(sprintf('(%s)[%d]', $xpath, $i + 1), $this->session);
-        }
-
-        return $elements;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTagName($xpath)
-    {
-        return $this->getCrawlerNode($this->getFilteredCrawler($xpath))->nodeName;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getText($xpath)
-    {
-        $text = $this->getFilteredCrawler($xpath)->text();
-        $text = str_replace("\n", ' ', $text);
-        $text = preg_replace('/ {2,}/', ' ', $text);
-
-        return trim($text);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getHtml($xpath)
-    {
-        // cut the tag itself (making innerHTML out of outerHTML)
-        return preg_replace('/^\<[^\>]+\>|\<[^\>]+\>$/', '', $this->getOuterHtml($xpath));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getOuterHtml($xpath)
-    {
-        $node = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
-
-        return $node->ownerDocument->saveXML($node);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getAttribute($xpath, $name)
-    {
-        $node = $this->getFilteredCrawler($xpath);
-
-        if ($this->getCrawlerNode($node)->hasAttribute($name)) {
-            return $node->attr($name);
-        }
-
-        return null;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getValue($xpath)
-    {
-        if (in_array($this->getAttribute($xpath, 'type'), array('submit', 'image', 'button'))) {
-            return $this->getAttribute($xpath, 'value');
-        }
-
-        $node = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
-
-        if ('option' === $node->tagName) {
-            return $this->getOptionValue($node);
-        }
-
-        try {
-            $field = $this->getFormField($xpath);
-        } catch (\InvalidArgumentException $e) {
-            return $this->getAttribute($xpath, 'value');
-        }
-
-        return $field->getValue();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setValue($xpath, $value)
-    {
-        $this->getFormField($xpath)->setValue($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function check($xpath)
-    {
-        $this->getCheckboxField($xpath)->tick();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function uncheck($xpath)
-    {
-        $this->getCheckboxField($xpath)->untick();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function selectOption($xpath, $value, $multiple = false)
-    {
-        $field = $this->getFormField($xpath);
-
-        if (!$field instanceof ChoiceFormField) {
-            throw new DriverException(sprintf('Impossible to select an option on the element with XPath "%s" as it is not a select or radio input', $xpath));
-        }
-
-        if ($multiple) {
-            $oldValue   = (array) $field->getValue();
-            $oldValue[] = $value;
-            $value      = $oldValue;
-        }
-
-        $field->select($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isSelected($xpath)
-    {
-        $optionValue = $this->getOptionValue($this->getCrawlerNode($this->getFilteredCrawler($xpath)));
-        $selectField = $this->getFormField('(' . $xpath . ')/ancestor-or-self::*[local-name()="select"]');
-        $selectValue = $selectField->getValue();
-
-        return is_array($selectValue) ? in_array($optionValue, $selectValue) : $optionValue == $selectValue;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function click($xpath)
-    {
-        $node = $this->getFilteredCrawler($xpath);
-        $crawlerNode = $this->getCrawlerNode($node);
-        $tagName = $crawlerNode->nodeName;
-
-        if ('a' === $tagName) {
-            $this->client->click($node->link());
-            $this->forms = array();
-        } elseif ($this->canSubmitForm($crawlerNode)) {
-            $this->submit($node->form());
-        } elseif ($this->canResetForm($crawlerNode)) {
-            $this->resetForm($crawlerNode);
-        } else {
-            $message = sprintf('%%s supports clicking on links and buttons only. But "%s" provided', $tagName);
-
-            throw new UnsupportedDriverActionException($message, $this);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isChecked($xpath)
-    {
-        $field = $this->getFormField($xpath);
-
-        if (!$field instanceof ChoiceFormField || 'select' === $field->getType()) {
-            throw new DriverException(sprintf('Impossible to get the checked state of the element with XPath "%s" as it is not a checkbox or radio input', $xpath));
-        }
-
-        if ('checkbox' === $field->getType()) {
-            return $field->hasValue();
-        }
-
-        $radio = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
-
-        return $radio->getAttribute('value') === $field->getValue();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function attachFile($xpath, $path)
-    {
-        $field = $this->getFormField($xpath);
-
-        if (!$field instanceof FileFormField) {
-            throw new DriverException(sprintf('Impossible to attach a file on the element with XPath "%s" as it is not a file input', $xpath));
-        }
-
-        $field->upload($path);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function submitForm($xpath)
-    {
-        $crawler = $this->getFilteredCrawler($xpath);
-
-        $this->submit($crawler->form());
-    }
-
-    /**
-     * @return Response
-     *
-     * @throws DriverException If there is not response yet
-     */
-    protected function getResponse()
-    {
-        if (!method_exists($this->client, 'getInternalResponse')) {
-            $implementationResponse = $this->client->getResponse();
-
-            if (null === $implementationResponse) {
-                throw new DriverException('Unable to access the response before visiting a page');
-            }
-
-            return $this->convertImplementationResponse($implementationResponse);
-        }
-
-        $response = $this->client->getInternalResponse();
-
-        if (null === $response) {
-            throw new DriverException('Unable to access the response before visiting a page');
-        }
-
-        return $response;
-    }
-
-    /**
-     * Gets the BrowserKit Response for legacy BrowserKit versions.
-     *
-     * Before 2.3.0, there was no Client::getInternalResponse method, and the
-     * return value of Client::getResponse can be anything when the implementation
-     * uses Client::filterResponse because of a bad choice done in BrowserKit and
-     * kept for BC reasons (the Client::getInternalResponse method has been added
-     * to solve it).
-     *
-     * This implementation supports client which don't rely Client::filterResponse
-     * and clients which use an HttpFoundation Response (like the HttpKernel client).
-     *
-     * @param object $response the response specific to the BrowserKit implementation
-     *
-     * @return Response
-     *
-     * @throws DriverException If the response cannot be converted to a BrowserKit response
-     */
-    private function convertImplementationResponse($response)
-    {
-        if ($response instanceof Response) {
-            return $response;
-        }
-
-        // due to a bug, the HttpKernel client implementation returns the HttpFoundation response
-        // The conversion logic is copied from Symfony\Component\HttpKernel\Client::filterResponse
-        if ($response instanceof HttpFoundationResponse) {
-            $headers = $response->headers->all();
-            if ($response->headers->getCookies()) {
-                $cookies = array();
-                foreach ($response->headers->getCookies() as $cookie) {
-                    $cookies[] = new Cookie(
-                        $cookie->getName(),
-                        $cookie->getValue(),
-                        $cookie->getExpiresTime(),
-                        $cookie->getPath(),
-                        $cookie->getDomain(),
-                        $cookie->isSecure(),
-                        $cookie->isHttpOnly()
-                    );
-                }
-                $headers['Set-Cookie'] = $cookies;
-            }
-
-            // this is needed to support StreamedResponse
-            ob_start();
-            $response->sendContent();
-            $content = ob_get_clean();
-
-            return new Response($content, $response->getStatusCode(), $headers);
-        }
-
-        throw new DriverException(sprintf(
-            'The BrowserKit client returned an unsupported response implementation: %s. Please upgrade your BrowserKit package to 2.3 or newer.',
-            get_class($response)
-        ));
-    }
-
-    /**
-     * Prepares URL for visiting.
-     * Removes "*.php/" from urls and then passes it to BrowserKitDriver::visit().
-     *
-     * @param string $url
-     *
-     * @return string
-     */
-    protected function prepareUrl($url)
-    {
-        $replacement = ($this->removeHostFromUrl ? '' : '$1') . ($this->removeScriptFromUrl ? '' : '$2');
-
-        return preg_replace('#(https?\://[^/]+)(/[^/\.]+\.php)?#', $replacement, $url);
-    }
-
-    /**
-     * Returns form field from XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return FormField
-     *
-     * @throws DriverException
-     */
-    protected function getFormField($xpath)
-    {
-        $fieldNode = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
-        $fieldName = str_replace('[]', '', $fieldNode->getAttribute('name'));
-
-        $formNode = $this->getFormNode($fieldNode);
-        $formId = $this->getFormNodeId($formNode);
-
-        if (!isset($this->forms[$formId])) {
-            $this->forms[$formId] = new Form($formNode, $this->getCurrentUrl());
-        }
-
-        if (is_array($this->forms[$formId][$fieldName])) {
-            return $this->forms[$formId][$fieldName][$this->getFieldPosition($fieldNode)];
-        }
-
-        return $this->forms[$formId][$fieldName];
-    }
-
-    /**
-     * Returns the checkbox field from xpath query, ensuring it is valid.
-     *
-     * @param string $xpath
-     *
-     * @return ChoiceFormField
-     *
-     * @throws DriverException when the field is not a checkbox
-     */
-    private function getCheckboxField($xpath)
-    {
-        $field = $this->getFormField($xpath);
-
-        if (!$field instanceof ChoiceFormField) {
-            throw new DriverException(sprintf('Impossible to check the element with XPath "%s" as it is not a checkbox', $xpath));
-        }
-
-        return $field;
-    }
-
-    /**
-     * @param \DOMElement $element
-     *
-     * @return \DOMElement
-     *
-     * @throws DriverException if the form node cannot be found
-     */
-    private function getFormNode(\DOMElement $element)
-    {
-        if ($element->hasAttribute('form')) {
-            $formId = $element->getAttribute('form');
-            $formNode = $element->ownerDocument->getElementById($formId);
-
-            if (null === $formNode || 'form' !== $formNode->nodeName) {
-                throw new DriverException(sprintf('The selected node has an invalid form attribute (%s).', $formId));
-            }
-
-            return $formNode;
-        }
-
-        $formNode = $element;
-
-        do {
-            // use the ancestor form element
-            if (null === $formNode = $formNode->parentNode) {
-                throw new DriverException('The selected node does not have a form ancestor.');
-            }
-        } while ('form' !== $formNode->nodeName);
-
-        return $formNode;
-    }
-
-    /**
-     * Gets the position of the field node among elements with the same name
-     *
-     * BrowserKit uses the field name as index to find the field in its Form object.
-     * When multiple fields have the same name (checkboxes for instance), it will return
-     * an array of elements in the order they appear in the DOM.
-     *
-     * @param \DOMElement $fieldNode
-     *
-     * @return integer
-     */
-    private function getFieldPosition(\DOMElement $fieldNode)
-    {
-        $elements = $this->getCrawler()->filterXPath('//*[@name=\''.$fieldNode->getAttribute('name').'\']');
-
-        if (count($elements) > 1) {
-            // more than one element contains this name !
-            // so we need to find the position of $fieldNode
-            foreach ($elements as $key => $element) {
-                /** @var \DOMElement $element */
-                if ($element->getNodePath() === $fieldNode->getNodePath()) {
-                    return $key;
-                }
-            }
-        }
-
-        return 0;
-    }
-
-    private function submit(Form $form)
-    {
-        $formId = $this->getFormNodeId($form->getFormNode());
-
-        if (isset($this->forms[$formId])) {
-            $this->mergeForms($form, $this->forms[$formId]);
-        }
-
-        // remove empty file fields from request
-        foreach ($form->getFiles() as $name => $field) {
-            if (empty($field['name']) && empty($field['tmp_name'])) {
-                $form->remove($name);
-            }
-        }
-
-        foreach ($form->all() as $field) {
-            // Add a fix for https://github.com/symfony/symfony/pull/10733 to support Symfony versions which are not fixed
-            if ($field instanceof TextareaFormField && null === $field->getValue()) {
-                $field->setValue('');
-            }
-        }
-
-        $this->client->submit($form);
-
-        $this->forms = array();
-    }
-
-    private function resetForm(\DOMElement $fieldNode)
-    {
-        $formNode = $this->getFormNode($fieldNode);
-        $formId = $this->getFormNodeId($formNode);
-        unset($this->forms[$formId]);
-    }
-
-    /**
-     * Determines if a node can submit a form.
-     *
-     * @param \DOMElement $node Node.
-     *
-     * @return boolean
-     */
-    private function canSubmitForm(\DOMElement $node)
-    {
-        $type = $node->hasAttribute('type') ? $node->getAttribute('type') : null;
-
-        if ('input' == $node->nodeName && in_array($type, array('submit', 'image'))) {
-            return true;
-        }
-
-        return 'button' == $node->nodeName && (null === $type || 'submit' == $type);
-    }
-
-    /**
-     * Determines if a node can reset a form.
-     *
-     * @param \DOMElement $node Node.
-     *
-     * @return boolean
-     */
-    private function canResetForm(\DOMElement $node)
-    {
-        $type = $node->hasAttribute('type') ? $node->getAttribute('type') : null;
-
-        return in_array($node->nodeName, array('input', 'button')) && 'reset' == $type;
-    }
-
-    /**
-     * Returns form node unique identifier.
-     *
-     * @param \DOMElement $form
-     *
-     * @return string
-     */
-    private function getFormNodeId(\DOMElement $form)
-    {
-        return md5($form->getLineNo() . $form->getNodePath() . $form->nodeValue);
-    }
-
-    /**
-     * Gets the value of an option element
-     *
-     * @param \DOMElement $option
-     *
-     * @return string
-     *
-     * @see \Symfony\Component\DomCrawler\Field\ChoiceFormField::buildOptionValue
-     */
-    private function getOptionValue(\DOMElement $option)
-    {
-        if ($option->hasAttribute('value')) {
-            return $option->getAttribute('value');
-        }
-
-        if (!empty($option->nodeValue)) {
-            return $option->nodeValue;
-        }
-
-        return '1'; // DomCrawler uses 1 by default if there is no text in the option
-    }
-
-    /**
-     * Merges second form values into first one.
-     *
-     * @param Form $to   merging target
-     * @param Form $from merging source
-     */
-    private function mergeForms(Form $to, Form $from)
-    {
-        foreach ($from->all() as $name => $field) {
-            $fieldReflection = new \ReflectionObject($field);
-            $nodeReflection  = $fieldReflection->getProperty('node');
-            $valueReflection = $fieldReflection->getProperty('value');
-
-            $nodeReflection->setAccessible(true);
-            $valueReflection->setAccessible(true);
-
-            if (!($field instanceof InputFormField && in_array(
-                $nodeReflection->getValue($field)->getAttribute('type'),
-                array('submit', 'button', 'image')
-            ))) {
-                $valueReflection->setValue($to[$name], $valueReflection->getValue($field));
-            }
-        }
-    }
-
-    /**
-     * Returns DOMElement from crawler instance.
-     *
-     * @param Crawler $crawler
-     *
-     * @return \DOMElement
-     *
-     * @throws DriverException when the node does not exist
-     */
-    private function getCrawlerNode(Crawler $crawler)
-    {
-        $crawler->rewind();
-        $node = $crawler->current();
-
-        if (null !== $node) {
-            return $node;
-        }
-
-        throw new DriverException('The element does not exist');
-    }
-
-    /**
-     * Returns a crawler filtered for the given XPath, requiring at least 1 result.
-     *
-     * @param string $xpath
-     *
-     * @return Crawler
-     *
-     * @throws DriverException when no matching elements are found
-     */
-    private function getFilteredCrawler($xpath)
-    {
-        if (!count($crawler = $this->getCrawler()->filterXPath($xpath))) {
-            throw new DriverException(sprintf('There is no element matching XPath "%s"', $xpath));
-        }
-
-        return $crawler;
-    }
-
-    /**
-     * Returns crawler instance (got from client).
-     *
-     * @return Crawler
-     *
-     * @throws DriverException
-     */
-    private function getCrawler()
-    {
-        $crawler = $this->client->getCrawler();
-
-        if (null === $crawler) {
-            throw new DriverException('Unable to access the response content before visiting a page');
-        }
-
-        return $crawler;
-    }
-}
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/BrowserKitConfig.php b/core/vendor/behat/mink-browserkit-driver/tests/BrowserKitConfig.php
deleted file mode 100644
index b80a2fb..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/BrowserKitConfig.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver;
-
-use Behat\Mink\Driver\BrowserKitDriver;
-use Symfony\Component\HttpKernel\Client;
-
-class BrowserKitConfig extends AbstractConfig
-{
-    public static function getInstance()
-    {
-        return new self();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function createDriver()
-    {
-        $client = new Client(require(__DIR__.'/app.php'));
-
-        return new BrowserKitDriver($client);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getWebFixturesUrl()
-    {
-        return 'http://localhost';
-    }
-
-    protected function supportsJs()
-    {
-        return false;
-    }
-}
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/Custom/BaseUrlTest.php b/core/vendor/behat/mink-browserkit-driver/tests/Custom/BaseUrlTest.php
deleted file mode 100644
index 779426e..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/Custom/BaseUrlTest.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Custom;
-
-use Behat\Mink\Driver\BrowserKitDriver;
-use Behat\Mink\Session;
-use Symfony\Component\HttpKernel\Client;
-
-/**
- * @group functional
- */
-class BaseUrlTest extends \PHPUnit_Framework_TestCase
-{
-    public function testBaseUrl()
-    {
-        $client = new Client(require(__DIR__.'/../app.php'));
-        $driver = new BrowserKitDriver($client, 'http://localhost/foo/');
-        $session = new Session($driver);
-
-        $session->visit('http://localhost/foo/index.html');
-        $this->assertEquals(200, $session->getStatusCode());
-        $this->assertEquals('http://localhost/foo/index.html', $session->getCurrentUrl());
-    }
-}
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/Custom/ErrorHandlingTest.php b/core/vendor/behat/mink-browserkit-driver/tests/Custom/ErrorHandlingTest.php
deleted file mode 100644
index 32335c5..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/Custom/ErrorHandlingTest.php
+++ /dev/null
@@ -1,181 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Custom;
-
-use Behat\Mink\Driver\BrowserKitDriver;
-use Symfony\Component\BrowserKit\Client;
-use Symfony\Component\BrowserKit\Response;
-
-class ErrorHandlingTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var TestClient
-     */
-    private $client;
-
-    protected function setUp()
-    {
-        $this->client = new TestClient();
-    }
-
-    public function testGetClient()
-    {
-        $this->assertSame($this->client, $this->getDriver()->getClient());
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage Unable to access the response before visiting a page
-     */
-    public function testGetResponseHeaderWithoutVisit()
-    {
-        $this->getDriver()->getResponseHeaders();
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage Unable to access the response content before visiting a page
-     */
-    public function testFindWithoutVisit()
-    {
-        $this->getDriver()->find('//html');
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage Unable to access the request before visiting a page
-     */
-    public function testGetCurrentUrlWithoutVisit()
-    {
-        $this->getDriver()->getCurrentUrl();
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage The selected node has an invalid form attribute (foo)
-     */
-    public function testNotMatchingHtml5FormId()
-    {
-        $html = <<<'HTML'
-<html>
-<body>
-    <form id="test">
-        <input name="test" value="foo" form="foo">
-        <input type="submit">
-    </form>
-</body>
-</html>
-HTML;
-
-        $this->client->setNextResponse(new Response($html));
-
-        $driver = $this->getDriver();
-        $driver->visit('/index.php');
-        $driver->setValue('//input[./@name="test"]', 'bar');
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage The selected node has an invalid form attribute (foo)
-     */
-    public function testInvalidHtml5FormId()
-    {
-        $html = <<<'HTML'
-<html>
-<body>
-    <form id="test">
-        <input name="test" value="foo" form="foo">
-        <input type="submit">
-    </form>
-    <div id="foo"></div>
-</body>
-</html>
-HTML;
-
-        $this->client->setNextResponse(new Response($html));
-
-        $driver = $this->getDriver();
-        $driver->visit('/index.php');
-        $driver->setValue('//input[./@name="test"]', 'bar');
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage The selected node does not have a form ancestor.
-     */
-    public function testManipulateInputWithoutForm()
-    {
-        $html = <<<'HTML'
-<html>
-<body>
-    <form id="test">
-        <input type="submit">
-    </form>
-    <div id="foo">
-        <input name="test" value="foo">
-    </div>
-</body>
-</html>
-HTML;
-
-        $this->client->setNextResponse(new Response($html));
-
-        $driver = $this->getDriver();
-        $driver->visit('/index.php');
-        $driver->setValue('//input[./@name="test"]', 'bar');
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage Behat\Mink\Driver\BrowserKitDriver supports clicking on links and buttons only. But "div" provided
-     */
-    public function testClickOnUnsupportedElement()
-    {
-        $html = <<<'HTML'
-<html>
-<body>
-    <div></div>
-</body>
-</html>
-HTML;
-
-        $this->client->setNextResponse(new Response($html));
-
-        $driver = $this->getDriver();
-        $driver->visit('/index.php');
-        $driver->click('//div');
-    }
-
-    private function getDriver()
-    {
-        return new BrowserKitDriver($this->client);
-    }
-}
-
-class TestClient extends Client
-{
-    protected $nextResponse = null;
-    protected $nextScript = null;
-
-    public function setNextResponse(Response $response)
-    {
-        $this->nextResponse = $response;
-    }
-
-    public function setNextScript($script)
-    {
-        $this->nextScript = $script;
-    }
-
-    protected function doRequest($request)
-    {
-        if (null === $this->nextResponse) {
-            return new Response();
-        }
-
-        $response = $this->nextResponse;
-        $this->nextResponse = null;
-
-        return $response;
-    }
-}
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/app.php b/core/vendor/behat/mink-browserkit-driver/tests/app.php
deleted file mode 100644
index d3f1236..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/app.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-namespace app;
-
-$app = new \Silex\Application();
-$app->register(new \Silex\Provider\SessionServiceProvider());
-
-$def = realpath(__DIR__.'/../vendor/behat/mink/driver-testsuite/web-fixtures');
-$ovr = realpath(__DIR__.'/web-fixtures');
-$cbk = function ($file) use ($app, $def, $ovr) {
-    $file = str_replace('.file', '.php', $file);
-    $path = file_exists($ovr.'/'.$file) ? $ovr.'/'.$file : $def.'/'.$file;
-    $resp = null;
-
-    ob_start();
-    include($path);
-    $content = ob_get_clean();
-
-    if ($resp) {
-        if ('' === $resp->getContent()) {
-            $resp->setContent($content);
-        }
-
-        return $resp;
-    }
-
-    return $content;
-};
-
-$app->get('/{file}', $cbk)->assert('file', '.*');
-$app->post('/{file}', $cbk)->assert('file', '.*');
-
-$app['debug'] = true;
-$app['exception_handler']->disable();
-$app['session.test'] = true;
-
-return $app;
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/404.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/404.php
deleted file mode 100644
index 2ae1ff9..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/404.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-$resp = new Symfony\Component\HttpFoundation\Response('Sorry, page not found', 404);
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/500.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/500.php
deleted file mode 100644
index 8f1ebb3..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/500.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-$resp = new Symfony\Component\HttpFoundation\Response('Sorry, a server error happened', 500);
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/advanced_form_post.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/advanced_form_post.php
deleted file mode 100644
index 71d1c8d..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/advanced_form_post.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>Advanced form save</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-</head>
-<body>
-<?php
-error_reporting(0);
-
-$request = $app['request'];
-$POST = $request->request->all();
-$FILES = $request->files->all();
-
-if (isset($POST['select_multiple_numbers']) && false !== strpos($POST['select_multiple_numbers'][0], ',')) {
-    $POST['select_multiple_numbers'] = explode(',', $POST['select_multiple_numbers'][0]);
-}
-
-// checkbox can have any value and will be successful in case "on"
-// http://www.w3.org/TR/html401/interact/forms.html#checkbox
-$POST['agreement'] = isset($POST['agreement']) ? 'on' : 'off';
-ksort($POST);
-echo str_replace('>', '', var_export($POST, true)) . "\n";
-if (isset($FILES['about']) && file_exists($FILES['about']->getPathname())) {
-    echo $FILES['about']->getClientOriginalName() . "\n";
-    echo file_get_contents($FILES['about']->getPathname());
-} else {
-    echo "no file";
-}
-?>
-</body>
-</html>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_auth.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_auth.php
deleted file mode 100644
index 48132b6..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_auth.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-$SERVER = $app['request']->server->all();
-
-$username = isset($SERVER['PHP_AUTH_USER']) ? $SERVER['PHP_AUTH_USER'] : false;
-$password = isset($SERVER['PHP_AUTH_PW']) ? $SERVER['PHP_AUTH_PW'] : false;
-
-if ($username == 'mink-user' && $password == 'mink-password') {
-    echo 'is authenticated';
-} else {
-    $resp = new \Symfony\Component\HttpFoundation\Response();
-    $resp->setStatusCode(401);
-    $resp->headers->set('WWW-Authenticate', 'Basic realm="Mink Testing Area"');
-
-    echo 'is not authenticated';
-}
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_form_post.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_form_post.php
deleted file mode 100644
index 1efe45e..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_form_post.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php  ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>Basic Form Saving</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>Anket for <?php echo $app['request']->request->get('first_name') ?></h1>
-
-    <span id="first">Firstname: <?php echo $app['request']->request->get('first_name') ?></span>
-    <span id="last">Lastname: <?php echo $app['request']->request->get('last_name') ?></span>
-</body>
-</html>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_get_form.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_get_form.php
deleted file mode 100644
index fd2817d..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_get_form.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>Basic Get Form</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>Basic Get Form Page</h1>
-
-    <div id="serach">
-        <?php
-        $GET = $app['request']->query->all();
-        echo isset($GET['q']) && $GET['q'] ? $GET['q'] : 'No search query'
-        ?>
-    </div>
-
-    <form>
-        <input name="q" value="" type="text" />
-
-        <input type="submit" value="Find" />
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page1.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page1.php
deleted file mode 100644
index a928b2f..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page1.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-    $resp = new Symfony\Component\HttpFoundation\Response();
-    $cook = new Symfony\Component\HttpFoundation\Cookie('srvr_cookie', 'srv_var_is_set', 0, '/');
-    $resp->headers->setCookie($cook);
-?>
-<!doctype html public "-//w3c//dtd xhtml 1.1//en" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>basic form</title>
-    <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
-    <script>
-    </script>
-</head>
-<body>
-    basic page with cookie set from server side
-</body>
-</html>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page2.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page2.php
deleted file mode 100644
index ab54243..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page2.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>Basic Form</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-    <script>
-    </script>
-</head>
-<body>
-    Previous cookie: <?php
-        echo $app['request']->cookies->has('srvr_cookie') ? $app['request']->cookies->get('srvr_cookie') : 'NO';
-    ?>
-</body>
-</html>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page3.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page3.php
deleted file mode 100644
index f24d587..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page3.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-$hasCookie = $app['request']->cookies->has('foo');
-$resp = new Symfony\Component\HttpFoundation\Response();
-$cook = new Symfony\Component\HttpFoundation\Cookie('foo', 'bar');
-$resp->headers->setCookie($cook);
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>HttpOnly Cookie Test</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-    <script>
-    </script>
-</head>
-<body>
-    <div id="cookie-status">Has Cookie: <?php echo json_encode($hasCookie) ?></div>
-</body>
-</html>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/headers.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/headers.php
deleted file mode 100644
index b829425..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/headers.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>Headers page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <?php print_r($app['request']->server->all()); ?>
-</body>
-</html>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue130.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue130.php
deleted file mode 100644
index 2079673..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue130.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<html>
-<body>
-    <?php
-    if ('1' === $app['request']->query->get('p')) {
-        echo '<a href="/issue130.php?p=2">Go to 2</a>';
-    } else {
-        echo '<strong>'.$app['request']->headers->get('referer').'</strong>';
-    }
-    ?>
-</body>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue140.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue140.php
deleted file mode 100644
index 42d8437..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue140.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<html>
-<body>
-<?php if ($app['request']->isMethod('POST')) {
-    $resp = new Symfony\Component\HttpFoundation\Response();
-    $cook = new Symfony\Component\HttpFoundation\Cookie('tc', $app['request']->request->get('cookie_value'));
-    $resp->headers->setCookie($cook);
-} elseif ($app['request']->query->has('show_value')) {
-    echo $app['request']->cookies->get('tc');
-    return;
-}
-?>
-    <form method="post">
-        <input name="cookie_value">
-        <input type="submit" value="Set cookie">
-    </form>
-</body>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/print_cookies.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/print_cookies.php
deleted file mode 100644
index ac6f078..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/print_cookies.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>Cookies page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <?php
-    $cookies = $app['request']->cookies->all();
-    unset($cookies['MOCKSESSID']);
-
-    if (isset($cookies['srvr_cookie'])) {
-        $srvrCookie = $cookies['srvr_cookie'];
-        unset($cookies['srvr_cookie']);
-        $cookies['_SESS'] = '';
-        $cookies['srvr_cookie'] = $srvrCookie;
-    }
-
-    foreach ($cookies as $name => $val) {
-        $cookies[$name] = (string)$val;
-    }
-    echo str_replace(array('>'), '', var_export($cookies, true));
-    ?>
-</body>
-</html>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/redirector.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/redirector.php
deleted file mode 100644
index 39e8a53..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/redirector.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-$resp = new Symfony\Component\HttpFoundation\RedirectResponse('/redirect_destination.html');
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/response_headers.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/response_headers.php
deleted file mode 100644
index a2f48f8..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/response_headers.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-    $resp = new Symfony\Component\HttpFoundation\Response();
-    $resp->headers->set('X-Mink-Test', 'response-headers');
-?>
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <title>Response headers</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-</head>
-<body>
-    <h1>Response headers</h1>
-</body>
-</html>
-
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/session_test.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/session_test.php
deleted file mode 100644
index 58576e3..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/session_test.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-$session = $app['request']->getSession();
-
-if ($app['request']->query->has('login')) {
-    $session->migrate();
-}
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>Session Test</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-    <script>
-    </script>
-</head>
-<body>
-    <div id="session-id"><?php echo $session->getId() ?></div>
-</body>
-</html>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page1.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page1.php
deleted file mode 100644
index 807c23e..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page1.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-    $requestUri = $app['request']->server->get('REQUEST_URI');
-    $resp = new Symfony\Component\HttpFoundation\Response();
-    $cook = new Symfony\Component\HttpFoundation\Cookie('srvr_cookie', 'srv_var_is_set_sub_folder', 0, dirname($requestUri));
-    $resp->headers->setCookie($cook);
-?>
-<!doctype html public "-//w3c//dtd xhtml 1.1//en" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>basic form</title>
-    <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
-    <script>
-    </script>
-</head>
-<body>
-    basic page with cookie set from server side
-</body>
-</html>
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page2.php b/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page2.php
deleted file mode 100644
index 22a7dab..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page2.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-<head>
-    <title>Basic Form</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-    <script>
-    </script>
-</head>
-<body>
-    Previous cookie: <?php
-    if ($app['request']->cookies->has('srvr_cookie')) {
-        echo $app['request']->cookies->get('srvr_cookie');
-    } else {
-        echo 'NO';
-    }
-    ?>
-</body>
-</html>
diff --git a/core/vendor/behat/mink-goutte-driver/.gitignore b/core/vendor/behat/mink-goutte-driver/.gitignore
deleted file mode 100644
index 1d034f4..0000000
--- a/core/vendor/behat/mink-goutte-driver/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-vendor
-composer.phar
-composer.lock
-phpunit.xml
diff --git a/core/vendor/behat/mink-goutte-driver/.travis.yml b/core/vendor/behat/mink-goutte-driver/.travis.yml
deleted file mode 100644
index d21d960..0000000
--- a/core/vendor/behat/mink-goutte-driver/.travis.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-language: php
-
-php: [5.3, 5.4, 5.5, 5.6, hhvm]
-
-before_install:
-  # Force using Goutte 2 on HHVM for now because Guzzle 6 is broken there
-  - if [ "hhvm" = "$TRAVIS_PHP_VERSION" ]; then composer require fabpot/goutte '~2' --no-update; fi
-
-before_script:
-  - export WEB_FIXTURES_HOST=http://localhost
-
-  - composer install --dev --prefer-source
-
-  - sudo apt-get update
-  - sudo apt-get install -y --force-yes apache2 libapache2-mod-php5
-  - sudo sed -i -e "s,/var/www,$(pwd)/vendor/behat/mink/driver-testsuite/web-fixtures,g" /etc/apache2/sites-available/default
-  - sudo /etc/init.d/apache2 restart
-
-script: phpunit -v --coverage-clover=coverage.clover
-
-after_script:
-  - wget https://scrutinizer-ci.com/ocular.phar
-  - php ocular.phar code-coverage:upload --format=php-clover coverage.clover
diff --git a/core/vendor/behat/mink-goutte-driver/CHANGELOG.md b/core/vendor/behat/mink-goutte-driver/CHANGELOG.md
deleted file mode 100644
index fcaa7f0..0000000
--- a/core/vendor/behat/mink-goutte-driver/CHANGELOG.md
+++ /dev/null
@@ -1,20 +0,0 @@
-1.1.0 / 2014-10-09
-==================
-
-The driver now relies on BrowserKitDriver 1.2.x, so all changes of this driver are relevant.
-The changes below only describe the changes related to GoutteDriver specifically.
-
-New features:
-
-* Added the possibility to use a normal Goutte client instead of requiring to use an extended one
-* Added the support of Goutte 2.0 as well
-
-Bug fixes:
-
-* Fixed the support of disabling basic auth
-* Fixed the resetting of the driver to reset the basic auth
-
-Testing:
-
-* Updated the testsuite to use the new Mink 1.6 driver testsuite
-* Added testing on HHVM
diff --git a/core/vendor/behat/mink-goutte-driver/LICENSE b/core/vendor/behat/mink-goutte-driver/LICENSE
deleted file mode 100644
index 3365ae6..0000000
--- a/core/vendor/behat/mink-goutte-driver/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2012-2013 Konstantin Kudryashov <ever.zet@gmail.com>
-
-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/core/vendor/behat/mink-goutte-driver/README.md b/core/vendor/behat/mink-goutte-driver/README.md
deleted file mode 100644
index cba60a0..0000000
--- a/core/vendor/behat/mink-goutte-driver/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-Mink Goutte Driver
-==================
-
-[![Latest Stable Version](https://poser.pugx.org/behat/mink-goutte-driver/v/stable.svg)](https://packagist.org/packages/behat/mink-goutte-driver)
-[![Latest Unstable Version](https://poser.pugx.org/behat/mink-goutte-driver/v/unstable.svg)](https://packagist.org/packages/behat/mink-goutte-driver)
-[![Total Downloads](https://poser.pugx.org/behat/mink-goutte-driver/downloads.svg)](https://packagist.org/packages/behat/mink-goutte-driver)
-[![Build Status](https://travis-ci.org/minkphp/MinkGoutteDriver.svg?branch=master)](https://travis-ci.org/minkphp/MinkGoutteDriver)
-[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/minkphp/MinkGoutteDriver/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/minkphp/MinkGoutteDriver/)
-[![Code Coverage](https://scrutinizer-ci.com/g/minkphp/MinkGoutteDriver/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/minkphp/MinkGoutteDriver/)
-[![License](https://poser.pugx.org/behat/mink-goutte-driver/license.svg)](https://packagist.org/packages/behat/mink-goutte-driver)
-
-Usage Example
--------------
-
-``` php
-<?php
-
-require "vendor/autoload.php";
-
-use Behat\Mink\Mink,
-    Behat\Mink\Session,
-    Behat\Mink\Driver\GoutteDriver,
-    Behat\Mink\Driver\Goutte\Client as GoutteClient;
-
-$mink = new Mink(array(
-    'goutte' => new Session(new GoutteDriver(new GoutteClient())),
-));
-
-$session = $mink->getSession('goutte');
-$session->visit("http://php.net/");
-$session->getPage()->clickLink('Downloads');
-echo $session->getCurrentUrl() . PHP_EOL;
-```
-
-Installation
-------------
-
-Add a file composer.json with content:
-
-``` json
-{
-    "require": {
-        "behat/mink":               "~1.5",
-        "behat/mink-goutte-driver": "~1.0"
-    }
-}
-```
-
-(or merge the above into your project's existing composer.json file)
-
-``` bash
-$> curl -sS https://getcomposer.org/installer | php
-$> php composer.phar install
-```
-
-Maintainers
------------
-
-* Christophe Coevoet [stof](https://github.com/stof)
-* Other [awesome developers](https://github.com/minkphp/MinkGoutteDriver/graphs/contributors)
diff --git a/core/vendor/behat/mink-goutte-driver/composer.json b/core/vendor/behat/mink-goutte-driver/composer.json
deleted file mode 100644
index f103906..0000000
--- a/core/vendor/behat/mink-goutte-driver/composer.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-    "name":         "behat/mink-goutte-driver",
-    "description":  "Goutte driver for Mink framework",
-    "keywords":     ["goutte", "headless", "testing", "browser"],
-    "homepage":     "http://mink.behat.org/",
-    "type":         "mink-driver",
-    "license":      "MIT",
-
-    "authors": [
-        {
-            "name":      "Konstantin Kudryashov",
-            "email":     "ever.zet@gmail.com",
-            "homepage":  "http://everzet.com"
-        }
-    ],
-
-    "require": {
-        "php":                           ">=5.3.1",
-        "behat/mink":                    "~1.6@dev",
-        "behat/mink-browserkit-driver":  "~1.2@dev",
-        "fabpot/goutte":                 "~1.0.4|~2.0|~3.1"
-    },
-
-    "autoload": {
-        "psr-4": {
-            "Behat\\Mink\\Driver\\": "src/"
-        }
-    },
-
-    "autoload-dev": {
-        "psr-4": {
-            "Behat\\Mink\\Tests\\Driver\\": "tests"
-        }
-    },
-
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.1.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/behat/mink-goutte-driver/phpunit.xml.dist b/core/vendor/behat/mink-goutte-driver/phpunit.xml.dist
deleted file mode 100644
index cbe57c4..0000000
--- a/core/vendor/behat/mink-goutte-driver/phpunit.xml.dist
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit colors="true" bootstrap="vendor/behat/mink/driver-testsuite/bootstrap.php">
-    <testsuites>
-        <testsuite name="Driver test suite">
-            <directory>tests</directory>
-            <directory>vendor/behat/mink/driver-testsuite/tests/Basic</directory>
-            <directory>vendor/behat/mink/driver-testsuite/tests/Form</directory>
-        </testsuite>
-    </testsuites>
-
-    <php>
-        <var name="driver_config_factory" value="Behat\Mink\Tests\Driver\GoutteConfig::getInstance" />
-
-        <!--server name="WEB_FIXTURES_HOST" value="http://test.mink.dev" /-->
-    </php>
-
-    <filter>
-        <whitelist>
-            <directory>./src</directory>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/behat/mink-goutte-driver/src/Goutte/Client.php b/core/vendor/behat/mink-goutte-driver/src/Goutte/Client.php
deleted file mode 100644
index 9d64be7..0000000
--- a/core/vendor/behat/mink-goutte-driver/src/Goutte/Client.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Behat\Mink.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Driver\Goutte;
-
-use Goutte\Client as BaseClient;
-use Symfony\Component\BrowserKit\Response;
-
-/**
- * Client overrides to support Mink functionality.
- */
-class Client extends BaseClient
-{
-    /**
-     * Reads response meta tags to guess content-type charset.
-     *
-     * @param Response $response
-     *
-     * @return Response
-     */
-    protected function filterResponse($response)
-    {
-        $contentType = $response->getHeader('Content-Type');
-
-        if (!$contentType || false === strpos($contentType, 'charset=')) {
-            if (preg_match('/\<meta[^\>]+charset *= *["\']?([a-zA-Z\-0-9]+)/i', $response->getContent(), $matches)) {
-                $headers = $response->getHeaders();
-                $headers['Content-Type'] = $contentType.';charset='.$matches[1];
-
-                $response = new Response($response->getContent(), $response->getStatus(), $headers);
-            }
-        }
-
-        return parent::filterResponse($response);
-    }
-}
diff --git a/core/vendor/behat/mink-goutte-driver/src/GoutteDriver.php b/core/vendor/behat/mink-goutte-driver/src/GoutteDriver.php
deleted file mode 100644
index a42d5a2..0000000
--- a/core/vendor/behat/mink-goutte-driver/src/GoutteDriver.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/*
- * This file is part of the Behat\Mink.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Driver;
-
-use Behat\Mink\Driver\Goutte\Client as ExtendedClient;
-use Goutte\Client;
-
-/**
- * Goutte driver.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class GoutteDriver extends BrowserKitDriver
-{
-    /**
-     * Initializes Goutte driver.
-     *
-     * @param Client $client Goutte client instance
-     */
-    public function __construct(Client $client = null)
-    {
-        parent::__construct($client ?: new ExtendedClient());
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setBasicAuth($user, $password)
-    {
-        if (false === $user) {
-            $this->getClient()->resetAuth();
-
-            return;
-        }
-
-        $this->getClient()->setAuth($user, $password);
-    }
-
-    /**
-     * Gets the Goutte client.
-     *
-     * The method is overwritten only to provide the appropriate return type hint.
-     *
-     * @return Client
-     */
-    public function getClient()
-    {
-        return parent::getClient();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function reset()
-    {
-        parent::reset();
-        $this->getClient()->resetAuth();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function prepareUrl($url)
-    {
-        return $url;
-    }
-}
diff --git a/core/vendor/behat/mink-goutte-driver/tests/Custom/InstantiationTest.php b/core/vendor/behat/mink-goutte-driver/tests/Custom/InstantiationTest.php
deleted file mode 100644
index db75a18..0000000
--- a/core/vendor/behat/mink-goutte-driver/tests/Custom/InstantiationTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Custom;
-
-use Behat\Mink\Driver\GoutteDriver;
-
-class InstantiationTest extends \PHPUnit_Framework_TestCase
-{
-    public function testInstantiateWithClient()
-    {
-        $client = $this->getMockBuilder('Goutte\Client')->disableOriginalConstructor()->getMock();
-        $client->expects($this->once())
-            ->method('followRedirects')
-            ->with(true);
-
-        $driver = new GoutteDriver($client);
-
-        $this->assertSame($client, $driver->getClient());
-    }
-
-    public function testInstantiateWithoutClient()
-    {
-        $driver = new GoutteDriver();
-
-        $this->assertInstanceOf('Behat\Mink\Driver\Goutte\Client', $driver->getClient());
-    }
-}
diff --git a/core/vendor/behat/mink-goutte-driver/tests/GoutteConfig.php b/core/vendor/behat/mink-goutte-driver/tests/GoutteConfig.php
deleted file mode 100644
index bbe90f7..0000000
--- a/core/vendor/behat/mink-goutte-driver/tests/GoutteConfig.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver;
-
-use Behat\Mink\Driver\GoutteDriver;
-
-class GoutteConfig extends AbstractConfig
-{
-    public static function getInstance()
-    {
-        return new self();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function createDriver()
-    {
-        return new GoutteDriver();
-    }
-
-    protected function supportsJs()
-    {
-        return false;
-    }
-}
diff --git a/core/vendor/behat/mink/.gitignore b/core/vendor/behat/mink/.gitignore
deleted file mode 100644
index 66de342..0000000
--- a/core/vendor/behat/mink/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-*.tgz
-*.phar
-phpunit.xml
-composer.lock
-vendor
diff --git a/core/vendor/behat/mink/.travis.yml b/core/vendor/behat/mink/.travis.yml
deleted file mode 100644
index 4c0c786..0000000
--- a/core/vendor/behat/mink/.travis.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-language: php
-
-sudo: false
-
-php: [5.3, 5.4, 5.5, 5.6, hhvm]
-
-cache:
-  directories:
-    - $HOME/.composer/cache
-
-install:
-  - composer install
-
-script: phpunit -v --coverage-clover=coverage.clover
-
-after_script:
-  - wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover coverage.clover
diff --git a/core/vendor/behat/mink/CHANGES.md b/core/vendor/behat/mink/CHANGES.md
deleted file mode 100644
index e21d5af..0000000
--- a/core/vendor/behat/mink/CHANGES.md
+++ /dev/null
@@ -1,255 +0,0 @@
-1.6.1 / 2015-02-04
-==================
-
-Bug fixes:
-
-* Added a check for empty path in `WebAssert::cleanUrl()`
-
-Driver testsuite:
-
-* Added an extra test to ensure the right behavior for traversal
-
-Misc:
-
-* Changed the description in the composer.json
-* Switched the repository structure to use PSR-4
-* Updated URLs for the move to the new Github organization
-
-1.6.0 / 2014-09-26
-==================
-
-  * [BC break] Changed the named selector to prefer exact matches over partial matches
-  * [BC break] Changed `NodeElement::getValue` for checkboxes to return the value rather than the checked state (use `isChecked` for that)
-  * Fixed the XPath prefixing when searching inside an existing element
-  * Refactored the driver testsuite entirely and expand it to cover drivers entirely (covering many more cases for consistency)
-  * Changed `NodeElement::setValue` to support any fields rather than only input elements
-  * Removed the wrapping of any driver-level exception in a MinkException on invalid usage as it was making the code too complex
-  * Fixed the matching of the input type in the named selector to be case insensitive according to the HTML spec
-  * Introduced `Behat\Mink\Selector\Xpath\Escaper` to allow reusing the XPath escaping
-  * Deprecated `Element::getSession`. Code needing the session should get it from outside rather than the element
-  * Changed ElementNotFoundException to extend from ExpectationException
-  * Added `Element::getOuterHtml` to get the HTML code of the element including itself
-  * Fixed the name selectors to match on the `placeholder` only for textual inputs
-  * Enforced consistent behavior for drivers on 4xx and 5xx response to return the response rather than throwing an exception
-  * Added `Element::waitFor` to allow retrying some code until it succeeds or the timeout is reached
-  * Added `Element::isValid` to check whether an element still exists in the page
-  * Made `Session::executeScript` compatible across drivers by ensuring they all support the same syntaxes for the JS expression
-  * Made `Session::evaluateScript` compatible across drivers by ensuring they all support the same syntaxes for the JS expression
-  * Removed `hasClass` from `DocumentElement` (instead of triggering a fatal error)
-  * Added testing on HHVM to ensure consistency
-  * Fixed `NodeElement::getTagName` to ensure that the tag name is lowercase for all drivers
-  * Fixed `Element::hasAttribute` to ensure it supports attributes with an empty value
-  * Fixed the `field` selector to avoid matching inputs with the type `submit` or `reset`
-  * Changed the button XPath selection to accept `reset` buttons as well
-  * Changed `Session::wait` to return the condition value rather than nothing
-  * Added `Session::getWindowName` and `Session::getWindowNames` to get the name of the current and of all windows
-  * Added `Session::maximizeWindow` to maximize the window
-  * Added `NodeElement::isSelected` to check whether an `<option>` is selected
-  * Added `NodeElement::submitForm` to allow submitting a form without using a button
-  * Added assertions about the value of an attribute
-  * Added the anchor in the assertion on the URL in `WebAssert`
-
-1.5.0 / 2013-04-14
-==================
-
-  * Add `CoreDriver` to simplify future drivers improvements
-  * Add `Mink::isSessionStarted()` method
-  * Fix multibite string `preg_replace` bugs
-  * Fix handling of whitespaces in `WebAssert::pageText...()` methods
-
-1.4.3 / 2013-03-02
-==================
-
-  * Bump dependencies constraints
-
-1.4.2 / 2013-02-13
-==================
-
-  * Fix wrong test case to ensure that core drivers work as expected
-
-1.4.1 / 2013-02-10
-==================
-
-  * Update dependencies
-  * Add ElementException to element actions
-  * Rel attribute support for named selectors
-  * Add hasClass() helper to traversable elements
-  * Add getScreenshot() method to session
-  * Name attr support in named selector for button
-  * Fix for bunch of bugs
-
-1.4.0 / 2012-05-40
-==================
-
-  * New `Session::selectWindow()` and `Session::selectIFrame()` methods
-  * New built-in `WebAssert` class
-  * Fixed DocBlocks (autocompletion in any IDE now should just work)
-  * Moved Behat-related code into `Behat\MinkExtension`
-  * Removed PHPUnit test case class
-  * Updated composer dependencies to not require custom repository anymore
-  * All drivers moved into separate packages
-
-1.3.3 / 2012-03-23
-==================
-
-  * Prevent exceptions in `__toString()`
-  * Added couple of useful step definitions for Behat
-  * Fixed issues #168, #211, #212, #208
-  * Lot of small bug fixes and improvements
-  * Fixed dependencies and composer installation routine
-
-1.3.2 / 2011-12-21
-==================
-
-  * Fixed webdriver registration in MinkContext
-
-1.3.1 / 2011-12-21
-==================
-
-  * Fixed Composer package
-
-1.3.0 / 2011-12-21
-==================
-
-  * Brand new Selenium2Driver (webdriver session)
-  * Multiselect bugfixes
-  * ZombieDriver back in the business
-  * Composer now manages dependencies
-  * Some MinkContext steps got fixes
-  * Lots of bug fixes and cleanup
-
-1.2.0 / 2011-11-04
-==================
-
-  * Brand new SeleniumDriver (thanks @alexandresalome)
-  * Multiselect support (multiple options selection), including new Behat steps
-  * Ability to select option by it's text (in addition to value)
-  * ZombieDriver updates
-  * Use SuiteHooks to populate parameters (no need to call parent __construct anymore)
-  * Updated Goutte and all vendors
-  * Lot of bugfixes and new tests
-
-1.1.1 / 2011-08-12
-==================
-
-  * Fixed Zombie.js server termination on Linux
-  * Fixed base_url usage for external URLs
-
-1.1.0 / 2011-08-08
-==================
-
-  * Added Zombie.js driver (thanks @b00giZm)
-  * Added pt translation (thanks Daniel Gomes)
-  * Refactored MinkContext and MinkTestCase
-
-1.0.3 / 2011-08-02
-==================
-
-  * File uploads for empty fields fixed (GoutteDriver)
-  * Lazy sessions restart
-  * `show_tmp_dir` option in MinkContext
-  * Updated to stable Symfony2 components
-  * SahiClient connection limit bumped to 60 seconds
-  * Dutch language support
-
-1.0.2 / 2011-07-22
-==================
-
-  * ElementHtmlException fixed (thanks @Stof)
-
-1.0.1 / 2011-07-21
-==================
-
-  * Fixed buggy assertions in MinkContext
-
-1.0.0 / 2011-07-20
-==================
-
-  * Added missing tests for almost everything
-  * Hude speedup for SahiDriver
-  * Support for Behat 2.0 contexts
-  * Bundled PHPUnit TestCase
-  * Deep element traversing
-  * Correct behavior of getText() method
-  * New getHtml() method
-  * Basic HTTP auth support
-  * Soft and hard session resetting
-  * Cookies management
-  * Browser history interactions (reload(), back(), forward())
-  * Weaverryan'd exception messages
-  * Huge amount of bugfixes and small additions
-
-0.3.2 / 2011-06-20
-==================
-
-  * Fixed file uploads in Goutte driver
-  * Fixed setting of long texts into fields
-  * Added getPlainText() (returns text without tags and whitespaces) method to the element's API
-  * Start_url is now optional parameter
-  * Default session (if needed) name now need to be always specified by hands with setDefaultSessionName()
-  * default_driver => default_session
-  * Updated Symfony Components
-
-0.3.1 / 2011-05-17
-==================
-
-  * Small SahiClient update (it generates SID now if no provided)
-  * setActiveSessionName => setDefaultSessionName method rename
-
-0.3.0 / 2011-05-17
-==================
-
-  * Rewritten from scratch Mink drivers handler. Now it's sessions handler. And Mink now
-    sessions-centric tool. See examples in readme. Much cleaner API now.
-
-0.2.4 / 2011-05-12
-==================
-
-  * Fixed wrong url locator function
-  * Fixed wrong regex in `should see` step
-  * Fixed delimiters use in `should see` step
-  * Added url-match step for checking urls against regex
-
-0.2.3 / 2011-05-01
-==================
-
-  * Updated SahiClient with new version, which is faster and cleaner with it's exceptions
-
-0.2.2 / 2011-05-01
-==================
-
-  * Ability to use already started browser as SahiDriver aim
-  * Added japanese translation for bundled steps (thanks @hidenorigoto)
-  * 10 seconds limit for browser connection in SahiDriver
-
-0.2.1 / 2011-04-21
-==================
-
-  * Fixed some bundled step definitions
-
-0.2.0 / 2011-04-21
-==================
-
-  * Additional step definitions
-  * Support for extended drivers configuration through behat.yml environment parameters
-  * Lots of new named selectors
-  * Bug fixes
-  * Small improvements
-
-0.1.2 / 2011-04-08
-==================
-
-  * Fixed Sahi url escaping
-
-0.1.1 / 2011-04-06
-==================
-
-  * Fixed should/should_not steps
-  * Added spanish translation
-  * Fixed forms to use <base> element
-  * Fixed small UnsupportedByDriverException issue
-
-0.1.0 / 2011-04-04
-==================
-
-  * Initial release
diff --git a/core/vendor/behat/mink/CONTRIBUTING.md b/core/vendor/behat/mink/CONTRIBUTING.md
deleted file mode 100644
index 5db4d85..0000000
--- a/core/vendor/behat/mink/CONTRIBUTING.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Contributing
-Mink is an open source, community-driven project. If you'd like to contribute, feel free to do this, but remember to follow these few simple rules:
-
-## Submitting an issues
-- __Driver-related__ issues must be reported in the corresponding driver repository
-- A reproducible example is required for every bug report, otherwise it will most probably be __closed without warning__
-- If you are going to make a big, substantial change, let's discuss it first
-
-## Working with Pull Requests
-1. Create your feature addition or a bug fix branch based on `master` branch in your repository's fork.
-2. Make necessary changes, but __don't mix__ code reformatting with code changes on topic.
-3. Add tests for those changes (please look into `tests/` folder for some examples). This is important so we don't break it in a future version unintentionally.
-4. Commit your code, but do not mess with `CHANGES.md`.
-5. Squash your commits by topic to preserve a clean and readable log.
-6. Create Pull Request.
-
-# Running tests
-Make sure that you don't break anything with your changes by running:
-
-```bash
-$> phpunit
-```
diff --git a/core/vendor/behat/mink/LICENSE b/core/vendor/behat/mink/LICENSE
deleted file mode 100644
index 14f15e8..0000000
--- a/core/vendor/behat/mink/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2011-2013 Konstantin Kudryashov <ever.zet@gmail.com>
-
-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/core/vendor/behat/mink/README.md b/core/vendor/behat/mink/README.md
deleted file mode 100644
index 2299506..0000000
--- a/core/vendor/behat/mink/README.md
+++ /dev/null
@@ -1,74 +0,0 @@
-Mink
-====
-[![Latest Stable Version](https://poser.pugx.org/behat/mink/v/stable.svg)](https://packagist.org/packages/behat/mink)
-[![Latest Unstable Version](https://poser.pugx.org/behat/mink/v/unstable.svg)](https://packagist.org/packages/behat/mink)
-[![Total Downloads](https://poser.pugx.org/behat/mink/downloads.svg)](https://packagist.org/packages/behat/mink)
-[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/minkphp/Mink/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/minkphp/Mink/?branch=master)
-[![Code Coverage](https://scrutinizer-ci.com/g/minkphp/Mink/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/minkphp/Mink/)
-[![Build Status](https://travis-ci.org/minkphp/Mink.svg?branch=master)](https://travis-ci.org/minkphp/Mink)
-[![SensioLabsInsight](https://insight.sensiolabs.com/projects/5bb8fab0-978f-428a-ae23-44ee4e129fbc/mini.png)](https://insight.sensiolabs.com/projects/5bb8fab0-978f-428a-ae23-44ee4e129fbc)
-[![License](https://poser.pugx.org/behat/mink/license.svg)](https://packagist.org/packages/behat/mink)
-
-
-Useful Links
-------------
-
-- The main website with documentation is at [http://mink.behat.org](http://mink.behat.org)
-- Official Google Group is at [http://groups.google.com/group/behat](http://groups.google.com/group/behat)
-- IRC channel on [#freenode](http://freenode.net/) is `#behat`
-- [Note on Patches/Pull Requests](CONTRIBUTING.md)
-
-Usage Example
--------------
-
-``` php
-<?php
-
-use Behat\Mink\Mink,
-    Behat\Mink\Session,
-    Behat\Mink\Driver\GoutteDriver,
-    Behat\Mink\Driver\Goutte\Client as GoutteClient;
-
-$startUrl = 'http://example.com';
-
-// init Mink and register sessions
-$mink = new Mink(array(
-    'goutte1' => new Session(new GoutteDriver(new GoutteClient())),
-    'goutte2' => new Session(new GoutteDriver(new GoutteClient())),
-    'custom'  => new Session(new MyCustomDriver($startUrl))
-));
-
-// set the default session name
-$mink->setDefaultSessionName('goutte2');
-
-// visit a page
-$mink->getSession()->visit($startUrl);
-
-// call to getSession() without argument will always return a default session if has one (goutte2 here)
-$mink->getSession()->getPage()->findLink('Downloads')->click();
-echo $mink->getSession()->getPage()->getContent();
-
-// call to getSession() with argument will return session by its name
-$mink->getSession('custom')->getPage()->findLink('Downloads')->click();
-echo $mink->getSession('custom')->getPage()->getContent();
-
-// this all is done to make possible mixing sessions
-$mink->getSession('goutte1')->getPage()->findLink('Chat')->click();
-$mink->getSession('goutte2')->getPage()->findLink('Chat')->click();
-```
-
-Install Dependencies
---------------------
-
-``` bash
-$> curl -sS https://getcomposer.org/installer | php
-$> php composer.phar install
-```
-
-Contributors
-------------
-
-* Konstantin Kudryashov [everzet](https://github.com/everzet) [lead developer]
-* Christophe Coevoet [stof](https://github.com/stof) [lead developer]
-* Alexander Obuhovich [aik099](https://github.com/aik099) [lead developer]
-* Other [awesome developers](https://github.com/minkphp/Mink/graphs/contributors)
diff --git a/core/vendor/behat/mink/composer.json b/core/vendor/behat/mink/composer.json
deleted file mode 100644
index 7a8723f..0000000
--- a/core/vendor/behat/mink/composer.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-    "name":         "behat/mink",
-    "description":  "Browser controller/emulator abstraction for PHP",
-    "keywords":     ["web", "testing", "browser"],
-    "homepage":     "http://mink.behat.org/",
-    "type":         "library",
-    "license":      "MIT",
-
-    "authors": [
-        {
-            "name":      "Konstantin Kudryashov",
-            "email":     "ever.zet@gmail.com",
-            "homepage":  "http://everzet.com"
-        }
-    ],
-
-    "require": {
-        "php":                   ">=5.3.1",
-        "symfony/css-selector":  "~2.0"
-    },
-
-    "suggest": {
-        "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
-        "behat/mink-goutte-driver":     "fast headless driver for any app without JS emulation",
-        "behat/mink-selenium2-driver":  "slow, but JS-enabled driver for any app (requires Selenium2)",
-        "behat/mink-zombie-driver":     "fast and JS-enabled headless driver for any app (requires node.js)"
-    },
-
-    "autoload": {
-        "psr-4": {
-            "Behat\\Mink\\": "src/"
-        }
-    },
-
-    "autoload-dev": {
-        "psr-4": {
-            "Behat\\Mink\\Tests\\": "tests"
-        }
-    },
-
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.6.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/README.md b/core/vendor/behat/mink/driver-testsuite/README.md
deleted file mode 100644
index f2af9a8..0000000
--- a/core/vendor/behat/mink/driver-testsuite/README.md
+++ /dev/null
@@ -1,96 +0,0 @@
-Mink Driver testsuite
-=====================
-
-This is the common testsuite for Mink drivers to ensure consistency among implementations.
-
-Usage
------
-
-The testsuite of a driver should be based as follow:
-
-```json
-{
-    "require": {
-        "behat/mink": "~1.6@dev"
-    },
-
-    "autoload-dev": {
-        "psr-4": {
-            "Acme\\MyDriver\\Tests\\": "tests"
-        }
-    }
-}
-```
-
-```xml
-<!-- phpunit.xml.dist -->
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit colors="true" bootstrap="vendor/behat/mink/driver-testsuite/bootstrap.php">
-    <php>
-        <var name="driver_config_factory" value="Acme\MyDriver\Tests\Config::getInstance" />
-
-        <server name="WEB_FIXTURES_HOST" value="http://test.mink.dev" />
-    </php>
-
-    <testsuites>
-        <testsuite name="Functional tests">
-            <directory>vendor/behat/mink/driver-testsuite/tests</directory>
-        </testsuite>
-        <!-- if needed to add more tests -->
-        <testsuite name="Driver tests">
-            <directory>./tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./src</directory>
-        </whitelist>
-    </filter>
-</phpunit>
-```
-
-Then create the driver config for the testsuite:
-
-```php
-// tests/Config.php
-
-namespace Acme\MyDriver\Tests;
-
-use Behat\Mink\Tests\Driver\AbstractConfig;
-
-class Config extends AbstractConfig
-{
-    /**
-     * Creates an instance of the config.
-     *
-     * This is the callable registered as a php variable in the phpunit.xml config file.
-     * It could be outside the class but this is convenient.
-     */
-    public static function getInstance()
-    {
-        return new self();
-    }
-
-    /**
-     * Creates driver instance.
-     *
-     * @return \Behat\Mink\Driver\DriverInterface
-     */
-    public function createDriver()
-    {
-        return new \Acme\MyDriver\MyDriver();
-    }
-}
-```
-
-Some other methods are available in the AbstractConfig which can be overwritten to adapt the testsuite to
-the needs of the driver (skipping some tests for instance).
-
-Adding Driver-specific Tests
-----------------------------
-
-When adding extra test cases specific to the driver, either use your own namespace or put them in the
-``Behat\Mink\Tests\Driver\Custom`` subnamespace to ensure that you will not create conflicts with test cases
-added in the driver testsuite in the future.
diff --git a/core/vendor/behat/mink/driver-testsuite/bootstrap.php b/core/vendor/behat/mink/driver-testsuite/bootstrap.php
deleted file mode 100644
index f69a45b..0000000
--- a/core/vendor/behat/mink/driver-testsuite/bootstrap.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-$file = __DIR__.'/../../../autoload.php';
-
-if (!file_exists($file)) {
-    echo PHP_EOL.'The Mink driver testsuite expects Mink to be installed as a composer dependency of your project'.PHP_EOL;
-    exit(1);
-}
-
-/** @var \Composer\Autoload\ClassLoader $loader */
-$loader = require $file;
-
-$loader->addPsr4('Behat\Mink\Tests\Driver\\', __DIR__.'/tests');
-
-// Clean the global variables
-unset($file);
-unset($loader);
-
-// Check the definition of the driverLoaderFactory
-
-if (!isset($GLOBALS['driver_config_factory'])) {
-    echo PHP_EOL.'The "driver_config_factory" global variable must be set.'.PHP_EOL;
-    exit(1);
-}
-if (!is_callable($GLOBALS['driver_config_factory'])) {
-    echo PHP_EOL.'The "driver_config_factory" global variable must be a callable.'.PHP_EOL;
-    exit(1);
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/AbstractConfig.php b/core/vendor/behat/mink/driver-testsuite/tests/AbstractConfig.php
deleted file mode 100644
index f654297..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/AbstractConfig.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver;
-
-use Behat\Mink\Driver\DriverInterface;
-
-abstract class AbstractConfig
-{
-    /**
-     * Creates driver instance.
-     *
-     * @return DriverInterface
-     */
-    abstract public function createDriver();
-
-    /**
-     * Map remote file path.
-     *
-     * @param string $file File path.
-     *
-     * @return string
-     */
-    public function mapRemoteFilePath($file)
-    {
-        if (!isset($_SERVER['TEST_MACHINE_BASE_PATH']) || !isset($_SERVER['DRIVER_MACHINE_BASE_PATH'])) {
-            return $file;
-        }
-
-        $pattern = '/^'.preg_quote($_SERVER['TEST_MACHINE_BASE_PATH'], '/').'/';
-        $basePath = $_SERVER['DRIVER_MACHINE_BASE_PATH'];
-
-        return preg_replace($pattern, $basePath, $file, 1);
-    }
-
-    /**
-     * Gets the base url to the fixture folder
-     *
-     * @return string
-     */
-    public function getWebFixturesUrl()
-    {
-        return $_SERVER['WEB_FIXTURES_HOST'];
-    }
-
-    /**
-     * @param string $testCase The name of the TestCase class
-     * @param string $test     The name of the test method
-     *
-     * @return string|null A message explaining why the test should be skipped, or null to run the test.
-     */
-    public function skipMessage($testCase, $test)
-    {
-        if (!$this->supportsCss() && 0 === strpos($testCase, 'Behat\Mink\Tests\Driver\Css\\')) {
-            return 'This driver does not support CSS.';
-        }
-
-        if (!$this->supportsJs() && 0 === strpos($testCase, 'Behat\Mink\Tests\Driver\Js\\')) {
-            return 'This driver does not support JavaScript.';
-        }
-
-        return null;
-    }
-
-    /**
-     * Whether the JS tests should run or no.
-     *
-     * @return bool
-     */
-    protected function supportsJs()
-    {
-        return true;
-    }
-
-    /**
-     * Whether the CSS tests should run or no.
-     *
-     * @return bool
-     */
-    protected function supportsCss()
-    {
-        return false;
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/BasicAuthTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/BasicAuthTest.php
deleted file mode 100644
index 40d932d..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/BasicAuthTest.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class BasicAuthTest extends TestCase
-{
-    /**
-     * @dataProvider setBasicAuthDataProvider
-     */
-    public function testSetBasicAuth($user, $pass, $pageText)
-    {
-        $session = $this->getSession();
-
-        $session->setBasicAuth($user, $pass);
-
-        $session->visit($this->pathTo('/basic_auth.php'));
-
-        $this->assertContains($pageText, $session->getPage()->getContent());
-    }
-
-    public function setBasicAuthDataProvider()
-    {
-        return array(
-            array('mink-user', 'mink-password', 'is authenticated'),
-            array('', '', 'is not authenticated'),
-        );
-    }
-
-    public function testResetBasicAuth()
-    {
-        $session = $this->getSession();
-
-        $session->setBasicAuth('mink-user', 'mink-password');
-
-        $session->visit($this->pathTo('/basic_auth.php'));
-
-        $this->assertContains('is authenticated', $session->getPage()->getContent());
-
-        $session->setBasicAuth(false);
-
-        $session->visit($this->pathTo('/headers.php'));
-
-        $this->assertNotContains('PHP_AUTH_USER', $session->getPage()->getContent());
-    }
-
-    public function testResetWithBasicAuth()
-    {
-        $session = $this->getSession();
-
-        $session->setBasicAuth('mink-user', 'mink-password');
-
-        $session->visit($this->pathTo('/basic_auth.php'));
-
-        $this->assertContains('is authenticated', $session->getPage()->getContent());
-
-        $session->reset();
-
-        $session->visit($this->pathTo('/headers.php'));
-
-        $this->assertNotContains('PHP_AUTH_USER', $session->getPage()->getContent());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ContentTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/ContentTest.php
deleted file mode 100644
index 6f516e8..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ContentTest.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class ContentTest extends TestCase
-{
-    public function testOuterHtml()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $element = $this->getAssertSession()->elementExists('css', '.travers');
-
-        $this->assertEquals(
-            "<div class=\"travers\">\n            <div class=\"sub\">el1</div>\n".
-            "            <div class=\"sub\">el2</div>\n            <div class=\"sub\">\n".
-            "                <a href=\"some_url\">some <strong>deep</strong> url</a>\n".
-            "            </div>\n        </div>",
-            $element->getOuterHtml()
-        );
-    }
-
-    /**
-     * @dataProvider getAttributeDataProvider
-     */
-    public function testGetAttribute($attributeName, $attributeValue)
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $element = $this->getSession()->getPage()->findById('attr-elem['.$attributeName.']');
-
-        $this->assertNotNull($element);
-        $this->assertSame($attributeValue, $element->getAttribute($attributeName));
-    }
-
-    public function getAttributeDataProvider()
-    {
-        return array(
-            array('with-value', 'some-value'),
-            array('without-value', ''),
-            array('with-empty-value', ''),
-            array('with-missing', null),
-        );
-    }
-
-    public function testJson()
-    {
-        $this->getSession()->visit($this->pathTo('/json.php'));
-        $this->assertContains(
-            '{"key1":"val1","key2":234,"key3":[1,2,3]}',
-            $this->getSession()->getPage()->getContent()
-        );
-    }
-
-    public function testHtmlDecodingNotPerformed()
-    {
-        $session = $this->getSession();
-        $webAssert = $this->getAssertSession();
-        $session->visit($this->pathTo('/html_decoding.html'));
-        $page = $session->getPage();
-
-        $span = $webAssert->elementExists('css', 'span');
-        $input = $webAssert->elementExists('css', 'input');
-
-        $expectedHtml = '<span custom-attr="&amp;">some text</span>';
-        $this->assertContains($expectedHtml, $page->getHtml(), '.innerHTML is returned as-is');
-        $this->assertContains($expectedHtml, $page->getContent(), '.outerHTML is returned as-is');
-
-        $this->assertEquals('&', $span->getAttribute('custom-attr'), '.getAttribute value is decoded');
-        $this->assertEquals('&', $input->getAttribute('value'), '.getAttribute value is decoded');
-        $this->assertEquals('&', $input->getValue(), 'node value is decoded');
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/CookieTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/CookieTest.php
deleted file mode 100644
index 355dd71..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/CookieTest.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class CookieTest extends TestCase
-{
-    /**
-     * test cookie decoding
-     * @group issue140
-     */
-    public function testIssue140()
-    {
-        $this->getSession()->visit($this->pathTo('/issue140.php'));
-
-        $this->getSession()->getPage()->fillField('cookie_value', 'some:value;');
-        $this->getSession()->getPage()->pressButton('Set cookie');
-
-        $this->getSession()->visit($this->pathTo('/issue140.php?show_value'));
-        $this->assertEquals('some:value;', $this->getSession()->getCookie('tc'));
-        $this->assertEquals('some:value;', $this->getSession()->getPage()->getText());
-    }
-
-    public function testCookie()
-    {
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
-        $this->assertNull($this->getSession()->getCookie('srvr_cookie'));
-
-        $this->getSession()->setCookie('srvr_cookie', 'client cookie set');
-        $this->getSession()->reload();
-        $this->assertContains('Previous cookie: client cookie set', $this->getSession()->getPage()->getText());
-        $this->assertEquals('client cookie set', $this->getSession()->getCookie('srvr_cookie'));
-
-        $this->getSession()->setCookie('srvr_cookie', null);
-        $this->getSession()->reload();
-        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
-
-        $this->getSession()->visit($this->pathTo('/cookie_page1.php'));
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-
-        $this->assertContains('Previous cookie: srv_var_is_set', $this->getSession()->getPage()->getText());
-        $this->getSession()->setCookie('srvr_cookie', null);
-        $this->getSession()->reload();
-        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
-    }
-
-    /**
-     * @dataProvider cookieWithPathsDataProvider
-     */
-    public function testCookieWithPaths($cookieRemovalMode)
-    {
-        // start clean
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
-        $this->assertContains('Previous cookie: NO', $session->getPage()->getText());
-
-        // cookie from root path is accessible in sub-folder
-        $session->visit($this->pathTo('/cookie_page1.php'));
-        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
-        $this->assertContains('Previous cookie: srv_var_is_set', $session->getPage()->getText());
-
-        // cookie from sub-folder overrides cookie from root path
-        $session->visit($this->pathTo('/sub-folder/cookie_page1.php'));
-        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
-        $this->assertContains('Previous cookie: srv_var_is_set_sub_folder', $session->getPage()->getText());
-
-        if ($cookieRemovalMode == 'session_reset') {
-            $session->reset();
-        } elseif ($cookieRemovalMode == 'cookie_delete') {
-            $session->setCookie('srvr_cookie', null);
-        }
-
-        // cookie is removed from all paths
-        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
-        $this->assertContains('Previous cookie: NO', $session->getPage()->getText());
-    }
-
-    public function cookieWithPathsDataProvider()
-    {
-        return array(
-            array('session_reset'),
-            array('cookie_delete'),
-        );
-    }
-
-    public function testReset()
-    {
-        $this->getSession()->visit($this->pathTo('/cookie_page1.php'));
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-        $this->assertContains('Previous cookie: srv_var_is_set', $this->getSession()->getPage()->getText());
-
-        $this->getSession()->reset();
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-
-        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
-
-        $this->getSession()->setCookie('srvr_cookie', 'test_cookie');
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-        $this->assertContains('Previous cookie: test_cookie', $this->getSession()->getPage()->getText());
-        $this->getSession()->reset();
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
-
-        $this->getSession()->setCookie('client_cookie1', 'some_val');
-        $this->getSession()->setCookie('client_cookie2', 123);
-        $this->getSession()->visit($this->pathTo('/session_test.php'));
-        $this->getSession()->visit($this->pathTo('/cookie_page1.php'));
-
-        $this->getSession()->visit($this->pathTo('/print_cookies.php'));
-        $this->assertContains(
-            "'client_cookie1' = 'some_val'",
-            $this->getSession()->getPage()->getText()
-        );
-        $this->assertContains(
-            "'client_cookie2' = '123'",
-            $this->getSession()->getPage()->getText()
-        );
-        $this->assertContains(
-            "_SESS' = ",
-            $this->getSession()->getPage()->getText()
-        );
-        $this->assertContains(
-            " 'srvr_cookie' = 'srv_var_is_set'",
-            $this->getSession()->getPage()->getText()
-        );
-
-        $this->getSession()->reset();
-        $this->getSession()->visit($this->pathTo('/print_cookies.php'));
-        $this->assertContains('array ( )', $this->getSession()->getPage()->getText());
-    }
-
-    public function testHttpOnlyCookieIsDeleted()
-    {
-        $this->getSession()->restart();
-        $this->getSession()->visit($this->pathTo('/cookie_page3.php'));
-        $this->assertEquals('Has Cookie: false', $this->findById('cookie-status')->getText());
-
-        $this->getSession()->reload();
-        $this->assertEquals('Has Cookie: true', $this->findById('cookie-status')->getText());
-
-        $this->getSession()->restart();
-        $this->getSession()->visit($this->pathTo('/cookie_page3.php'));
-        $this->assertEquals('Has Cookie: false', $this->findById('cookie-status')->getText());
-    }
-
-    public function testSessionPersistsBetweenRequests()
-    {
-        $this->getSession()->visit($this->pathTo('/session_test.php'));
-        $webAssert = $this->getAssertSession();
-        $node = $webAssert->elementExists('css', '#session-id');
-        $sessionId = $node->getText();
-
-        $this->getSession()->visit($this->pathTo('/session_test.php'));
-        $node = $webAssert->elementExists('css', '#session-id');
-        $this->assertEquals($sessionId, $node->getText());
-
-        $this->getSession()->visit($this->pathTo('/session_test.php?login'));
-        $node = $webAssert->elementExists('css', '#session-id');
-        $this->assertNotEquals($sessionId, $newSessionId = $node->getText());
-
-        $this->getSession()->visit($this->pathTo('/session_test.php'));
-        $node = $webAssert->elementExists('css', '#session-id');
-        $this->assertEquals($newSessionId, $node->getText());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ErrorHandlingTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/ErrorHandlingTest.php
deleted file mode 100644
index 440585a..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ErrorHandlingTest.php
+++ /dev/null
@@ -1,262 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class ErrorHandlingTest extends TestCase
-{
-    const NOT_FOUND_XPATH = '//html/./invalid';
-
-    const NOT_FOUND_EXCEPTION = 'Exception';
-
-    const INVALID_EXCEPTION = 'Exception';
-
-    public function testVisitErrorPage()
-    {
-        $this->getSession()->visit($this->pathTo('/500.php'));
-
-        $this->assertContains(
-            'Sorry, a server error happened',
-            $this->getSession()->getPage()->getContent(),
-            'Drivers allow loading pages with a 500 status code'
-        );
-    }
-
-    public function testCheckInvalidElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $element = $this->findById('user-name');
-
-        $this->setExpectedException(self::INVALID_EXCEPTION);
-        $this->getSession()->getDriver()->check($element->getXpath());
-    }
-
-    public function testCheckNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->check(self::NOT_FOUND_XPATH);
-    }
-
-    public function testUncheckInvalidElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $element = $this->findById('user-name');
-
-        $this->setExpectedException(self::INVALID_EXCEPTION);
-        $this->getSession()->getDriver()->uncheck($element->getXpath());
-    }
-
-    public function testUncheckNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->uncheck(self::NOT_FOUND_XPATH);
-    }
-
-    public function testSelectOptionInvalidElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $element = $this->findById('user-name');
-
-        $this->setExpectedException(self::INVALID_EXCEPTION);
-        $this->getSession()->getDriver()->selectOption($element->getXpath(), 'test');
-    }
-
-    public function testSelectOptionNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->selectOption(self::NOT_FOUND_XPATH, 'test');
-    }
-
-    public function testAttachFileInvalidElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $element = $this->findById('user-name');
-
-        $this->setExpectedException(self::INVALID_EXCEPTION);
-        $this->getSession()->getDriver()->attachFile($element->getXpath(), __FILE__);
-    }
-
-    public function testAttachFileNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->attachFile(self::NOT_FOUND_XPATH, __FILE__);
-    }
-
-    public function testSubmitFormInvalidElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $element = $this->findById('core');
-
-        $this->setExpectedException(self::INVALID_EXCEPTION);
-        $this->getSession()->getDriver()->submitForm($element->getXpath());
-    }
-
-    public function testSubmitFormNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->submitForm(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetTagNameNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getTagName(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetTextNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getText(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetHtmlNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getHtml(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetOuterHtmlNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getOuterHtml(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetValueNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getValue(self::NOT_FOUND_XPATH);
-    }
-
-    public function testSetValueNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->setValue(self::NOT_FOUND_XPATH, 'test');
-    }
-
-    public function testIsSelectedNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->isSelected(self::NOT_FOUND_XPATH);
-    }
-
-    public function testIsCheckedNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->isChecked(self::NOT_FOUND_XPATH);
-    }
-
-    public function testIsVisibleNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->isVisible(self::NOT_FOUND_XPATH);
-    }
-
-    public function testClickNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->click(self::NOT_FOUND_XPATH);
-    }
-
-    public function testDoubleClickNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->doubleClick(self::NOT_FOUND_XPATH);
-    }
-
-    public function testRightClickNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->rightClick(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetAttributeNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getAttribute(self::NOT_FOUND_XPATH, 'id');
-    }
-
-    public function testMouseOverNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->mouseOver(self::NOT_FOUND_XPATH);
-    }
-
-    public function testFocusNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->focus(self::NOT_FOUND_XPATH);
-    }
-
-    public function testBlurNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->blur(self::NOT_FOUND_XPATH);
-    }
-
-    public function testKeyPressNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->keyPress(self::NOT_FOUND_XPATH, 'a');
-    }
-
-    public function testKeyDownNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->keyDown(self::NOT_FOUND_XPATH, 'a');
-    }
-
-    public function testKeyUpNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->keyUp(self::NOT_FOUND_XPATH, 'a');
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/HeaderTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/HeaderTest.php
deleted file mode 100644
index 0288ff1..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/HeaderTest.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class HeaderTest extends TestCase
-{
-    /**
-     * test referrer
-     * @group issue130
-     */
-    public function testIssue130()
-    {
-        $this->getSession()->visit($this->pathTo('/issue130.php?p=1'));
-        $page = $this->getSession()->getPage();
-
-        $page->clickLink('Go to 2');
-        $this->assertEquals($this->pathTo('/issue130.php?p=1'), $page->getText());
-    }
-
-    public function testHeaders()
-    {
-        $this->getSession()->setRequestHeader('Accept-Language', 'fr');
-        $this->getSession()->visit($this->pathTo('/headers.php'));
-
-        $this->assertContains('[HTTP_ACCEPT_LANGUAGE] => fr', $this->getSession()->getPage()->getContent());
-    }
-
-    public function testSetUserAgent()
-    {
-        $session = $this->getSession();
-
-        $session->setRequestHeader('user-agent', 'foo bar');
-        $session->visit($this->pathTo('/headers.php'));
-        $this->assertContains('[HTTP_USER_AGENT] => foo bar', $session->getPage()->getContent());
-    }
-
-    public function testResetHeaders()
-    {
-        $session = $this->getSession();
-
-        $session->setRequestHeader('X-Mink-Test', 'test');
-        $session->visit($this->pathTo('/headers.php'));
-
-        $this->assertContains(
-            '[HTTP_X_MINK_TEST] => test',
-            $session->getPage()->getContent(),
-            'The custom header should be sent',
-            true
-        );
-
-        $session->reset();
-        $session->visit($this->pathTo('/headers.php'));
-
-        $this->assertNotContains(
-            '[HTTP_X_MINK_TEST] => test',
-            $session->getPage()->getContent(),
-            'The custom header should not be sent after resetting',
-            true
-        );
-    }
-
-    public function testResponseHeaders()
-    {
-        $this->getSession()->visit($this->pathTo('/response_headers.php'));
-
-        $headers = $this->getSession()->getResponseHeaders();
-
-        $lowercasedHeaders = array();
-        foreach ($headers as $name => $value) {
-            $lowercasedHeaders[str_replace('_', '-', strtolower($name))] = $value;
-        }
-
-        $this->assertArrayHasKey('x-mink-test', $lowercasedHeaders);
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/IFrameTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/IFrameTest.php
deleted file mode 100644
index 0ed0f9e..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/IFrameTest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class IFrameTest extends TestCase
-{
-    public function testIFrame()
-    {
-        $this->getSession()->visit($this->pathTo('/iframe.html'));
-        $webAssert = $this->getAssertSession();
-
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('Main window div text', $el->getText());
-
-        $this->getSession()->switchToIFrame('subframe');
-
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('iFrame div text', $el->getText());
-
-        $this->getSession()->switchToIFrame();
-
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('Main window div text', $el->getText());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/NavigationTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/NavigationTest.php
deleted file mode 100644
index 8ecb139..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/NavigationTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class NavigationTest extends TestCase
-{
-    public function testRedirect()
-    {
-        $this->getSession()->visit($this->pathTo('/redirector.php'));
-        $this->assertEquals($this->pathTo('/redirect_destination.html'), $this->getSession()->getCurrentUrl());
-    }
-
-    public function testPageControlls()
-    {
-        $this->getSession()->visit($this->pathTo('/randomizer.php'));
-        $number1 = $this->getSession()->getPage()->find('css', '#number')->getText();
-
-        $this->getSession()->reload();
-        $number2 = $this->getSession()->getPage()->find('css', '#number')->getText();
-
-        $this->assertNotEquals($number1, $number2);
-
-        $this->getSession()->visit($this->pathTo('/links.html'));
-        $this->getSession()->getPage()->clickLink('Random number page');
-
-        $this->assertEquals($this->pathTo('/randomizer.php'), $this->getSession()->getCurrentUrl());
-
-        $this->getSession()->back();
-        $this->assertEquals($this->pathTo('/links.html'), $this->getSession()->getCurrentUrl());
-
-        $this->getSession()->forward();
-        $this->assertEquals($this->pathTo('/randomizer.php'), $this->getSession()->getCurrentUrl());
-    }
-
-    public function testLinks()
-    {
-        $this->getSession()->visit($this->pathTo('/links.html'));
-        $page = $this->getSession()->getPage();
-        $link = $page->findLink('Redirect me to');
-
-        $this->assertNotNull($link);
-        $this->assertRegExp('/redirector\.php$/', $link->getAttribute('href'));
-        $link->click();
-
-        $this->assertEquals($this->pathTo('/redirect_destination.html'), $this->getSession()->getCurrentUrl());
-
-        $this->getSession()->visit($this->pathTo('/links.html'));
-        $page = $this->getSession()->getPage();
-        $link = $page->findLink('basic form image');
-
-        $this->assertNotNull($link);
-        $this->assertRegExp('/basic_form\.html$/', $link->getAttribute('href'));
-        $link->click();
-
-        $this->assertEquals($this->pathTo('/basic_form.html'), $this->getSession()->getCurrentUrl());
-
-        $this->getSession()->visit($this->pathTo('/links.html'));
-        $page = $this->getSession()->getPage();
-        $link = $page->findLink("Link with a ");
-
-        $this->assertNotNull($link);
-        $this->assertRegExp('/links\.html\?quoted$/', $link->getAttribute('href'));
-        $link->click();
-
-        $this->assertEquals($this->pathTo('/links.html?quoted'), $this->getSession()->getCurrentUrl());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ScreenshotTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/ScreenshotTest.php
deleted file mode 100644
index 329f2d3..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ScreenshotTest.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class ScreenshotTest extends TestCase
-{
-    public function testScreenshot()
-    {
-        if (!extension_loaded('gd')) {
-            $this->markTestSkipped('Testing screenshots requires the GD extension');
-        }
-
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $screenShot = $this->getSession()->getScreenshot();
-
-        $this->assertInternalType('string', $screenShot);
-        $this->assertFalse(base64_decode($screenShot, true), 'The returned screenshot should not be base64-encoded');
-
-        $img = imagecreatefromstring($screenShot);
-
-        if (false === $img) {
-            $this->fail('The screenshot should be a valid image');
-        }
-
-        imagedestroy($img);
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/StatusCodeTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/StatusCodeTest.php
deleted file mode 100644
index 34ca7f0..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/StatusCodeTest.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class StatusCodeTest extends TestCase
-{
-    public function testStatuses()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->assertEquals(200, $this->getSession()->getStatusCode());
-        $this->assertEquals($this->pathTo('/index.html'), $this->getSession()->getCurrentUrl());
-
-        $this->getSession()->visit($this->pathTo('/404.php'));
-
-        $this->assertEquals($this->pathTo('/404.php'), $this->getSession()->getCurrentUrl());
-        $this->assertEquals(404, $this->getSession()->getStatusCode());
-        $this->assertEquals('Sorry, page not found', $this->getSession()->getPage()->getContent());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/TraversingTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/TraversingTest.php
deleted file mode 100644
index 3bcb7ac..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/TraversingTest.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class TraversingTest extends TestCase
-{
-    /**
-     * find by label
-     * @group issue211
-     */
-    public function testIssue211()
-    {
-        $this->getSession()->visit($this->pathTo('/issue211.html'));
-        $field = $this->getSession()->getPage()->findField('Téléphone');
-
-        $this->assertNotNull($field);
-    }
-
-    public function testElementsTraversing()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $page = $this->getSession()->getPage();
-
-        $this->assertNotNull($page->find('css', 'h1'));
-        $this->assertEquals('Extremely useless page', $page->find('css', 'h1')->getText());
-        $this->assertEquals('h1', $page->find('css', 'h1')->getTagName());
-
-        $this->assertNotNull($page->find('xpath', '//div/strong[3]'));
-        $this->assertEquals('pariatur', $page->find('xpath', '//div/strong[3]')->getText());
-        $this->assertEquals('super-duper', $page->find('xpath', '//div/strong[3]')->getAttribute('class'));
-        $this->assertTrue($page->find('xpath', '//div/strong[3]')->hasAttribute('class'));
-
-        $this->assertNotNull($page->find('xpath', '//div/strong[2]'));
-        $this->assertEquals('veniam', $page->find('xpath', '//div/strong[2]')->getText());
-        $this->assertEquals('strong', $page->find('xpath', '//div/strong[2]')->getTagName());
-        $this->assertNull($page->find('xpath', '//div/strong[2]')->getAttribute('class'));
-        $this->assertFalse($page->find('xpath', '//div/strong[2]')->hasAttribute('class'));
-
-        $strongs = $page->findAll('css', 'div#core > strong');
-        $this->assertCount(3, $strongs);
-        $this->assertEquals('Lorem', $strongs[0]->getText());
-        $this->assertEquals('pariatur', $strongs[2]->getText());
-
-        $element = $page->find('css', '#some-element');
-
-        $this->assertEquals('some very interesting text', $element->getText());
-        $this->assertEquals(
-            "\n            some <div>very\n            </div>\n".
-            "<em>interesting</em>      text\n        ",
-            $element->getHtml()
-        );
-
-        $this->assertTrue($element->hasAttribute('data-href'));
-        $this->assertFalse($element->hasAttribute('data-url'));
-        $this->assertEquals('http://mink.behat.org', $element->getAttribute('data-href'));
-        $this->assertNull($element->getAttribute('data-url'));
-        $this->assertEquals('div', $element->getTagName());
-    }
-
-    public function testVeryDeepElementsTraversing()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $page = $this->getSession()->getPage();
-
-        $footer = $page->find('css', 'footer');
-        $this->assertNotNull($footer);
-
-        $searchForm = $footer->find('css', 'form#search-form');
-        $this->assertNotNull($searchForm);
-        $this->assertEquals('search-form', $searchForm->getAttribute('id'));
-
-        $searchInput = $searchForm->findField('Search site...');
-        $this->assertNotNull($searchInput);
-        $this->assertEquals('text', $searchInput->getAttribute('type'));
-
-        $searchInput = $searchForm->findField('Search site...');
-        $this->assertNotNull($searchInput);
-        $this->assertEquals('text', $searchInput->getAttribute('type'));
-
-        $profileForm = $footer->find('css', '#profile');
-        $this->assertNotNull($profileForm);
-
-        $profileFormDiv = $profileForm->find('css', 'div');
-        $this->assertNotNull($profileFormDiv);
-
-        $profileFormDivLabel = $profileFormDiv->find('css', 'label');
-        $this->assertNotNull($profileFormDivLabel);
-
-        $profileFormDivParent = $profileFormDivLabel->getParent();
-        $this->assertNotNull($profileFormDivParent);
-
-        $profileFormDivParent = $profileFormDivLabel->getParent();
-        $this->assertEquals('something', $profileFormDivParent->getAttribute('data-custom'));
-
-        $profileFormInput = $profileFormDivLabel->findField('user-name');
-        $this->assertNotNull($profileFormInput);
-        $this->assertEquals('username', $profileFormInput->getAttribute('name'));
-    }
-
-    public function testDeepTraversing()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $traversDiv = $this->getSession()->getPage()->findAll('css', 'div.travers');
-
-        $this->assertCount(1, $traversDiv);
-        $traversDiv = $traversDiv[0];
-
-        $subDivs = $traversDiv->findAll('css', 'div.sub');
-        $this->assertCount(3, $subDivs);
-
-        $this->assertTrue($subDivs[2]->hasLink('some deep url'));
-        $this->assertFalse($subDivs[2]->hasLink('come deep url'));
-        $subUrl = $subDivs[2]->findLink('some deep url');
-        $this->assertNotNull($subUrl);
-
-        $this->assertRegExp('/some_url$/', $subUrl->getAttribute('href'));
-        $this->assertEquals('some deep url', $subUrl->getText());
-        $this->assertEquals('some <strong>deep</strong> url', $subUrl->getHtml());
-
-        $this->assertTrue($subUrl->has('css', 'strong'));
-        $this->assertFalse($subUrl->has('css', 'em'));
-        $this->assertEquals('deep', $subUrl->find('css', 'strong')->getText());
-    }
-
-    public function testFindingChild()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $form = $this->getSession()->getPage()->find('css', 'footer form');
-        $this->assertNotNull($form);
-
-        $this->assertCount(1, $form->findAll('css', 'input'), 'Elements are searched only in the element, not in all previous matches');
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/VisibilityTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/VisibilityTest.php
deleted file mode 100644
index b3daf31..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/VisibilityTest.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class VisibilityTest extends TestCase
-{
-    public function testVisibility()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $webAssert = $this->getAssertSession();
-
-        $clicker   = $webAssert->elementExists('css', '.elements div#clicker');
-        $invisible = $webAssert->elementExists('css', '#invisible');
-
-        $this->assertFalse($invisible->isVisible());
-        $this->assertTrue($clicker->isVisible());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Css/HoverTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Css/HoverTest.php
deleted file mode 100644
index 87041d4..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Css/HoverTest.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Css;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class HoverTest extends TestCase
-{
-    /**
-     * @group mouse-events
-     */
-    public function testMouseOverHover()
-    {
-        $this->getSession()->visit($this->pathTo('/css_mouse_events.html'));
-
-        $this->findById('reset-square')->mouseOver();
-        $this->assertActionSquareHeight(100);
-
-        $this->findById('action-square')->mouseOver();
-        $this->assertActionSquareHeight(200);
-    }
-
-    /**
-     * @group mouse-events
-     * @depends testMouseOverHover
-     */
-    public function testClickHover()
-    {
-        $this->getSession()->visit($this->pathTo('/css_mouse_events.html'));
-
-        $this->findById('reset-square')->mouseOver();
-        $this->assertActionSquareHeight(100);
-
-        $this->findById('action-square')->click();
-        $this->assertActionSquareHeight(200);
-    }
-
-    /**
-     * @group mouse-events
-     * @depends testMouseOverHover
-     */
-    public function testDoubleClickHover()
-    {
-        $this->getSession()->visit($this->pathTo('/css_mouse_events.html'));
-
-        $this->findById('reset-square')->mouseOver();
-        $this->assertActionSquareHeight(100);
-
-        $this->findById('action-square')->doubleClick();
-        $this->assertActionSquareHeight(200);
-    }
-
-    /**
-     * @group mouse-events
-     * @depends testMouseOverHover
-     */
-    public function testRightClickHover()
-    {
-        $this->getSession()->visit($this->pathTo('/css_mouse_events.html'));
-
-        $this->findById('reset-square')->mouseOver();
-        $this->assertActionSquareHeight(100);
-
-        $this->findById('action-square')->rightClick();
-        $this->assertActionSquareHeight(200);
-    }
-
-    private function assertActionSquareHeight($expected)
-    {
-        $this->assertEquals(
-            $expected,
-            $this->getSession()->evaluateScript("return window.$('#action-square').height();"),
-            'Mouse is located over the object when mouse-related action is performed'
-        );
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Form/CheckboxTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Form/CheckboxTest.php
deleted file mode 100644
index e1ce4ab..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Form/CheckboxTest.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Form;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class CheckboxTest extends TestCase
-{
-    public function testManipulate()
-    {
-        $this->getSession()->visit($this->pathTo('advanced_form.html'));
-
-        $checkbox = $this->getAssertSession()->fieldExists('agreement');
-
-        $this->assertNull($checkbox->getValue());
-        $this->assertFalse($checkbox->isChecked());
-
-        $checkbox->check();
-
-        $this->assertEquals('yes', $checkbox->getValue());
-        $this->assertTrue($checkbox->isChecked());
-
-        $checkbox->uncheck();
-
-        $this->assertNull($checkbox->getValue());
-        $this->assertFalse($checkbox->isChecked());
-    }
-
-    public function testSetValue()
-    {
-        $this->getSession()->visit($this->pathTo('advanced_form.html'));
-
-        $checkbox = $this->getAssertSession()->fieldExists('agreement');
-
-        $this->assertNull($checkbox->getValue());
-        $this->assertFalse($checkbox->isChecked());
-
-        $checkbox->setValue(true);
-
-        $this->assertEquals('yes', $checkbox->getValue());
-        $this->assertTrue($checkbox->isChecked());
-
-        $checkbox->setValue(false);
-
-        $this->assertNull($checkbox->getValue());
-        $this->assertFalse($checkbox->isChecked());
-    }
-
-    public function testCheckboxMultiple()
-    {
-        $this->getSession()->visit($this->pathTo('/multicheckbox_form.html'));
-        $webAssert = $this->getAssertSession();
-
-        $this->assertEquals('Multicheckbox Test', $webAssert->elementExists('css', 'h1')->getText());
-
-        $updateMail  = $webAssert->elementExists('css', '[name="mail_types[]"][value="update"]');
-        $spamMail    = $webAssert->elementExists('css', '[name="mail_types[]"][value="spam"]');
-
-        $this->assertEquals('update', $updateMail->getValue());
-        $this->assertNull($spamMail->getValue());
-
-        $this->assertTrue($updateMail->isChecked());
-        $this->assertFalse($spamMail->isChecked());
-
-        $updateMail->uncheck();
-        $this->assertFalse($updateMail->isChecked());
-        $this->assertFalse($spamMail->isChecked());
-
-        $spamMail->check();
-        $this->assertFalse($updateMail->isChecked());
-        $this->assertTrue($spamMail->isChecked());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Form/GeneralTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Form/GeneralTest.php
deleted file mode 100644
index f15f266..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Form/GeneralTest.php
+++ /dev/null
@@ -1,312 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Form;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class GeneralTest extends TestCase
-{
-    // test multiple submit buttons
-    public function testIssue212()
-    {
-        $session = $this->getSession();
-
-        $session->visit($this->pathTo('/issue212.html'));
-
-        $field = $this->findById('poney-button');
-        $this->assertEquals('poney', $field->getValue());
-    }
-
-    public function testBasicForm()
-    {
-        $this->getSession()->visit($this->pathTo('/basic_form.html'));
-
-        $webAssert = $this->getAssertSession();
-        $page = $this->getSession()->getPage();
-        $this->assertEquals('Basic Form Page', $webAssert->elementExists('css', 'h1')->getText());
-
-        $firstname  = $webAssert->fieldExists('first_name');
-        $lastname   = $webAssert->fieldExists('lastn');
-
-        $this->assertEquals('Firstname', $firstname->getValue());
-        $this->assertEquals('Lastname', $lastname->getValue());
-
-        $firstname->setValue('Konstantin');
-        $page->fillField('last_name', 'Kudryashov');
-
-        $this->assertEquals('Konstantin', $firstname->getValue());
-        $this->assertEquals('Kudryashov', $lastname->getValue());
-
-        $page->findButton('Reset')->click();
-
-        $this->assertEquals('Firstname', $firstname->getValue());
-        $this->assertEquals('Lastname', $lastname->getValue());
-
-        $firstname->setValue('Konstantin');
-        $page->fillField('last_name', 'Kudryashov');
-
-        $page->findButton('Save')->click();
-
-        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
-            $this->assertEquals('Anket for Konstantin', $webAssert->elementExists('css', 'h1')->getText());
-            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
-            $this->assertEquals('Lastname: Kudryashov', $webAssert->elementExists('css', '#last')->getText());
-        }
-    }
-
-    /**
-     * @dataProvider formSubmitWaysDataProvider
-     */
-    public function testFormSubmitWays($submitVia)
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/basic_form.html'));
-        $page = $session->getPage();
-        $webAssert = $this->getAssertSession();
-
-        $firstname = $webAssert->fieldExists('first_name');
-        $firstname->setValue('Konstantin');
-
-        $page->findButton($submitVia)->click();
-
-        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
-            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
-        } else {
-            $this->fail('Form was never submitted');
-        }
-    }
-
-    public function formSubmitWaysDataProvider()
-    {
-        return array(
-            array('Save'),
-            array('input-type-image'),
-            array('button-without-type'),
-            array('button-type-submit'),
-        );
-    }
-
-    public function testFormSubmit()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/basic_form.html'));
-
-        $webAssert = $this->getAssertSession();
-        $webAssert->fieldExists('first_name')->setValue('Konstantin');
-
-        $webAssert->elementExists('xpath', 'descendant-or-self::form[1]')->submit();
-
-        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
-            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
-        };
-    }
-
-    public function testFormSubmitWithoutButton()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/form_without_button.html'));
-
-        $webAssert = $this->getAssertSession();
-        $webAssert->fieldExists('first_name')->setValue('Konstantin');
-
-        $webAssert->elementExists('xpath', 'descendant-or-self::form[1]')->submit();
-
-        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
-            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
-        };
-    }
-
-    public function testBasicGetForm()
-    {
-        $this->getSession()->visit($this->pathTo('/basic_get_form.php'));
-        $webAssert = $this->getAssertSession();
-
-        $page = $this->getSession()->getPage();
-        $this->assertEquals('Basic Get Form Page', $webAssert->elementExists('css', 'h1')->getText());
-
-        $search = $webAssert->fieldExists('q');
-        $search->setValue('some#query');
-        $page->pressButton('Find');
-
-        $div = $webAssert->elementExists('css', 'div');
-        $this->assertEquals('some#query', $div->getText());
-    }
-
-    public function testAdvancedForm()
-    {
-        $this->getSession()->visit($this->pathTo('/advanced_form.html'));
-        $page = $this->getSession()->getPage();
-
-        $page->fillField('first_name', 'ever');
-        $page->fillField('last_name', 'zet');
-
-        $page->pressButton('Register');
-
-        $this->assertContains('no file', $page->getContent());
-
-        $this->getSession()->visit($this->pathTo('/advanced_form.html'));
-
-        $webAssert = $this->getAssertSession();
-        $page = $this->getSession()->getPage();
-        $this->assertEquals('ADvanced Form Page', $webAssert->elementExists('css', 'h1')->getText());
-
-        $firstname   = $webAssert->fieldExists('first_name');
-        $lastname    = $webAssert->fieldExists('lastn');
-        $email       = $webAssert->fieldExists('Your email:');
-        $select      = $webAssert->fieldExists('select_number');
-        $sex         = $webAssert->fieldExists('sex');
-        $maillist    = $webAssert->fieldExists('mail_list');
-        $agreement   = $webAssert->fieldExists('agreement');
-        $notes       = $webAssert->fieldExists('notes');
-        $about       = $webAssert->fieldExists('about');
-
-        $this->assertEquals('Firstname', $firstname->getValue());
-        $this->assertEquals('Lastname', $lastname->getValue());
-        $this->assertEquals('your@email.com', $email->getValue());
-        $this->assertEquals('20', $select->getValue());
-        $this->assertEquals('w', $sex->getValue());
-        $this->assertEquals('original notes', $notes->getValue());
-
-        $this->assertEquals('on', $maillist->getValue());
-        $this->assertNull($agreement->getValue());
-
-        $this->assertTrue($maillist->isChecked());
-        $this->assertFalse($agreement->isChecked());
-
-        $agreement->check();
-        $this->assertTrue($agreement->isChecked());
-
-        $maillist->uncheck();
-        $this->assertFalse($maillist->isChecked());
-
-        $select->selectOption('thirty');
-        $this->assertEquals('30', $select->getValue());
-
-        $sex->selectOption('m');
-        $this->assertEquals('m', $sex->getValue());
-
-        $notes->setValue('new notes');
-        $this->assertEquals('new notes', $notes->getValue());
-
-        $about->attachFile($this->mapRemoteFilePath(__DIR__.'/../../web-fixtures/some_file.txt'));
-
-        $button = $page->findButton('Register');
-        $this->assertNotNull($button);
-
-        $page->fillField('first_name', 'Foo "item"');
-        $page->fillField('last_name', 'Bar');
-        $page->fillField('Your email:', 'ever.zet@gmail.com');
-
-        $this->assertEquals('Foo "item"', $firstname->getValue());
-        $this->assertEquals('Bar', $lastname->getValue());
-
-        $button->press();
-
-        if ($this->safePageWait(5000, 'document.getElementsByTagName("title") !== null')) {
-            $out = <<<OUT
-array (
-  'agreement' = 'on',
-  'email' = 'ever.zet@gmail.com',
-  'first_name' = 'Foo "item"',
-  'last_name' = 'Bar',
-  'notes' = 'new notes',
-  'select_number' = '30',
-  'sex' = 'm',
-  'submit' = 'Register',
-)
-some_file.txt
-1 uploaded file
-OUT;
-            $this->assertContains($out, $page->getContent());
-        }
-    }
-
-    public function testMultiInput()
-    {
-        $this->getSession()->visit($this->pathTo('/multi_input_form.html'));
-        $page = $this->getSession()->getPage();
-        $webAssert = $this->getAssertSession();
-        $this->assertEquals('Multi input Test', $webAssert->elementExists('css', 'h1')->getText());
-
-        $first = $webAssert->fieldExists('First');
-        $second = $webAssert->fieldExists('Second');
-        $third = $webAssert->fieldExists('Third');
-
-        $this->assertEquals('tag1', $first->getValue());
-        $this->assertSame('tag2', $second->getValue());
-        $this->assertEquals('tag1', $third->getValue());
-
-        $first->setValue('tag2');
-        $this->assertEquals('tag2', $first->getValue());
-        $this->assertSame('tag2', $second->getValue());
-        $this->assertEquals('tag1', $third->getValue());
-
-        $second->setValue('one');
-
-        $this->assertEquals('tag2', $first->getValue());
-        $this->assertSame('one', $second->getValue());
-
-        $third->setValue('tag3');
-
-        $this->assertEquals('tag2', $first->getValue());
-        $this->assertSame('one', $second->getValue());
-        $this->assertEquals('tag3', $third->getValue());
-
-        $button = $page->findButton('Register');
-        $this->assertNotNull($button);
-        $button->press();
-
-        $space = ' ';
-        $out = <<<OUT
-  'tags' =$space
-  array (
-    0 = 'tag2',
-    1 = 'one',
-    2 = 'tag3',
-  ),
-OUT;
-        $this->assertContains($out, $page->getContent());
-    }
-
-    public function testAdvancedFormSecondSubmit()
-    {
-        $this->getSession()->visit($this->pathTo('/advanced_form.html'));
-        $page = $this->getSession()->getPage();
-
-        $button = $page->findButton('Login');
-        $this->assertNotNull($button);
-        $button->press();
-
-        $toSearch = array(
-            "'agreement' = 'off',",
-            "'submit' = 'Login',",
-            'no file',
-        );
-
-        $pageContent = $page->getContent();
-
-        foreach ($toSearch as $searchString) {
-            $this->assertContains($searchString, $pageContent);
-        }
-    }
-
-    public function testSubmitEmptyTextarea()
-    {
-        $this->getSession()->visit($this->pathTo('/empty_textarea.html'));
-        $page = $this->getSession()->getPage();
-
-        $page->pressButton('Save');
-
-        $toSearch = array(
-            "'textarea' = '',",
-            "'submit' = 'Save',",
-            'no file',
-        );
-
-        $pageContent = $page->getContent();
-
-        foreach ($toSearch as $searchString) {
-            $this->assertContains($searchString, $pageContent);
-        }
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Form/Html5Test.php b/core/vendor/behat/mink/driver-testsuite/tests/Form/Html5Test.php
deleted file mode 100644
index b7f4716..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Form/Html5Test.php
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Form;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class Html5Test extends TestCase
-{
-    public function testHtml5FormInputAttribute()
-    {
-        $this->getSession()->visit($this->pathTo('/html5_form.html'));
-        $page = $this->getSession()->getPage();
-        $webAssert = $this->getAssertSession();
-
-        $firstName = $webAssert->fieldExists('first_name');
-        $lastName = $webAssert->fieldExists('last_name');
-
-        $this->assertEquals('not set', $lastName->getValue());
-        $firstName->setValue('John');
-        $lastName->setValue('Doe');
-
-        $this->assertEquals('Doe', $lastName->getValue());
-
-        $page->pressButton('Submit in form');
-
-        if ($this->safePageWait(5000, 'document.getElementsByTagName("title") !== null')) {
-            $out = <<<OUT
-  'first_name' = 'John',
-  'last_name' = 'Doe',
-OUT;
-            $this->assertContains($out, $page->getContent());
-            $this->assertNotContains('other_field', $page->getContent());
-        }
-    }
-
-    public function testHtml5FormRadioAttribute()
-    {
-        $this->getSession()->visit($this->pathTo('html5_radio.html'));
-        $page = $this->getSession()->getPage();
-
-        $radio = $this->findById('sex_f');
-        $otherRadio = $this->findById('sex_invalid');
-
-        $this->assertEquals('f', $radio->getValue());
-        $this->assertEquals('invalid', $otherRadio->getValue());
-
-        $radio->selectOption('m');
-
-        $this->assertEquals('m', $radio->getValue());
-        $this->assertEquals('invalid', $otherRadio->getValue());
-
-        $page->pressButton('Submit in form');
-
-        $out = <<<OUT
-  'sex' = 'm',
-OUT;
-        $this->assertContains($out, $page->getContent());
-    }
-
-    public function testHtml5FormButtonAttribute()
-    {
-        $this->getSession()->visit($this->pathTo('/html5_form.html'));
-        $page = $this->getSession()->getPage();
-        $webAssert = $this->getAssertSession();
-
-        $firstName = $webAssert->fieldExists('first_name');
-        $lastName = $webAssert->fieldExists('last_name');
-
-        $firstName->setValue('John');
-        $lastName->setValue('Doe');
-
-        $page->pressButton('Submit outside form');
-
-        if ($this->safePageWait(5000, 'document.getElementsByTagName("title") !== null')) {
-            $out = <<<OUT
-  'first_name' = 'John',
-  'last_name' = 'Doe',
-  'submit_button' = 'test',
-OUT;
-            $this->assertContains($out, $page->getContent());
-        }
-    }
-
-    public function testHtml5FormOutside()
-    {
-        $this->getSession()->visit($this->pathTo('/html5_form.html'));
-        $page = $this->getSession()->getPage();
-
-        $page->fillField('other_field', 'hello');
-
-        $page->pressButton('Submit separate form');
-
-        if ($this->safePageWait(5000, 'document.getElementsByTagName("title") !== null')) {
-            $out = <<<OUT
-  'other_field' = 'hello',
-OUT;
-            $this->assertContains($out, $page->getContent());
-            $this->assertNotContains('first_name', $page->getContent());
-        }
-    }
-
-    public function testHtml5Types()
-    {
-        $this->getSession()->visit($this->pathTo('html5_types.html'));
-        $page = $this->getSession()->getPage();
-
-        $page->fillField('url', 'http://mink.behat.org/');
-        $page->fillField('email', 'mink@example.org');
-        $page->fillField('number', '6');
-        $page->fillField('search', 'mink');
-        $page->fillField('date', '2014-05-19');
-        $page->fillField('color', '#ff00aa');
-
-        $page->pressButton('Submit');
-
-        $out = <<<OUT
-  'color' = '#ff00aa',
-  'date' = '2014-05-19',
-  'email' = 'mink@example.org',
-  'number' = '6',
-  'search' = 'mink',
-  'submit_button' = 'Submit',
-  'url' = 'http://mink.behat.org/',
-OUT;
-
-        $this->assertContains($out, $page->getContent());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Form/RadioTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Form/RadioTest.php
deleted file mode 100644
index b21ab7d..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Form/RadioTest.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Form;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class RadioTest extends TestCase
-{
-    protected function setUp()
-    {
-        $this->getSession()->visit($this->pathTo('radio.html'));
-    }
-
-    public function testIsChecked()
-    {
-        $option = $this->findById('first');
-        $option2 = $this->findById('second');
-
-        $this->assertTrue($option->isChecked());
-        $this->assertFalse($option2->isChecked());
-
-        $option2->selectOption('updated');
-
-        $this->assertFalse($option->isChecked());
-        $this->assertTrue($option2->isChecked());
-    }
-
-    public function testSelectOption()
-    {
-        $option = $this->findById('first');
-
-        $this->assertEquals('set', $option->getValue());
-
-        $option->selectOption('updated');
-
-        $this->assertEquals('updated', $option->getValue());
-
-        $option->selectOption('set');
-
-        $this->assertEquals('set', $option->getValue());
-    }
-
-    public function testSetValue()
-    {
-        $option = $this->findById('first');
-
-        $this->assertEquals('set', $option->getValue());
-
-        $option->setValue('updated');
-
-        $this->assertEquals('updated', $option->getValue());
-        $this->assertFalse($option->isChecked());
-    }
-
-    public function testSameNameInMultipleForms()
-    {
-        $option1 = $this->findById('reused_form1');
-        $option2 = $this->findById('reused_form2');
-
-        $this->assertEquals('test2', $option1->getValue());
-        $this->assertEquals('test3', $option2->getValue());
-
-        $option1->selectOption('test');
-
-        $this->assertEquals('test', $option1->getValue());
-        $this->assertEquals('test3', $option2->getValue());
-    }
-
-    /**
-     * @see https://github.com/Behat/MinkSahiDriver/issues/32
-     */
-    public function testSetValueXPathEscaping()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/advanced_form.html'));
-        $page = $session->getPage();
-
-        $sex = $page->find('xpath', '//*[@name = "sex"]'."\n|\n".'//*[@id = "sex"]');
-        $this->assertNotNull($sex, 'xpath with line ending works');
-
-        $sex->setValue('m');
-        $this->assertEquals('m', $sex->getValue(), 'no double xpath escaping during radio button value change');
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Form/SelectTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Form/SelectTest.php
deleted file mode 100644
index 492625a..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Form/SelectTest.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Form;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class SelectTest extends TestCase
-{
-    public function testMultiselect()
-    {
-        $this->getSession()->visit($this->pathTo('/multiselect_form.html'));
-        $webAssert = $this->getAssertSession();
-        $page = $this->getSession()->getPage();
-        $this->assertEquals('Multiselect Test', $webAssert->elementExists('css', 'h1')->getText());
-
-        $select      = $webAssert->fieldExists('select_number');
-        $multiSelect = $webAssert->fieldExists('select_multiple_numbers[]');
-        $secondMultiSelect = $webAssert->fieldExists('select_multiple_values[]');
-
-        $this->assertEquals('20', $select->getValue());
-        $this->assertSame(array(), $multiSelect->getValue());
-        $this->assertSame(array('2', '3'), $secondMultiSelect->getValue());
-
-        $select->selectOption('thirty');
-        $this->assertEquals('30', $select->getValue());
-
-        $multiSelect->selectOption('one', true);
-
-        $this->assertSame(array('1'), $multiSelect->getValue());
-
-        $multiSelect->selectOption('three', true);
-
-        $this->assertEquals(array('1', '3'), $multiSelect->getValue());
-
-        $secondMultiSelect->selectOption('two');
-        $this->assertSame(array('2'), $secondMultiSelect->getValue());
-
-        $button = $page->findButton('Register');
-        $this->assertNotNull($button);
-        $button->press();
-
-        $space = ' ';
-        $out = <<<OUT
-  'agreement' = 'off',
-  'select_multiple_numbers' =$space
-  array (
-    0 = '1',
-    1 = '3',
-  ),
-  'select_multiple_values' =$space
-  array (
-    0 = '2',
-  ),
-  'select_number' = '30',
-OUT;
-        $this->assertContains($out, $page->getContent());
-    }
-
-    /**
-     * @dataProvider testElementSelectedStateCheckDataProvider
-     */
-    public function testElementSelectedStateCheck($selectName, $optionValue, $optionText)
-    {
-        $session = $this->getSession();
-        $webAssert = $this->getAssertSession();
-        $session->visit($this->pathTo('/multiselect_form.html'));
-        $select = $webAssert->fieldExists($selectName);
-
-        $optionValueEscaped = $session->getSelectorsHandler()->xpathLiteral($optionValue);
-        $option = $webAssert->elementExists('named', array('option', $optionValueEscaped));
-
-        $this->assertFalse($option->isSelected());
-        $select->selectOption($optionText);
-        $this->assertTrue($option->isSelected());
-    }
-
-    public function testElementSelectedStateCheckDataProvider()
-    {
-        return array(
-            array('select_number', '30', 'thirty'),
-            array('select_multiple_numbers[]', '2', 'two'),
-        );
-    }
-
-    public function testSetValueSingleSelect()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/multiselect_form.html'));
-        $select = $this->getAssertSession()->fieldExists('select_number');
-
-        $select->setValue('10');
-        $this->assertEquals('10', $select->getValue());
-    }
-
-    public function testSetValueMultiSelect()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/multiselect_form.html'));
-        $select = $this->getAssertSession()->fieldExists('select_multiple_values[]');
-
-        $select->setValue(array('1', '2'));
-        $this->assertEquals(array('1', '2'), $select->getValue());
-    }
-
-    /**
-     * @see https://github.com/Behat/Mink/issues/193
-     */
-    public function testOptionWithoutValue()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/issue193.html'));
-
-        $session->getPage()->selectFieldOption('options-without-values', 'Two');
-        $this->assertEquals('Two', $this->findById('options-without-values')->getValue());
-
-        $this->assertTrue($this->findById('two')->isSelected());
-        $this->assertFalse($this->findById('one')->isSelected());
-
-        $session->getPage()->selectFieldOption('options-with-values', 'two');
-        $this->assertEquals('two', $this->findById('options-with-values')->getValue());
-    }
-
-    /**
-     * @see https://github.com/Behat/Mink/issues/131
-     */
-    public function testAccentuatedOption()
-    {
-        $this->getSession()->visit($this->pathTo('/issue131.html'));
-        $page = $this->getSession()->getPage();
-
-        $page->selectFieldOption('foobar', 'Gimme some accentués characters');
-
-        $this->assertEquals('1', $page->findField('foobar')->getValue());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Js/ChangeEventTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Js/ChangeEventTest.php
deleted file mode 100644
index d1fd3f1..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Js/ChangeEventTest.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Js;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class ChangeEventTest extends TestCase
-{
-    /**
-     * 'change' event should be fired after selecting an <option> in a <select>
-     *
-     * TODO check whether this test is redundant with other change event tests.
-     */
-    public function testIssue255()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/issue255.html'));
-
-        $session->getPage()->selectFieldOption('foo_select', 'Option 3');
-
-        $session->wait(2000, '$("#output_foo_select").text() != ""');
-        $this->assertEquals('onChangeSelect', $session->getPage()->find('css', '#output_foo_select')->getText());
-    }
-
-    public function testIssue178()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/issue178.html'));
-
-        $this->findById('source')->setValue('foo');
-        $this->assertEquals('foo', $this->findById('target')->getText());
-    }
-
-    /**
-     * @dataProvider setValueChangeEventDataProvider
-     * @group change-event-detector
-     */
-    public function testSetValueChangeEvent($elementId, $valueForEmpty, $valueForFilled = '')
-    {
-        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
-        $page = $this->getSession()->getPage();
-
-        $input = $this->findById($elementId);
-        $this->assertNull($page->findById($elementId.'-result'));
-
-        // Verify setting value, when control is initially empty.
-        $input->setValue($valueForEmpty);
-        $this->assertElementChangeCount($elementId, 'initial value setting triggers change event');
-
-        if ($valueForFilled) {
-            // Verify setting value, when control already has a value.
-            $this->findById('results')->click();
-            $input->setValue($valueForFilled);
-            $this->assertElementChangeCount($elementId, 'value change triggers change event');
-        }
-    }
-
-    public function setValueChangeEventDataProvider()
-    {
-        return array(
-            'input default' => array('the-input-default', 'from empty', 'from existing'),
-            'input text' => array('the-input-text', 'from empty', 'from existing'),
-            'input email' => array('the-email', 'from empty', 'from existing'),
-            'textarea' => array('the-textarea', 'from empty', 'from existing'),
-            'file' => array('the-file', 'from empty', 'from existing'),
-            'select' => array('the-select', '30'),
-            'radio' => array('the-radio-m', 'm'),
-        );
-    }
-
-    /**
-     * @dataProvider selectOptionChangeEventDataProvider
-     * @group change-event-detector
-     */
-    public function testSelectOptionChangeEvent($elementId, $elementValue)
-    {
-        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
-        $page = $this->getSession()->getPage();
-
-        $input = $this->findById($elementId);
-        $this->assertNull($page->findById($elementId.'-result'));
-
-        $input->selectOption($elementValue);
-        $this->assertElementChangeCount($elementId);
-    }
-
-    public function selectOptionChangeEventDataProvider()
-    {
-        return array(
-            'select' => array('the-select', '30'),
-            'radio' => array('the-radio-m', 'm'),
-        );
-    }
-
-    /**
-     * @dataProvider checkboxTestWayDataProvider
-     * @group change-event-detector
-     */
-    public function testCheckChangeEvent($useSetValue)
-    {
-        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
-        $page = $this->getSession()->getPage();
-
-        $checkbox = $this->findById('the-unchecked-checkbox');
-        $this->assertNull($page->findById('the-unchecked-checkbox-result'));
-
-        if ($useSetValue) {
-            $checkbox->setValue(true);
-        } else {
-            $checkbox->check();
-        }
-
-        $this->assertElementChangeCount('the-unchecked-checkbox');
-    }
-
-    /**
-     * @dataProvider checkboxTestWayDataProvider
-     * @group change-event-detector
-     */
-    public function testUncheckChangeEvent($useSetValue)
-    {
-        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
-        $page = $this->getSession()->getPage();
-
-        $checkbox = $this->findById('the-checked-checkbox');
-        $this->assertNull($page->findById('the-checked-checkbox-result'));
-
-        if ($useSetValue) {
-            $checkbox->setValue(false);
-        } else {
-            $checkbox->uncheck();
-        }
-
-        $this->assertElementChangeCount('the-checked-checkbox');
-    }
-
-    public function checkboxTestWayDataProvider()
-    {
-        return array(
-            array(true),
-            array(false),
-        );
-    }
-
-    private function assertElementChangeCount($elementId, $message = '')
-    {
-        $counterElement = $this->getSession()->getPage()->findById($elementId.'-result');
-        $actualCount = null === $counterElement ? 0 : $counterElement->getText();
-
-        $this->assertEquals('1', $actualCount, $message);
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Js/EventsTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Js/EventsTest.php
deleted file mode 100644
index e49d837..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Js/EventsTest.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Js;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class EventsTest extends TestCase
-{
-    /**
-     * @group mouse-events
-     */
-    public function testClick()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $clicker = $this->getAssertSession()->elementExists('css', '.elements div#clicker');
-        $this->assertEquals('not clicked', $clicker->getText());
-
-        $clicker->click();
-        $this->assertEquals('single clicked', $clicker->getText());
-    }
-
-    /**
-     * @group mouse-events
-     */
-    public function testDoubleClick()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $clicker = $this->getAssertSession()->elementExists('css', '.elements div#clicker');
-        $this->assertEquals('not clicked', $clicker->getText());
-
-        $clicker->doubleClick();
-        $this->assertEquals('double clicked', $clicker->getText());
-    }
-
-    /**
-     * @group mouse-events
-     */
-    public function testRightClick()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $clicker = $this->getAssertSession()->elementExists('css', '.elements div#clicker');
-        $this->assertEquals('not clicked', $clicker->getText());
-
-        $clicker->rightClick();
-        $this->assertEquals('right clicked', $clicker->getText());
-    }
-
-    /**
-     * @group mouse-events
-     */
-    public function testFocus()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $focusBlurDetector = $this->getAssertSession()->elementExists('css', '.elements input#focus-blur-detector');
-        $this->assertEquals('no action detected', $focusBlurDetector->getValue());
-
-        $focusBlurDetector->focus();
-        $this->assertEquals('focused', $focusBlurDetector->getValue());
-    }
-
-    /**
-     * @group mouse-events
-     * @depends testFocus
-     */
-    public function testBlur()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $focusBlurDetector = $this->getAssertSession()->elementExists('css', '.elements input#focus-blur-detector');
-        $this->assertEquals('no action detected', $focusBlurDetector->getValue());
-
-        $focusBlurDetector->blur();
-        $this->assertEquals('blured', $focusBlurDetector->getValue());
-    }
-
-    /**
-     * @group mouse-events
-     */
-    public function testMouseOver()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $mouseOverDetector = $this->getAssertSession()->elementExists('css', '.elements div#mouseover-detector');
-        $this->assertEquals('no mouse action detected', $mouseOverDetector->getText());
-
-        $mouseOverDetector->mouseOver();
-        $this->assertEquals('mouse overed', $mouseOverDetector->getText());
-    }
-
-    /**
-     * @dataProvider provideKeyboardEventsModifiers
-     */
-    public function testKeyboardEvents($modifier, $eventProperties)
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $webAssert = $this->getAssertSession();
-
-        $input1 = $webAssert->elementExists('css', '.elements input.input.first');
-        $input2 = $webAssert->elementExists('css', '.elements input.input.second');
-        $input3 = $webAssert->elementExists('css', '.elements input.input.third');
-        $event  = $webAssert->elementExists('css', '.elements .text-event');
-
-        $input1->keyDown('u', $modifier);
-        $this->assertEquals('key downed:'.$eventProperties, $event->getText());
-
-        $input2->keyPress('r', $modifier);
-        $this->assertEquals('key pressed:114 / '.$eventProperties, $event->getText());
-
-        $input3->keyUp(78, $modifier);
-        $this->assertEquals('key upped:78 / '.$eventProperties, $event->getText());
-    }
-
-    public function provideKeyboardEventsModifiers()
-    {
-        return array(
-            'none' => array(null, '0 / 0 / 0 / 0'),
-            'alt' => array('alt', '1 / 0 / 0 / 0'),
-             // jQuery considers ctrl as being a metaKey in the normalized event
-            'ctrl' => array('ctrl', '0 / 1 / 0 / 1'),
-            'shift' => array('shift', '0 / 0 / 1 / 0'),
-            'meta' => array('meta', '0 / 0 / 0 / 1'),
-        );
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptEvaluationTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptEvaluationTest.php
deleted file mode 100644
index 00235d1..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptEvaluationTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Js;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class JavascriptEvaluationTest extends TestCase
-{
-    /**
-     * Tests, that `wait` method returns check result after exit.
-     */
-    public function testWaitReturnValue()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-
-        $found = $this->getSession()->wait(5000, '$("#draggable").length == 1');
-        $this->assertTrue($found);
-    }
-
-    public function testWait()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-
-        $waitable = $this->findById('waitable');
-
-        $waitable->click();
-        $this->getSession()->wait(3000, '$("#waitable").has("div").length > 0');
-        $this->assertEquals('arrived', $this->getSession()->getPage()->find('css', '#waitable > div')->getText());
-
-        $waitable->click();
-        $this->getSession()->wait(3000, 'false');
-        $this->assertEquals('timeout', $this->getSession()->getPage()->find('css', '#waitable > div')->getText());
-    }
-
-    /**
-     * @dataProvider provideExecutedScript
-     */
-    public function testExecuteScript($script)
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->getSession()->executeScript($script);
-
-        sleep(1);
-
-        $heading = $this->getAssertSession()->elementExists('css', 'h1');
-        $this->assertEquals('Hello world', $heading->getText());
-    }
-
-    public function provideExecutedScript()
-    {
-        return array(
-            array('document.querySelector("h1").textContent = "Hello world"'),
-            array('document.querySelector("h1").textContent = "Hello world";'),
-            array('function () {document.querySelector("h1").textContent = "Hello world";}()'),
-            array('function () {document.querySelector("h1").textContent = "Hello world";}();'),
-            array('(function () {document.querySelector("h1").textContent = "Hello world";})()'),
-            array('(function () {document.querySelector("h1").textContent = "Hello world";})();'),
-        );
-    }
-
-    /**
-     * @dataProvider provideEvaluatedScript
-     */
-    public function testEvaluateJavascript($script)
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->assertSame(2, $this->getSession()->evaluateScript($script));
-    }
-
-    public function provideEvaluatedScript()
-    {
-        return array(
-            array('1 + 1'),
-            array('1 + 1;'),
-            array('return 1 + 1'),
-            array('return 1 + 1;'),
-            array('function () {return 1+1;}()'),
-            array('(function () {return 1+1;})()'),
-            array('return function () { return 1+1;}()'),
-            array('return (function () {return 1+1;})()'),
-        );
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptTest.php
deleted file mode 100644
index 86cfa65..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptTest.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Js;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class JavascriptTest extends TestCase
-{
-    public function testAriaRoles()
-    {
-        $this->getSession()->visit($this->pathTo('/aria_roles.html'));
-
-        $this->getSession()->wait(5000, '$("#hidden-element").is(":visible") === false');
-        $this->getSession()->getPage()->pressButton('Toggle');
-        $this->getSession()->wait(5000, '$("#hidden-element").is(":visible") === true');
-
-        $this->getSession()->getPage()->clickLink('Go to Index');
-        $this->assertEquals($this->pathTo('/index.html'), $this->getSession()->getCurrentUrl());
-    }
-
-    public function testDragDrop()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $webAssert = $this->getAssertSession();
-
-        $draggable = $webAssert->elementExists('css', '#draggable');
-        $droppable = $webAssert->elementExists('css', '#droppable');
-
-        $draggable->dragTo($droppable);
-        $this->assertEquals('Dropped!', $droppable->find('css', 'p')->getText());
-    }
-
-    // test accentuated char in button
-    public function testIssue225()
-    {
-        $this->getSession()->visit($this->pathTo('/issue225.html'));
-        $this->getSession()->getPage()->pressButton('Créer un compte');
-        $this->getSession()->wait(5000, '$("#panel").text() != ""');
-
-        $this->assertContains('OH AIH!', $this->getSession()->getPage()->getText());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php
deleted file mode 100644
index 70b9ed9..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Js;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class WindowTest extends TestCase
-{
-    public function testWindow()
-    {
-        $this->getSession()->visit($this->pathTo('/window.html'));
-        $session = $this->getSession();
-        $page    = $session->getPage();
-        $webAssert = $this->getAssertSession();
-
-        $page->clickLink('Popup #1');
-        $session->switchToWindow(null);
-
-        $page->clickLink('Popup #2');
-        $session->switchToWindow(null);
-
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('Main window div text', $el->getText());
-
-        $session->switchToWindow('popup_1');
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('Popup#1 div text', $el->getText());
-
-        $session->switchToWindow('popup_2');
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('Popup#2 div text', $el->getText());
-
-        $session->switchToWindow(null);
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('Main window div text', $el->getText());
-    }
-
-    public function testGetWindowNames()
-    {
-        $this->getSession()->visit($this->pathTo('/window.html'));
-        $session = $this->getSession();
-        $page    = $session->getPage();
-
-        $windowName = $this->getSession()->getWindowName();
-
-        $this->assertNotNull($windowName);
-
-        $page->clickLink('Popup #1');
-        $page->clickLink('Popup #2');
-
-        $windowNames = $this->getSession()->getWindowNames();
-
-        $this->assertNotNull($windowNames[0]);
-        $this->assertNotNull($windowNames[1]);
-        $this->assertNotNull($windowNames[2]);
-    }
-
-    public function testResizeWindow()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $session = $this->getSession();
-
-        $session->resizeWindow(400, 300);
-        $session->wait(1000, 'false');
-
-        $script = "return Math.abs(window.outerHeight - 300) <= 100 && Math.abs(window.outerWidth - 400) <= 100;";
-
-        $this->assertTrue($session->evaluateScript($script));
-    }
-
-    public function testWindowMaximize()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $session = $this->getSession();
-
-        $session->maximizeWindow();
-        $session->wait(1000, 'false');
-
-        $script = "return Math.abs(screen.availHeight - window.outerHeight) <= 100;";
-
-        $this->assertTrue($session->evaluateScript($script));
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/TestCase.php b/core/vendor/behat/mink/driver-testsuite/tests/TestCase.php
deleted file mode 100644
index ea003ce..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/TestCase.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver;
-
-use Behat\Mink\Exception\UnsupportedDriverActionException;
-use Behat\Mink\Mink;
-use Behat\Mink\Session;
-use Behat\Mink\WebAssert;
-
-abstract class TestCase extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Mink session manager.
-     *
-     * @var Mink
-     */
-    private static $mink;
-
-    /**
-     * @var AbstractConfig
-     */
-    private static $config;
-
-    /**
-     * Initializes the test case
-     */
-    public static function setUpBeforeClass()
-    {
-        if (null === self::$mink) {
-            $session = new Session(self::getConfig()->createDriver());
-            self::$mink = new Mink(array('sess' => $session));
-        }
-    }
-
-    /**
-     * @return AbstractConfig
-     *
-     * @throws \UnexpectedValueException if the global driver_config_factory returns an invalid object
-     */
-    private static function getConfig()
-    {
-        if (null === self::$config) {
-            self::$config = call_user_func($GLOBALS['driver_config_factory']);
-
-            if (!self::$config instanceof AbstractConfig) {
-                throw new \UnexpectedValueException('The "driver_config_factory" global variable must return a \Behat\Mink\Tests\Driver\AbstractConfig.');
-            }
-        }
-
-        return self::$config;
-    }
-
-    protected function checkRequirements()
-    {
-        if (null !== $message = self::getConfig()->skipMessage(get_class($this), $this->getName(false))) {
-            $this->markTestSkipped($message);
-        }
-
-        parent::checkRequirements();
-    }
-
-    protected function tearDown()
-    {
-        if (null !== self::$mink) {
-            self::$mink->resetSessions();
-        }
-    }
-
-    protected function onNotSuccessfulTest(\Exception $e)
-    {
-        if ($e instanceof UnsupportedDriverActionException) {
-            $this->markTestSkipped($e->getMessage());
-        }
-
-        parent::onNotSuccessfulTest($e);
-    }
-
-    /**
-     * Returns session.
-     *
-     * @return Session
-     */
-    protected function getSession()
-    {
-        return self::$mink->getSession('sess');
-    }
-
-    /**
-     * Returns assert session.
-     *
-     * @return WebAssert
-     */
-    protected function getAssertSession()
-    {
-        return self::$mink->assertSession('sess');
-    }
-
-    /**
-     * @param string $id
-     *
-     * @return \Behat\Mink\Element\NodeElement
-     */
-    protected function findById($id)
-    {
-        $id = $this->getSession()->getSelectorsHandler()->xpathLiteral($id);
-
-        return $this->getAssertSession()->elementExists('named', array('id', $id));
-    }
-
-    /**
-     * Map remote file path.
-     *
-     * @param string $file File path.
-     *
-     * @return string
-     */
-    protected function mapRemoteFilePath($file)
-    {
-        $realPath = realpath($file);
-
-        if (false !== $realPath) {
-            $file = $realPath;
-        }
-
-        return self::getConfig()->mapRemoteFilePath($file);
-    }
-
-    /**
-     * @param string $path
-     *
-     * @return string
-     */
-    protected function pathTo($path)
-    {
-        return rtrim(self::getConfig()->getWebFixturesUrl(), '/').'/'.ltrim($path, '/');
-    }
-
-    /**
-     * Waits for a condition to be true, considering than it is successful for drivers not supporting wait()
-     *
-     * @param int    $time
-     * @param string $condition A JS condition to evaluate
-     *
-     * @return bool
-     *
-     * @see \Behat\Mink\Session::wait()
-     */
-    protected function safePageWait($time, $condition)
-    {
-        try {
-            return $this->getSession()->wait($time, $condition);
-        } catch (UnsupportedDriverActionException $e) {
-            return true;
-        }
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/404.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/404.php
deleted file mode 100644
index d16db99..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/404.php
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php header("HTTP/1.0 404 Not Found") ?>
-Sorry, page not found
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/500.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/500.php
deleted file mode 100644
index c43efcb..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/500.php
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php header("HTTP/1.0 500 Server Error") ?>
-Sorry, a server error happened
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form.html
deleted file mode 100644
index a2392c0..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>ADvanced Form</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>ADvanced Form Page</h1>
-
-    <form method="POST" enctype="multipart/form-data" action="advanced_form_post.php">
-        <input name="first_name" value="Firstname" type="text" />
-        <input id="lastn" name="last_name" value="Lastname" type="text" />
-        <label for="email">
-            Your email:
-            <input type="email" id="email" name="email" value="your@email.com" />
-        </label>
-
-        <select name="select_number">
-            <option value="10">ten</option>
-            <option selected="selected" value="20">twenty</option>
-            <option value="30">thirty</option>
-        </select>
-
-        <label>
-            <span><input type="radio" name="sex" value="m" /> m</span>
-            <span><input type="radio" name="sex" value="w" checked="checked" /> w</span>
-        </label>
-
-        <input type="checkbox" name="mail_list" checked="checked" value="on"/>
-        <input type="checkbox" name="agreement" value="yes"/>
-
-        <textarea name="notes">original notes</textarea>
-
-        <input type="file" name="about" />
-
-        <input type="submit" name="submit" value="Register" />
-        <input type="submit" name="submit" value="Login" />
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form_post.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form_post.php
deleted file mode 100644
index 755806d..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form_post.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Advanced form save</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-</head>
-<body>
-<?php
-error_reporting(0);
-
-if (isset($_POST['select_multiple_numbers']) && false !== strpos($_POST['select_multiple_numbers'][0], ',')) {
-    $_POST['select_multiple_numbers'] = explode(',', $_POST['select_multiple_numbers'][0]);
-}
-
-$_POST['agreement'] = isset($_POST['agreement']) ? 'on' : 'off';
-ksort($_POST);
-echo str_replace('>', '', var_export($_POST, true)) . "\n";
-if (isset($_FILES['about']) && file_exists($_FILES['about']['tmp_name'])) {
-    echo $_FILES['about']['name'] . "\n";
-    echo file_get_contents($_FILES['about']['tmp_name']);
-} else {
-    echo "no file";
-}
-?>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/aria_roles.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/aria_roles.html
deleted file mode 100644
index 7074e85..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/aria_roles.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>ARIA roles test</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-	This page tests selected ARIA roles<br />
-	(see <a href="http://www.w3.org/TR/wai-aria/">http://www.w3.org/TR/wai-aria/</a>)
-
-	<div id="hidden-element-toggle-button" role="button">Toggle</div>
-	<div id="hidden-element" style="display:none;">This content's visibility is changed by clicking the Toggle Button.</div>
-
-	<!-- This link is created programmatically -->
-	<div id="link-element"></div>
-
-    <script language="javascript" type="text/javascript" src="js/jquery-1.6.2-min.js"></script>
-	<script language="javascript" type="text/javascript">
-		$(document).ready(function() {
-			$('#hidden-element-toggle-button').click(function() {
-				$('#hidden-element').toggle();
-			});
-
-			$('#link-element').attr('role', 'link').text('Go to Index').click(function() {
-        window.location.href = 'index.html';
-			});
-		});
-	</script>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_auth.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_auth.php
deleted file mode 100644
index 9620a0e..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_auth.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$username = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : false;
-$password = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : false;
-
-if ($username == 'mink-user' && $password == 'mink-password') {
-    echo 'is authenticated';
-} else {
-    header('WWW-Authenticate: Basic realm="Mink Testing Area"');
-    header('HTTP/1.0 401 Unauthorized');
-
-    echo 'is not authenticated';
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form.html
deleted file mode 100644
index 2d330cf..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Basic Form</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>Basic Form Page</h1>
-
-    <form method="POST" action="basic_form_post.php">
-        <input name="first_name" value="Firstname" type="text" />
-        <input id="lastn" name="last_name" value="Lastname" type="text" />
-
-        <input type="reset" id="Reset" />
-
-        <input type="submit" id="Save" />
-        <input type="image" id="input-type-image"/>
-        <button>button-without-type</button>
-        <button type="submit">button-type-submit</button>
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form_post.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form_post.php
deleted file mode 100644
index 8a5e340..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form_post.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Basic Form Saving</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>Anket for <?php echo $_POST['first_name'] ?></h1>
-
-    <span id="first">Firstname: <?php echo $_POST['first_name'] ?></span>
-    <span id="last">Lastname: <?php echo $_POST['last_name'] ?></span>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_get_form.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_get_form.php
deleted file mode 100644
index a0b3516..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_get_form.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Basic Get Form</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>Basic Get Form Page</h1>
-
-    <div id="serach">
-        <?php echo isset($_GET['q']) && $_GET['q'] ? $_GET['q'] : 'No search query' ?>
-    </div>
-
-    <form>
-        <input name="q" value="" type="text" />
-
-        <input type="submit" value="Find" />
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page1.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page1.php
deleted file mode 100644
index 7f128ca..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page1.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-if (!isset($cookieAtRootPath)) {
-    $cookieAtRootPath = true;
-}
-
-if (!isset($cookieValue)) {
-    $cookieValue = 'srv_var_is_set';
-}
-
-setcookie('srvr_cookie', $cookieValue, null, $cookieAtRootPath ? '/' : null);
-?>
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Basic Form</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    Basic Page With Cookie Set from Server Side
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page2.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page2.php
deleted file mode 100644
index 22bcd1b..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page2.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Basic Form</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    Previous cookie: <?php echo isset($_COOKIE['srvr_cookie']) ? $_COOKIE['srvr_cookie'] : 'NO'; ?>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page3.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page3.php
deleted file mode 100644
index caa28bc..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page3.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-$hasCookie = isset($_COOKIE['foo']);
-setcookie('foo', 'bar', 0, '/', null, false, true);
-
-?>
-<!DOCTYPE html>
-<html>
-<head>
-    <title>HttpOnly Cookie Test</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-	<div id="cookie-status">Has Cookie: <?php echo json_encode($hasCookie) ?></div>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/css_mouse_events.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/css_mouse_events.html
deleted file mode 100644
index 750ca54..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/css_mouse_events.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-    <head>
-        <title>CSS Mouse Events Testing</title>
-        <style type="text/css">
-            .squares div {
-                width: 100px;
-                height: 100px;
-                border: 1px solid black;
-                margin-right: 4px;
-                float: left;
-            }
-
-            .squares div:hover {
-                height: 200px;
-                background-color: red;
-            }
-        </style>
-
-        <script language="javascript" type="text/javascript" src="js/jquery-1.6.2-min.js"></script>
-    </head>
-
-    <body>
-        <div class="squares">
-            <div id="reset-square">reset</div>
-            <div id="action-square">mouse action</div>
-        </div>
-        <script>
-            $('#action-square').bind('contextmenu', function (e) {
-                // Prevent opening the context menu on right click as the browser might consider the
-                // mouse is in the context menu rather than hovering the element
-                e.preventDefault();
-            });
-        </script>
-    </body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/element_change_detector.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/element_change_detector.html
deleted file mode 100644
index af3032a..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/element_change_detector.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>ADvanced Form</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-    <script src="js/jquery-1.6.2-min.js"></script>
-</head>
-<body>
-    <h1>ADvanced Form Page</h1>
-
-    <form method="POST" enctype="multipart/form-data" action="advanced_form_post.php">
-        <input id="the-input-default" value="" />
-        <input type="text" id="the-input-text" value="" />
-        <input type="email" id="the-email" value="" />
-
-        <select id="the-select">
-            <option value="10">ten</option>
-            <option value="20" selected="selected">twenty</option>
-            <option value="30">thirty</option>
-        </select>
-
-        <label>
-            <span><input type="radio" name="sex" id="the-radio-m" value="m" /> m</span>
-            <span><input type="radio" name="sex" id="the-radio-w" value="w" checked="checked" /> w</span>
-        </label>
-
-        <input type="checkbox" id="the-checked-checkbox" value="cb-val" checked/>
-        <input type="checkbox" id="the-unchecked-checkbox" value="cb-val"/>
-
-        <textarea id="the-textarea"></textarea>
-
-        <input type="file" id="the-file" />
-    </form>
-
-    <ul id="results" style="border: 1px solid red;">
-        <li>for easy element location</li>
-    </ul>
-
-    <script type="text/javascript">
-        $(document).ready(function () {
-            var $change_registry = {},
-                $results = $('#results');
-
-            $(':input').change(function ($e) {
-                var $result_id = this.id + '-result';
-
-                if (!$change_registry[this.id]) {
-                    $change_registry[this.id] = 1;
-                    $results.append('<li id="' + $result_id + '"></li>');
-                }
-                else {
-                    $change_registry[this.id]++;
-                }
-
-                $('#' + $result_id).text($change_registry[this.id]);
-            });
-
-            $results.click(function () {
-                $results.empty();
-                $change_registry = {};
-            });
-        });
-    </script>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/empty_textarea.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/empty_textarea.html
deleted file mode 100644
index f0779ee..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/empty_textarea.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <title>Empty textarea submission</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-</head>
-<body>
-    <h1>Empty textarea submission</h1>
-    <form method="POST" action="advanced_form_post.php">
-        <textarea name="textarea"></textarea>
-        <input type="submit" name="submit" value="Save" />
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/form_without_button.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/form_without_button.html
deleted file mode 100644
index 8063026..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/form_without_button.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="UTF-8">
-    <title>Form submission without button test</title>
-</head>
-<body>
-    <form action="basic_form_post.php" method="POST">
-        <input name="first_name" type="text" value="not set">
-        <input name="last_name" type="text" value="not set">
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/headers.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/headers.php
deleted file mode 100644
index 25d9b90..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/headers.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Headers page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <?php print_r($_SERVER); ?>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_form.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_form.html
deleted file mode 100644
index 9070353..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_form.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="UTF-8">
-    <title>HTML5 form attribute test</title>
-</head>
-<body>
-    <form action="advanced_form_post.php" method="POST" id="test-form">
-        <input name="first_name" type="text" value="not set">
-        <input name="other_field" type="text" value="not submitted" form="another">
-        <input type="submit" value="Submit separate form" form="another">
-        <input type="submit" value="Submit in form">
-    </form>
-    <input name="last_name" type="text" form="test-form" value="not set">
-    <button type="submit" form="test-form" name="submit_button" value="test">Submit outside form</button>
-    <form id="another" method="post" action="advanced_form_post.php"></form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_radio.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_radio.html
deleted file mode 100644
index fd54c2d..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_radio.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="UTF-8">
-    <title>HTML5 form attribute test</title>
-</head>
-<body>
-    <form action="advanced_form_post.php" method="POST" id="test-form">
-        <input name="sex" type="radio" value="m" id="sex_m">
-        <input name="sex" type="radio" value="invalid" form="another" id="sex_invalid" checked="checked">
-        <input type="submit" value="Submit in form">
-    </form>
-    <input name="sex" type="radio" form="test-form" value="f" id="sex_f" checked="checked">
-    <form id="another" method="post" action="advanced_form_post.php"></form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_types.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_types.html
deleted file mode 100644
index bd46cfa..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_types.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="UTF-8">
-    <title>HTML5 form attribute test</title>
-</head>
-<body>
-    <form action="advanced_form_post.php" method="POST">
-        <input name="url" type="url">
-        <input name="email" type="email">
-        <input name="number" type="number">
-        <input name="search" type="search">
-        <input name="color" type="color">
-        <input name="date" type="date">
-        <input type="submit" name="submit_button" value="Submit">
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html_decoding.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/html_decoding.html
deleted file mode 100644
index 341f226..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html_decoding.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>HTML Decoding Test</title>
-</head>
-<body>
-    <div>
-        <span custom-attr="&amp;">some text</span>
-
-        <form method="post" action="index.html">
-            <input value="&amp;"/>
-
-            <input type="submit" value="Send"/>
-        </form>
-    </div>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/iframe.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/iframe.html
deleted file mode 100644
index c54797f..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/iframe.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html>
-<body>
-
-<iframe src="iframe_inner.html" name="subframe"></iframe>
-
-<div id="text">
-    Main window div text
-</div>
-
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/iframe_inner.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/iframe_inner.html
deleted file mode 100644
index 512f058..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/iframe_inner.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<html>
-<body>
-
-    <div id="text">
-        iFrame div text
-    </div>
-
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/index.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/index.html
deleted file mode 100644
index 6bb379c..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/index.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Index page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>Extremely useless page</h1>
-    <div id="core">
-        <strong>Lorem</strong> ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim <strong>veniam</strong>, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla <strong class="super-duper">pariatur</strong>. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-        <div id="some-element" data-href="http://mink.behat.org">
-            some <div>very
-            </div>
-<em>interesting</em>      text
-        </div>
-
-        <div class="attribute-testing">
-            <input type="text" id="attr-elem[with-value]" with-value="some-value"/>
-            <input type="text" id="attr-elem[without-value]" without-value/>
-            <input type="text" id="attr-elem[with-empty-value]" with-empty-value=""/>
-            <input type="text" id="attr-elem[with-missing]"/>
-        </div>
-
-        <div class="travers">
-            <div class="sub">el1</div>
-            <div class="sub">el2</div>
-            <div class="sub">
-                <a href="some_url">some <strong>deep</strong> url</a>
-            </div>
-        </div>
-
-        <div class="sub">el4</div>
-
-    </div>
-
-    <footer>
-        <form id="search-form">
-            <input type="text" placeholder="Search site..." />
-        </form>
-        <form id="profile">
-            <div data-custom="something">
-                <label>
-                    <input type="text" id="user-name" name="username" />
-                </label>
-            </div>
-            <input type="submit" />
-        </form>
-    </footer>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue130.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue130.php
deleted file mode 100644
index 201d982..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue130.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-<body>
-    <?php
-    if ('1' === $_GET['p']) {
-        echo '<a href="issue130.php?p=2">Go to 2</a>';
-    } else {
-        echo '<strong>'.$_SERVER['HTTP_REFERER'].'</strong>';
-    }
-    ?>
-</body>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue131.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue131.html
deleted file mode 100644
index fa3427a..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue131.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <title>Issue 131</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-</head>
-<body>
-    <h1>There is a non breaking&#160;space</h1>
-    <pre id="foobar">Some accentués characters</pre>
-    <form>
-        <select name="foobar">
-          <option value="1">Gimme some accentués characters</option>
-        </select>
-        <input type="submit" />
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue140.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue140.php
deleted file mode 100644
index 04a4caf..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue140.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-if (!empty($_POST)) {
-    setcookie("tc", $_POST['cookie_value'], null, '/');
-} elseif (isset($_GET["show_value"])) {
-    echo $_COOKIE["tc"];
-    die();
-}
-?>
-<!DOCTYPE html>
-<html>
-<body>
-    <form method="post">
-        <input name="cookie_value">
-        <input type="submit" value="Set cookie">
-    </form>
-</body>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue178.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue178.html
deleted file mode 100644
index 3efc743..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue178.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="UTF-8">
-    <title>Index page</title>
-</head>
-<body>
-
-<form action="#">
-	<div>
-		<input type="text" name="source" id="source"
-			onkeyup="document.getElementById('target').innerHTML = this.value" value="bar">
-	</div>
-</form>
-
-<div id="target"></div>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue193.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue193.html
deleted file mode 100644
index e722a43..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue193.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Index page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-
-<form action="#">
-    <select id="options-without-values" name="without">
-        <option>none selected</option>
-        <option id="one">One</option>
-        <option id="two">Two</option>
-        <option>Three</option>
-    </select>
-
-    <select id="options-with-values" name="with">
-        <option value="none">none selected</option>
-        <option value="one">One</option>
-        <option value="two">Two</option>
-        <option value="three">Three</option>
-    </select>
-</form>
-
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue211.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue211.html
deleted file mode 100644
index bb977ec..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue211.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Index page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-
-<form action="#">
-    <p>
-        <label for="phone">Téléphone</label>
-        <input type="text" name="phone" id="phone" />
-    </p>
-    <p>
-        <label for="daphone">DaPhone</label>
-        <input type="text" name="daphone" id="daphone" />
-    </p>
-
-    <input type="submit" value="Send" />
-</form>
-
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue212.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue212.html
deleted file mode 100644
index 24ae62f..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue212.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE html>
-<html>
-<body>
-  <form action="/" method="post" id="user-login-form">
-    <input type="submit" name="toto" id="jaguar-button" value="jaguar"/>
-    <input type="submit" name="toto" id="poney-button" value="poney"/>
-  </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue215.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue215.html
deleted file mode 100644
index adff3fb..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue215.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="UTF-8">
-    <title>Index page</title>
-</head>
-<body>
-
-<form action="#">
-<textarea rows="10" cols="10" id="textarea">
-foo
-bar
-</textarea>
-</form>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue225.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue225.html
deleted file mode 100644
index 2178bba..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue225.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html lang="fr">
-<head>
-    <title>Index page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-    <script src="js/jquery-1.6.2-min.js"></script>
-</head>
-<body>
-
-<button id="btn">Créer un compte</button>
-
-<div id="panel"></div>
-
-<script type="text/javascript">
-    $('#btn').click(function (event) {
-        $('#panel').text('OH ' + 'AIH!');
-    });
-</script>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue255.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue255.html
deleted file mode 100644
index d56a427..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue255.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <title>Issue 255</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-    <script src="js/jquery-1.6.2-min.js"></script>
-</head>
-<body>
-    <form>
-        <label for="foo_select">Foo</label>
-        <select name="foo_select" id="foo_select">
-            <option value="1" selected="selected">Option 1</option>
-            <option value="2">Option 2</option>
-            <option value="3">Option 3</option>
-        </select>
-        <input type="checkbox" id="foo_check" />
-        <input type="submit" />
-        <p id="output_foo_select"></p>
-        <p id="output_foo_check"></p>
-    </form>
-
-    <script type="text/javascript">
-        (function() {
-            $('#foo_select').change(function () {
-                $('#output_foo_select').text("onChangeSelect");
-            });
-            $('#foo_check').change(function () {
-                $('#output_foo_check').text("onChangeCheck");
-            });
-        })();
-    </script>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-1.6.2-min.js b/core/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-1.6.2-min.js
deleted file mode 100644
index 8cdc80e..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-1.6.2-min.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.6.2
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Jun 30 14:16:56 2011 -0400
- */
-(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bC.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bR,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bX(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bX(a,c,d,e,"*",g));return l}function bW(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bN),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bA(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bv:bw;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bg(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(x,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(H)return H.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:|^on/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.
-shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,N(a.origType,a.selector),f.extend({},a,{handler:M,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,N(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?E:D):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=E;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=E;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=E,this.stopPropagation()},isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D};var F=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},G=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?G:F,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?G:F)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&K("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&K("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var H,I=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var L={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||D,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=x.exec(h),k="",j&&(k=j[0],h=h.replace(x,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,L[h]?(a.push(L[h]+k),h=h+k):h=(L[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+N(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+N(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=T.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/<tbody/i,ba=/<|&#?\w+;/,bb=/<(?:script|object|embed|option|style)/i,bc=/checked\s*(?:[^=]|=\s*.checked.)/i,bd=/\/(java|ecma)script/i,be=/^\s*<!(?:\[CDATA\[|\-\-)/,bf={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bc.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bg(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bm)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bb.test(a[0])&&(f.support.checkClone||!bc.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j
-)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1></$2>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bl(k[i]);else bl(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bd.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bn=/alpha\([^)]*\)/i,bo=/opacity=([^)]*)/,bp=/([A-Z]|^ms)/g,bq=/^-?\d+(?:px)?$/i,br=/^-?\d/,bs=/^[+\-]=/,bt=/[^+\-\.\de]+/g,bu={position:"absolute",visibility:"hidden",display:"block"},bv=["Left","Right"],bw=["Top","Bottom"],bx,by,bz;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bx(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bs.test(d)&&(d=+d.replace(bt,"")+parseFloat(f.css(a,c)),h="number"),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bx)return bx(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bA(a,b,d);f.swap(a,bu,function(){e=bA(a,b,d)});return e}},set:function(a,b){if(!bq.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cs(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cr("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cr("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cs(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cr("show",1),slideUp:cr("hide",1),slideToggle:cr("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cn||cp(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!cl&&(co?(cl=!0,g=function(){cl&&(co(g),e.tick())},co(g)):cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||cp(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var ct=/^t(?:able|d|h)$/i,cu=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cv(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!ct.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
\ No newline at end of file
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-ui-1.8.14.custom.min.js b/core/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-ui-1.8.14.custom.min.js
deleted file mode 100644
index 1764e11..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-ui-1.8.14.custom.min.js
+++ /dev/null
@@ -1,127 +0,0 @@
-/*!
- * jQuery UI 1.8.14
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI
- */
-(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.14",
-keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();
-b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,
-"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",
-function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,
-outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,"tabindex"),d=isNaN(b);
-return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=
-0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);
-;/*!
- * jQuery UI Widget 1.8.14
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Widget
- */
-(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,
-a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;
-e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,
-this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},
-widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},
-enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
-;/*!
- * jQuery UI Mouse 1.8.14
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Mouse
- *
- * Depends:
- *	jquery.ui.widget.js
- */
-(function(b){var d=false;b(document).mousedown(function(){d=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+
-this.widgetName)},_mouseDown:function(a){if(!d){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,f=a.which==1,g=typeof this.options.cancel=="string"?b(a.target).closest(this.options.cancel).length:false;if(!f||g||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==
-false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return c._mouseMove(e)};this._mouseUpDelegate=function(e){return c._mouseUp(e)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return d=true}},_mouseMove:function(a){if(b.browser.msie&&
-!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
-false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
-;/*
- * jQuery UI Draggable 1.8.14
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Draggables
- *
- * Depends:
- *	jquery.ui.core.js
- *	jquery.ui.mouse.js
- *	jquery.ui.widget.js
- */
-(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
-"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
-this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options;this.helper=
-this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});
-this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true},
-_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=
-false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,
-10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||
-!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&
-a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=
-this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),
-10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),
-10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,
-(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!=
-"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),
-10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+
-this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&
-!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.left<g[0])e=g[0]+this.offset.click.left;
-if(a.pageY-this.offset.click.top<g[1])h=g[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>g[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.top<g[1]||h-this.offset.click.top>g[3])?h:!(h-this.offset.click.top<g[1])?h-b.grid[1]:h+b.grid[1]:h;e=b.grid[0]?this.originalPageX+Math.round((e-this.originalPageX)/
-b.grid[0])*b.grid[0]:this.originalPageX;e=g?!(e-this.offset.click.left<g[0]||e-this.offset.click.left>g[2])?e:!(e-this.offset.click.left<g[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<
-526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,
-c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.14"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var h=d.data(this,"sortable");if(h&&!h.options.disabled){c.sortables.push({instance:h,shouldRevert:h.options.revert});
-h.refreshPositions();h._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=
-false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",true);
-this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;
-c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&
-this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=
-a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!=
-"x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left<
-c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-
-c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,
-width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,h=b.offset.left,g=h+c.helperProportions.width,n=b.offset.top,o=n+c.helperProportions.height,i=c.snapElements.length-1;i>=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e<h&&h<l+e&&k-e<n&&n<m+e||j-e<h&&h<l+e&&k-e<o&&o<m+e||j-e<g&&g<l+e&&k-e<n&&n<m+e||j-e<g&&g<l+e&&k-e<o&&
-o<m+e){if(f.snapMode!="inner"){var p=Math.abs(k-o)<=e,q=Math.abs(m-n)<=e,r=Math.abs(j-g)<=e,s=Math.abs(l-h)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l}).left-c.margins.left}var t=
-p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(k-n)<=e;q=Math.abs(m-o)<=e;r=Math.abs(j-h)<=e;s=Math.abs(l-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[i].snapping&&
-(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=p||q||r||s||t}else{c.snapElements[i].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),
-10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
-;/*
- * jQuery UI Droppable 1.8.14
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Droppables
- *
- * Depends:
- *	jquery.ui.core.js
- *	jquery.ui.widget.js
- *	jquery.ui.mouse.js
- *	jquery.ui.draggable.js
- */
-(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
-a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&
-this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
-this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
-d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
-a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.14"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
-switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=
-i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=
-"none";if(c[f].visible){e=="mousedown"&&c[f]._activate.call(c[f],b);c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight}}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
-a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},dragStart:function(a,b){a.element.parentsUntil("body").bind("scroll.droppable",function(){a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)})},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);if(c=
-!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})},dragStop:function(a,b){a.element.parentsUntil("body").unbind("scroll.droppable");
-a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)}}})(jQuery);
-;
\ No newline at end of file
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/js_test.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/js_test.html
deleted file mode 100644
index e965a40..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/js_test.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>JS elements test</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-
-    <style>
-        #draggable {
-            width: 100px; height: 100px; padding: 0.5em; float: left; margin: 10px 10px 10px 0;
-            background:#ccc;
-            opacity:0.5;
-        }
-        #droppable {
-            width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px;
-            background:#eee;
-        }
-        #waitable {
-            width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px;
-            background:#eee;
-        }
-    </style>
-</head>
-<body>
-    <div class="elements">
-        <div id="clicker">not clicked</div>
-        <div id="mouseover-detector">no mouse action detected</div>
-        <div id="invisible" style="display: none">invisible man</div>
-        <input id="focus-blur-detector" type="text" value="no action detected"/>
-        <input class="input first" type="text" value="" />
-        <input class="input second" type="text" value="" />
-        <input class="input third" type="text" value="" />
-        <div class="text-event"></div>
-    </div>
-
-    <div id="draggable" class="ui-widget-content"></div>
-
-    <div id="droppable" class="ui-widget-header">
-        <p>Drop here</p>
-    </div>
-
-    <div id="waitable"></div>
-
-    <script src="js/jquery-1.6.2-min.js"></script>
-    <script src="js/jquery-ui-1.8.14.custom.min.js"></script>
-	<script>
-		$(document).ready(function() {
-            $('#clicker').click(function() {
-                $(this).text('single clicked');
-            });
-
-            $('#clicker').dblclick(function() {
-                $(this).text('double clicked');
-            });
-
-            $('#clicker').bind('contextmenu', function() {
-                $(this).text('right clicked');
-            });
-
-            $('#focus-blur-detector').focus(function() {
-                $(this).val('focused');
-            });
-
-            $('#focus-blur-detector').blur(function() {
-                $(this).val('blured');
-            });
-
-            $('#mouseover-detector').mouseover(function() {
-                $(this).text('mouse overed');
-            });
-
-            $('.elements input.input.first').keydown(function(ev) {
-                $('.text-event').text('key downed:' + ev.altKey * 1 + ' / ' + ev.ctrlKey * 1 + ' / ' + ev.shiftKey * 1 + ' / ' + ev.metaKey * 1);
-            });
-
-            $('.elements input.input.second').keypress(function(ev) {
-                $('.text-event').text('key pressed:' + ev.which + ' / ' + ev.altKey * 1 + ' / ' + ev.ctrlKey * 1 + ' / ' + ev.shiftKey * 1 + ' / ' + ev.metaKey * 1);
-            });
-
-            $('.elements input.input.third').keyup(function(ev) {
-                $('.text-event').text('key upped:' + ev.which + ' / ' + ev.altKey * 1 + ' / ' + ev.ctrlKey * 1 + ' / ' + ev.shiftKey * 1 + ' / ' + ev.metaKey * 1);
-            });
-
-            $( "#draggable" ).draggable();
-            $( "#droppable" ).droppable({
-                drop: function( event, ui ) {
-                    $( this ).find( "p" ).html( "Dropped!" );
-                }
-            });
-
-            var t1, t2;
-
-            $('#waitable').click(function() {
-                var el = $(this);
-
-                el.html('');
-                clearTimeout(t1);
-                clearTimeout(t2);
-
-                t1 = setTimeout(function() {
-                    el.html('<div>arrived</div>');
-                }, 1000);
-
-                t2 = setTimeout(function() {
-                    el.html('<div>timeout</div>');
-                }, 2000);
-            });
-		});
-	</script>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/json.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/json.php
deleted file mode 100644
index 173d358..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/json.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-echo json_encode(array(
-    'key1' => 'val1',
-    'key2' => 234,
-    'key3' => array(1, 2, 3)
-));
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/links.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/links.html
deleted file mode 100644
index ec626bf..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/links.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Links page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <a href="redirector.php">Redirect me to</a>
-    <a href="randomizer.php">Random number page</a>
-    <a href="links.html?quoted">Link with a '</a>
-    <a href="basic_form.html">
-        <img src="basic_form" alt="basic form image"/>
-    </a>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/multi_input_form.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/multi_input_form.html
deleted file mode 100644
index 600a500..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/multi_input_form.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Multi input Test</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>Multi input Test</h1>
-
-    <form method="POST" action="advanced_form_post.php">
-        <label>
-            First
-            <input type="text" name="tags[]" value="tag1">
-        </label>
-        <label>
-            Second
-            <input type="text" name="tags[]" value="tag2">
-        </label>
-        <label>
-            Third
-            <input type="text" name="tags[]" value="tag1">
-        </label>
-
-        <input type="submit" name="submit" value="Register" />
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/multicheckbox_form.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/multicheckbox_form.html
deleted file mode 100644
index a2ae375..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/multicheckbox_form.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Multicheckbox Test</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>Multicheckbox Test</h1>
-
-    <form method="POST" action="advanced_form_post.php">
-        <input type="checkbox" name="mail_types[]" checked="checked" value="update"/>
-        <input type="checkbox" name="mail_types[]" value="spam"/>
-
-        <input type="submit" name="submit" value="Register" />
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/multiselect_form.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/multiselect_form.html
deleted file mode 100644
index 0d28986..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/multiselect_form.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Multiselect Test</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>Multiselect Test</h1>
-
-    <form method="POST" action="advanced_form_post.php">
-        <select name="select_number">
-            <option value="10">ten</option>
-            <option selected="selected" value="20">twenty</option>
-            <option value="30">thirty</option>
-        </select>
-
-        <select name="select_multiple_numbers[]" multiple="multiple">
-            <option value="1">one</option>
-            <option value="2">two</option>
-            <option value="3">three</option>
-        </select>
-
-        <select name="select_multiple_values[]" multiple="multiple">
-            <option value="1">one</option>
-            <option value="2" selected="selected">two</option>
-            <option value="3" selected="selected">three</option>
-        </select>
-
-        <input type="submit" name="submit" value="Register" />
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/popup1.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/popup1.html
deleted file mode 100644
index b8e3fe2..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/popup1.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>popup_1</title>
-</head>
-<body>
-
-    <div id="text">
-        Popup#1 div text
-    </div>
-
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/popup2.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/popup2.html
deleted file mode 100644
index dae1932..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/popup2.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>popup_2</title>
-</head>
-<body>
-
-    <div id="text">
-        Popup#2 div text
-    </div>
-
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/print_cookies.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/print_cookies.php
deleted file mode 100644
index eef496e..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/print_cookies.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Cookies page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <?php echo str_replace('>', '', var_export($_COOKIE, true)); ?>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/radio.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/radio.html
deleted file mode 100644
index 69a916a..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/radio.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="utf-8">
-    <title>Radio group</title>
-</head>
-<body>
-    <form id="form1">
-        <input name="group1" type="radio" value="set" id="first" checked="checked">
-        <input name="group1" type="radio" value="updated" id="second">
-
-        <input name="reused" type="radio" value="test" id="reused_form1">
-        <input name="reused" type="radio" value="test2" id="reused2_form1" checked="checked">
-    </form>
-
-    <form id="form2">
-        <input name="reused" type="radio" value="test3" id="reused_form2" checked="checked">
-        <input name="reused" type="radio" value="test4" id="reused2_form2">
-    </form>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/randomizer.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/randomizer.php
deleted file mode 100644
index 07a73ec..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/randomizer.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Index page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-
-    <h1 id="number"><?php echo rand() ?></h1>
-
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/redirect_destination.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/redirect_destination.html
deleted file mode 100644
index 3de7481..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/redirect_destination.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Redirect destination</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    You were redirected!
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/redirector.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/redirector.php
deleted file mode 100644
index 44ac8f3..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/redirector.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-header('location: redirect_destination.html');
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/response_headers.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/response_headers.php
deleted file mode 100644
index a9166b7..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/response_headers.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-header('X-Mink-Test: response-headers');
-
-?>
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <title>Response headers</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-</head>
-<body>
-    <h1>Response headers</h1>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/session_test.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/session_test.php
deleted file mode 100644
index df1af6f..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/session_test.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-session_name('_SESS');
-session_start();
-
-if (isset($_GET['login'])) {
-    session_regenerate_id();
-}
-?>
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Session Test</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <div id="session-id"><?php echo session_id() ?></div>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/some_file.txt b/core/vendor/behat/mink/driver-testsuite/web-fixtures/some_file.txt
deleted file mode 100644
index d515a02..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/some_file.txt
+++ /dev/null
@@ -1 +0,0 @@
-1 uploaded file
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page1.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page1.php
deleted file mode 100644
index 750249b..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page1.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-$cookieAtRootPath = false;
-$cookieValue = 'srv_var_is_set_sub_folder';
-require_once __DIR__ . '/../' . basename(__FILE__);
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page2.php b/core/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page2.php
deleted file mode 100644
index 9747fe8..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page2.php
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-require_once __DIR__ . '/../' . basename(__FILE__);
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/window.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/window.html
deleted file mode 100644
index d0a4594..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/window.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
-<body>
-
-<script>
-function newPopup(url, title) {
-    popupWindow = window.open(
-        url, title,'height=100,width=200,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'
-    );
-}
-</script>
-
-<a href="popup1.html" onclick="newPopup(this.href, 'popup_1'); return false;">
-    Popup #1
-</a>
-
-<a href="popup2.html" onclick="newPopup(this.href, 'popup_2'); return false;">
-    Popup #2
-</a>
-
-<div id="text">
-    Main window div text
-</div>
-
-</body>
-</html>
diff --git a/core/vendor/behat/mink/phpdoc.ini.dist b/core/vendor/behat/mink/phpdoc.ini.dist
deleted file mode 100644
index 3fef75d..0000000
--- a/core/vendor/behat/mink/phpdoc.ini.dist
+++ /dev/null
@@ -1,125 +0,0 @@
-; Default configuration file for PHPDoctor
-
-; This config file will cause PHPDoctor to generate API documentation of
-; itself.
-
-
-; PHPDoctor settings
-; -----------------------------------------------------------------------------
-
-; Names of files to parse. This can be a single filename, or a comma separated
-; list of filenames. Wildcards are allowed.
-
-files = "*.php"
-
-; Names of files or directories to ignore. This can be a single filename, or a
-; comma separated list of filenames. Wildcards are NOT allowed.
-
-ignore = "CVS, .svn, .git, _compiled"
-
-; The directory to look for files in, if not used the PHPDoctor will look in
-; the current directory (the directory it is run from).
-
-source_path = "./src"
-
-; If you do not want PHPDoctor to look in each sub directory for files
-; uncomment this line.
-
-;subdirs = off
-
-; Set how loud PHPDoctor is as it runs. Quiet mode suppresses all output other
-; than warnings and errors. Verbose mode outputs additional messages during
-; execution.
-
-;quiet = on
-;verbose = on
-
-; Select the doclet to use for generating output.
-
-doclet = standard
-;doclet = debug
-
-; The directory to find the doclet in. Doclets are expected to be in a
-; directory named after themselves at the location given.
-
-;doclet_path = ./doclets
-
-; The directory to find taglets in. Taglets allow you to make PHPDoctor handle
-; new tags and to alter the behavour of existing tags and their output.
-
-;taglet_path = ./taglets
-
-; If the code you are parsing does not use package tags or not all elements
-; have package tags, use this setting to place unbound elements into a
-; particular package.
-
-default_package = "Behat\Mink"
-
-; Specifies the name of a HTML file containing text for the overview
-; documentation to be placed on the overview page. The path is relative to
-; "source_path" unless an absolute path is given.
-
-overview = readme.html
-
-; Package comments will be looked for in a file named package.html in the same
-; directory as the first source file parsed in that package or in the directory
-; given below. If package comments are placed in the directory given below then
-; they should be named "<packageName>.html".
-
-package_comment_dir = ./
-
-; Parse out global variables and/or global constants?
-
-;globals = off
-;constants = off
-
-; Generate documentation for all class members
-
-;private = on
-
-; Generate documentation for public and protected class members
-
-;protected = on
-
-; Generate documentation for only public class members
-
-public = on
-
-; Use the PEAR compatible handling of the docblock first sentence
-
-;pear_compat = on
-
-; Standard doclet settings
-; -----------------------------------------------------------------------------
-
-; The directory to place generated documentation in. If the given path is
-; relative to it will be relative to "source_path".
-
-d = "api"
-
-; Specifies the title to be placed in the HTML <title> tag.
-
-windowtitle = "Behat\Mink"
-
-; Specifies the title to be placed near the top of the overview summary file.
-
-doctitle = "Behat\Mink: browser emulators abstraction library for PHP"
-
-; Specifies the header text to be placed at the top of each output file. The
-; header will be placed to the right of the upper navigation bar. 
-
-header = "Behat\Mink"
-
-; Specifies the footer text to be placed at the bottom of each output file. The
-; footer will be placed to the right of the lower navigation bar.
-
-footer = "Behat\Mink"
-
-; Specifies the text to be placed at the bottom of each output file. The text
-; will be placed at the bottom of the page, below the lower navigation bar.
-
-;bottom = "This document was generated by <a href="http://phpdoctor.sourceforge.net/">PHPDoctor: The PHP Documentation Creator</a>"
-
-; Create a class tree?
-
-tree = on
diff --git a/core/vendor/behat/mink/phpunit.xml.dist b/core/vendor/behat/mink/phpunit.xml.dist
deleted file mode 100644
index 6695433..0000000
--- a/core/vendor/behat/mink/phpunit.xml.dist
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit colors="true" bootstrap="vendor/autoload.php">
-    <testsuites>
-        <testsuite name="Behat Mink test suite">
-            <directory>tests</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./src</directory>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/behat/mink/src/Driver/CoreDriver.php b/core/vendor/behat/mink/src/Driver/CoreDriver.php
deleted file mode 100644
index 248f291..0000000
--- a/core/vendor/behat/mink/src/Driver/CoreDriver.php
+++ /dev/null
@@ -1,447 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Driver;
-
-use Behat\Mink\Exception\UnsupportedDriverActionException;
-use Behat\Mink\Session;
-
-/**
- * Core driver.
- * All other drivers should extend this class for future compatibility.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-abstract class CoreDriver implements DriverInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function setSession(Session $session)
-    {
-        throw new UnsupportedDriverActionException('Setting the session is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function start()
-    {
-        throw new UnsupportedDriverActionException('Starting the driver is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isStarted()
-    {
-        throw new UnsupportedDriverActionException('Checking the driver state is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function stop()
-    {
-        throw new UnsupportedDriverActionException('Stopping the driver is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function reset()
-    {
-        throw new UnsupportedDriverActionException('Resetting the driver is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function visit($url)
-    {
-        throw new UnsupportedDriverActionException('Visiting an url is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCurrentUrl()
-    {
-        throw new UnsupportedDriverActionException('Getting the current url is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        throw new UnsupportedDriverActionException('Getting the page content is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($xpath)
-    {
-        throw new UnsupportedDriverActionException('Finding elements is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTagName($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the tag name is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getText($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the element text is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getHtml($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the element inner HTML is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getOuterHtml($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the element outer HTML is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getAttribute($xpath, $name)
-    {
-        throw new UnsupportedDriverActionException('Getting the element attribute is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getValue($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the field value is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setValue($xpath, $value)
-    {
-        throw new UnsupportedDriverActionException('Setting the field value is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function check($xpath)
-    {
-        throw new UnsupportedDriverActionException('Checking a checkbox is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function uncheck($xpath)
-    {
-        throw new UnsupportedDriverActionException('Unchecking a checkbox is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isChecked($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the state of a checkbox is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function selectOption($xpath, $value, $multiple = false)
-    {
-        throw new UnsupportedDriverActionException('Selecting an option is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function click($xpath)
-    {
-        throw new UnsupportedDriverActionException('Clicking on an element is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function attachFile($xpath, $path)
-    {
-        throw new UnsupportedDriverActionException('Attaching a file in an input is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function reload()
-    {
-        throw new UnsupportedDriverActionException('Page reloading is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function forward()
-    {
-        throw new UnsupportedDriverActionException('Forward action is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function back()
-    {
-        throw new UnsupportedDriverActionException('Backward action is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setBasicAuth($user, $password)
-    {
-        throw new UnsupportedDriverActionException('Basic auth setup is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function switchToWindow($name = null)
-    {
-        throw new UnsupportedDriverActionException('Windows management is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function switchToIFrame($name = null)
-    {
-        throw new UnsupportedDriverActionException('iFrames management is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRequestHeader($name, $value)
-    {
-        throw new UnsupportedDriverActionException('Request headers manipulation is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getResponseHeaders()
-    {
-        throw new UnsupportedDriverActionException('Response headers are not available from %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setCookie($name, $value = null)
-    {
-        throw new UnsupportedDriverActionException('Cookies manipulation is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCookie($name)
-    {
-        throw new UnsupportedDriverActionException('Cookies are not available from %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getStatusCode()
-    {
-        throw new UnsupportedDriverActionException('Status code is not available from %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getScreenshot()
-    {
-        throw new UnsupportedDriverActionException('Screenshots are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getWindowNames()
-    {
-        throw new UnsupportedDriverActionException('Listing all window names is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getWindowName()
-    {
-        throw new UnsupportedDriverActionException('Listing this window name is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function doubleClick($xpath)
-    {
-        throw new UnsupportedDriverActionException('Double-clicking is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function rightClick($xpath)
-    {
-        throw new UnsupportedDriverActionException('Right-clicking is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isVisible($xpath)
-    {
-        throw new UnsupportedDriverActionException('Element visibility check is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isSelected($xpath)
-    {
-        throw new UnsupportedDriverActionException('Element selection check is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function mouseOver($xpath)
-    {
-        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function focus($xpath)
-    {
-        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function blur($xpath)
-    {
-        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function keyPress($xpath, $char, $modifier = null)
-    {
-        throw new UnsupportedDriverActionException('Keyboard manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function keyDown($xpath, $char, $modifier = null)
-    {
-        throw new UnsupportedDriverActionException('Keyboard manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function keyUp($xpath, $char, $modifier = null)
-    {
-        throw new UnsupportedDriverActionException('Keyboard manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function dragTo($sourceXpath, $destinationXpath)
-    {
-        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function executeScript($script)
-    {
-        throw new UnsupportedDriverActionException('JS is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function evaluateScript($script)
-    {
-        throw new UnsupportedDriverActionException('JS is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function wait($timeout, $condition)
-    {
-        throw new UnsupportedDriverActionException('JS is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function resizeWindow($width, $height, $name = null)
-    {
-        throw new UnsupportedDriverActionException('Window resizing is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function maximizeWindow($name = null)
-    {
-        throw new UnsupportedDriverActionException('Window maximize is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function submitForm($xpath)
-    {
-        throw new UnsupportedDriverActionException('Form submission is not supported by %s', $this);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Driver/DriverInterface.php b/core/vendor/behat/mink/src/Driver/DriverInterface.php
deleted file mode 100644
index 8357caa..0000000
--- a/core/vendor/behat/mink/src/Driver/DriverInterface.php
+++ /dev/null
@@ -1,637 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Driver;
-
-use Behat\Mink\Element\NodeElement;
-use Behat\Mink\Exception\DriverException;
-use Behat\Mink\Exception\UnsupportedDriverActionException;
-use Behat\Mink\Session;
-
-/**
- * Driver interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface DriverInterface
-{
-    /**
-     * Sets driver's current session.
-     *
-     * @param Session $session
-     */
-    public function setSession(Session $session);
-
-    /**
-     * Starts driver.
-     *
-     * Once started, the driver should be ready to visit a page.
-     *
-     * Calling any action before visiting a page is an undefined behavior.
-     * The only supported method calls on a fresh driver are
-     * - visit()
-     * - setRequestHeader()
-     * - setBasicAuth()
-     * - reset()
-     * - stop()
-     *
-     * Calling start on a started driver is an undefined behavior. Driver
-     * implementations are free to handle it silently or to fail with an
-     * exception.
-     *
-     * @throws DriverException When the driver cannot be started
-     */
-    public function start();
-
-    /**
-     * Checks whether driver is started.
-     *
-     * @return Boolean
-     */
-    public function isStarted();
-
-    /**
-     * Stops driver.
-     *
-     * Once stopped, the driver should be started again before using it again.
-     *
-     * Calling any action on a stopped driver is an undefined behavior.
-     * The only supported method call after stopping a driver is starting it again.
-     *
-     * Calling stop on a stopped driver is an undefined behavior. Driver
-     * implementations are free to handle it silently or to fail with an
-     * exception.
-     *
-     * @throws DriverException When the driver cannot be closed
-     */
-    public function stop();
-
-    /**
-     * Resets driver state.
-     *
-     * This should reset cookies, request headers and basic authentication.
-     * When possible, the history should be reset as well, but this is not enforced
-     * as some implementations may not be able to reset it without restarting the
-     * driver entirely. Consumers requiring a clean history should restart the driver
-     * to enforce it.
-     *
-     * Once reset, the driver should be ready to visit a page.
-     * Calling any action before visiting a page is an undefined behavior.
-     * The only supported method calls on a fresh driver are
-     * - visit()
-     * - setRequestHeader()
-     * - setBasicAuth()
-     * - reset()
-     * - stop()
-     *
-     * Calling reset on a stopped driver is an undefined behavior.
-     */
-    public function reset();
-
-    /**
-     * Visit specified URL.
-     *
-     * @param string $url url of the page
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function visit($url);
-
-    /**
-     * Returns current URL address.
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getCurrentUrl();
-
-    /**
-     * Reloads current page.
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function reload();
-
-    /**
-     * Moves browser forward 1 page.
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function forward();
-
-    /**
-     * Moves browser backward 1 page.
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function back();
-
-    /**
-     * Sets HTTP Basic authentication parameters
-     *
-     * @param string|Boolean $user     user name or false to disable authentication
-     * @param string         $password password
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function setBasicAuth($user, $password);
-
-    /**
-     * Switches to specific browser window.
-     *
-     * @param string $name window name (null for switching back to main window)
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function switchToWindow($name = null);
-
-    /**
-     * Switches to specific iFrame.
-     *
-     * @param string $name iframe name (null for switching back)
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function switchToIFrame($name = null);
-
-    /**
-     * Sets specific request header on client.
-     *
-     * @param string $name
-     * @param string $value
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function setRequestHeader($name, $value);
-
-    /**
-     * Returns last response headers.
-     *
-     * @return array
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getResponseHeaders();
-
-    /**
-     * Sets cookie.
-     *
-     * @param string $name
-     * @param string $value
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function setCookie($name, $value = null);
-
-    /**
-     * Returns cookie by name.
-     *
-     * @param string $name
-     *
-     * @return string|null
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getCookie($name);
-
-    /**
-     * Returns last response status code.
-     *
-     * @return integer
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getStatusCode();
-
-    /**
-     * Returns last response content.
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getContent();
-
-    /**
-     * Capture a screenshot of the current window.
-     *
-     * @return string screenshot of MIME type image/* depending
-     *                on driver (e.g., image/png, image/jpeg)
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getScreenshot();
-
-    /**
-     * Return the names of all open windows.
-     *
-     * @return array array of all open windows
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getWindowNames();
-
-    /**
-     * Return the name of the currently active window.
-     *
-     * @return string the name of the current window
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getWindowName();
-
-    /**
-     * Finds elements with specified XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return NodeElement[]
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function find($xpath);
-
-    /**
-     * Returns element's tag name by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getTagName($xpath);
-
-    /**
-     * Returns element's text by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getText($xpath);
-
-    /**
-     * Returns element's inner html by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getHtml($xpath);
-
-    /**
-     * Returns element's outer html by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getOuterHtml($xpath);
-
-    /**
-     * Returns element's attribute by it's XPath query.
-     *
-     * @param string $xpath
-     * @param string $name
-     *
-     * @return string|null
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getAttribute($xpath, $name);
-
-    /**
-     * Returns element's value by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return string|bool|array
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::getValue
-     */
-    public function getValue($xpath);
-
-    /**
-     * Sets element's value by it's XPath query.
-     *
-     * @param string            $xpath
-     * @param string|bool|array $value
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::setValue
-     */
-    public function setValue($xpath, $value);
-
-    /**
-     * Checks checkbox by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::check
-     */
-    public function check($xpath);
-
-    /**
-     * Unchecks checkbox by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::uncheck
-     */
-    public function uncheck($xpath);
-
-    /**
-     * Checks whether checkbox or radio button located by it's XPath query is checked.
-     *
-     * @param string $xpath
-     *
-     * @return Boolean
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::isChecked
-     */
-    public function isChecked($xpath);
-
-    /**
-     * Selects option from select field or value in radio group located by it's XPath query.
-     *
-     * @param string  $xpath
-     * @param string  $value
-     * @param Boolean $multiple
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::selectOption
-     */
-    public function selectOption($xpath, $value, $multiple = false);
-
-    /**
-     * Checks whether select option, located by it's XPath query, is selected.
-     *
-     * @param string $xpath
-     *
-     * @return Boolean
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::isSelected
-     */
-    public function isSelected($xpath);
-
-    /**
-     * Clicks button or link located by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function click($xpath);
-
-    /**
-     * Double-clicks button or link located by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function doubleClick($xpath);
-
-    /**
-     * Right-clicks button or link located by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function rightClick($xpath);
-
-    /**
-     * Attaches file path to file field located by it's XPath query.
-     *
-     * @param string $xpath
-     * @param string $path
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::attachFile
-     */
-    public function attachFile($xpath, $path);
-
-    /**
-     * Checks whether element visible located by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return Boolean
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function isVisible($xpath);
-
-    /**
-     * Simulates a mouse over on the element.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function mouseOver($xpath);
-
-    /**
-     * Brings focus to element.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function focus($xpath);
-
-    /**
-     * Removes focus from element.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function blur($xpath);
-
-    /**
-     * Presses specific keyboard key.
-     *
-     * @param string         $xpath
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function keyPress($xpath, $char, $modifier = null);
-
-    /**
-     * Pressed down specific keyboard key.
-     *
-     * @param string         $xpath
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function keyDown($xpath, $char, $modifier = null);
-
-    /**
-     * Pressed up specific keyboard key.
-     *
-     * @param string         $xpath
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function keyUp($xpath, $char, $modifier = null);
-
-    /**
-     * Drag one element onto another.
-     *
-     * @param string $sourceXpath
-     * @param string $destinationXpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function dragTo($sourceXpath, $destinationXpath);
-
-    /**
-     * Executes JS script.
-     *
-     * @param string $script
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function executeScript($script);
-
-    /**
-     * Evaluates JS script.
-     *
-     * The "return" keyword is optional in the script passed as argument. Driver implementations
-     * must accept the expression both with and without the keyword.
-     *
-     * @param string $script
-     *
-     * @return mixed
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function evaluateScript($script);
-
-    /**
-     * Waits some time or until JS condition turns true.
-     *
-     * @param integer $timeout   timeout in milliseconds
-     * @param string  $condition JS condition
-     *
-     * @return boolean
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function wait($timeout, $condition);
-
-    /**
-     * Set the dimensions of the window.
-     *
-     * @param integer $width  set the window width, measured in pixels
-     * @param integer $height set the window height, measured in pixels
-     * @param string  $name   window name (null for the main window)
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function resizeWindow($width, $height, $name = null);
-
-    /**
-     * Maximize the window if it is not maximized already
-     *
-     * @param string $name window name (null for the main window)
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function maximizeWindow($name = null);
-
-    /**
-     * Submits the form.
-     *
-     * @param string $xpath Xpath.
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::submitForm
-     */
-    public function submitForm($xpath);
-}
diff --git a/core/vendor/behat/mink/src/Element/DocumentElement.php b/core/vendor/behat/mink/src/Element/DocumentElement.php
deleted file mode 100644
index edde3c3..0000000
--- a/core/vendor/behat/mink/src/Element/DocumentElement.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Element;
-
-/**
- * Document element.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class DocumentElement extends TraversableElement
-{
-    /**
-     * Returns XPath for handled element.
-     *
-     * @return string
-     */
-    public function getXpath()
-    {
-        return '//html';
-    }
-
-    /**
-     * Returns document content.
-     *
-     * @return string
-     */
-    public function getContent()
-    {
-        return trim($this->getDriver()->getContent());
-    }
-
-    /**
-     * Check whether document has specified content.
-     *
-     * @param string $content
-     *
-     * @return Boolean
-     */
-    public function hasContent($content)
-    {
-        return $this->has('named', array(
-            'content', $this->getSelectorsHandler()->xpathLiteral($content),
-        ));
-    }
-}
diff --git a/core/vendor/behat/mink/src/Element/Element.php b/core/vendor/behat/mink/src/Element/Element.php
deleted file mode 100644
index 07e1e11..0000000
--- a/core/vendor/behat/mink/src/Element/Element.php
+++ /dev/null
@@ -1,207 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Element;
-
-use Behat\Mink\Driver\DriverInterface;
-use Behat\Mink\Exception\ElementNotFoundException;
-use Behat\Mink\Selector\SelectorsHandler;
-use Behat\Mink\Selector\Xpath\Manipulator;
-use Behat\Mink\Session;
-
-/**
- * Base element.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-abstract class Element implements ElementInterface
-{
-    /**
-     * @var Session
-     */
-    private $session;
-
-    /**
-     * Driver.
-     *
-     * @var DriverInterface
-     */
-    private $driver;
-
-    /**
-     * @var SelectorsHandler
-     */
-    private $selectorsHandler;
-
-    /**
-     * @var Manipulator
-     */
-    private $xpathManipulator;
-
-    /**
-     * Initialize element.
-     *
-     * @param Session $session
-     */
-    public function __construct(Session $session)
-    {
-        $this->xpathManipulator = new Manipulator();
-        $this->session = $session;
-
-        $this->driver = $session->getDriver();
-        $this->selectorsHandler = $session->getSelectorsHandler();
-    }
-
-    /**
-     * Returns element session.
-     *
-     * @return Session
-     *
-     * @deprecated Accessing the session from the element is deprecated as of 1.6 and will be impossible in 2.0.
-     */
-    public function getSession()
-    {
-        return $this->session;
-    }
-
-    /**
-     * Returns element's driver.
-     *
-     * @return DriverInterface
-     */
-    protected function getDriver()
-    {
-        return $this->driver;
-    }
-
-    /**
-     * Returns selectors handler.
-     *
-     * @return SelectorsHandler
-     */
-    protected function getSelectorsHandler()
-    {
-        return $this->selectorsHandler;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($selector, $locator)
-    {
-        return null !== $this->find($selector, $locator);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isValid()
-    {
-        return 1 === count($this->getDriver()->find($this->getXpath()));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function waitFor($timeout, $callback)
-    {
-        if (!is_callable($callback)) {
-            throw new \InvalidArgumentException('Given callback is not a valid callable');
-        }
-
-        $start = microtime(true);
-        $end = $start + $timeout;
-
-        do {
-            $result = call_user_func($callback, $this);
-
-            if ($result) {
-                break;
-            }
-
-            usleep(100000);
-        } while (microtime(true) < $end);
-
-        return $result;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($selector, $locator)
-    {
-        $items = $this->findAll($selector, $locator);
-
-        return count($items) ? current($items) : null;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function findAll($selector, $locator)
-    {
-        if ('named' === $selector) {
-            $items = $this->findAll('named_exact', $locator);
-            if (empty($items)) {
-                $items = $this->findAll('named_partial', $locator);
-            }
-
-            return $items;
-        }
-
-        $xpath = $this->getSelectorsHandler()->selectorToXpath($selector, $locator);
-        $xpath = $this->xpathManipulator->prepend($xpath, $this->getXpath());
-
-        return $this->getDriver()->find($xpath);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getText()
-    {
-        return $this->getDriver()->getText($this->getXpath());
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getHtml()
-    {
-        return $this->getDriver()->getHtml($this->getXpath());
-    }
-
-    /**
-     * Returns element outer html.
-     *
-     * @return string
-     */
-    public function getOuterHtml()
-    {
-        return $this->getDriver()->getOuterHtml($this->getXpath());
-    }
-
-    /**
-     * Builds an ElementNotFoundException
-     *
-     * This is an helper to build the ElementNotFoundException without
-     * needing to use the deprecated getSession accessor in child classes.
-     *
-     * @param string      $type
-     * @param string|null $selector
-     * @param string|null $locator
-     *
-     * @return ElementNotFoundException
-     */
-    protected function elementNotFound($type, $selector = null, $locator = null)
-    {
-        return new ElementNotFoundException($this->session, $type, $selector, $locator);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Element/ElementInterface.php b/core/vendor/behat/mink/src/Element/ElementInterface.php
deleted file mode 100644
index 8c134b9..0000000
--- a/core/vendor/behat/mink/src/Element/ElementInterface.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Element;
-
-use Behat\Mink\Session;
-
-/**
- * Element interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface ElementInterface
-{
-    /**
-     * Returns XPath for handled element.
-     *
-     * @return string
-     */
-    public function getXpath();
-
-    /**
-     * Returns element's session.
-     *
-     * @return Session
-     *
-     * @deprecated Accessing the session from the element is deprecated as of 1.6 and will be impossible in 2.0.
-     */
-    public function getSession();
-
-    /**
-     * Checks whether element with specified selector exists inside the current element.
-     *
-     * @param string       $selector selector engine name
-     * @param string|array $locator  selector locator
-     *
-     * @return Boolean
-     *
-     * @see ElementInterface::findAll for the supported selectors
-     */
-    public function has($selector, $locator);
-
-    /**
-     * Checks if an element still exists in the DOM.
-     *
-     * @return boolean
-     */
-    public function isValid();
-
-    /**
-     * Waits for an element(-s) to appear and returns it.
-     *
-     * @param int|float $timeout  Maximal allowed waiting time in seconds.
-     * @param callable  $callback Callback, which result is both used as waiting condition and returned.
-     *                            Will receive reference to `this element` as first argument.
-     *
-     * @return mixed
-     * @throws \InvalidArgumentException When invalid callback given.
-     */
-    public function waitFor($timeout, $callback);
-
-    /**
-     * Finds first element with specified selector inside the current element.
-     *
-     * @param string       $selector selector engine name
-     * @param string|array $locator  selector locator
-     *
-     * @return NodeElement|null
-     *
-     * @see ElementInterface::findAll for the supported selectors
-     */
-    public function find($selector, $locator);
-
-    /**
-     * Finds all elements with specified selector inside the current element.
-     *
-     * Valid selector engines are named, xpath, css, named_partial and named_exact.
-     *
-     * 'named' is a pseudo selector engine which prefers an exact match but
-     * will return a partial match if no exact match is found.
-     * 'xpath' is a pseudo selector engine supported by SelectorsHandler.
-     *
-     * More selector engines can be registered in the SelectorsHandler.
-     *
-     * @param string       $selector selector engine name
-     * @param string|array $locator  selector locator
-     *
-     * @return NodeElement[]
-     *
-     * @see NamedSelector for the locators supported by the named selectors
-     */
-    public function findAll($selector, $locator);
-
-    /**
-     * Returns element text (inside tag).
-     *
-     * @return string
-     */
-    public function getText();
-
-    /**
-     * Returns element inner html.
-     *
-     * @return string
-     */
-    public function getHtml();
-}
diff --git a/core/vendor/behat/mink/src/Element/NodeElement.php b/core/vendor/behat/mink/src/Element/NodeElement.php
deleted file mode 100644
index 8e43546..0000000
--- a/core/vendor/behat/mink/src/Element/NodeElement.php
+++ /dev/null
@@ -1,352 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Element;
-
-use Behat\Mink\Session;
-use Behat\Mink\Exception\ElementNotFoundException;
-
-/**
- * Page element node.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class NodeElement extends TraversableElement
-{
-    private $xpath;
-
-    /**
-     * Initializes node element.
-     *
-     * @param string  $xpath   element xpath
-     * @param Session $session session instance
-     */
-    public function __construct($xpath, Session $session)
-    {
-        $this->xpath = $xpath;
-
-        parent::__construct($session);
-    }
-
-    /**
-     * Returns XPath for handled element.
-     *
-     * @return string
-     */
-    public function getXpath()
-    {
-        return $this->xpath;
-    }
-
-    /**
-     * Returns parent element to the current one.
-     *
-     * @return NodeElement
-     */
-    public function getParent()
-    {
-        return $this->find('xpath', '..');
-    }
-
-    /**
-     * Returns current node tag name.
-     *
-     * The value is always returned in lowercase to allow an easy comparison.
-     *
-     * @return string
-     */
-    public function getTagName()
-    {
-        return strtolower($this->getDriver()->getTagName($this->getXpath()));
-    }
-
-    /**
-     * Returns the value of the form field or option element.
-     *
-     * For checkbox fields, the value is a boolean indicating whether the checkbox is checked.
-     * For radio buttons, the value is the value of the selected button in the radio group
-     *      or null if no button is selected.
-     * For single select boxes, the value is the value of the selected option.
-     * For multiple select boxes, the value is an array of selected option values.
-     * for file inputs, the return value is undefined given that browsers don't allow accessing
-     *      the value of file inputs for security reasons. Some drivers may allow accessing the
-     *      path of the file set in the field, but this is not required if it cannot be implemented.
-     * For textarea elements and all textual fields, the value is the content of the field.
-     * Form option elements, the value is the value of the option (the value attribute or the text
-     *      content if the attribute is not set).
-     *
-     * Calling this method on other elements than form fields or option elements is not allowed.
-     *
-     * @return string|bool|array
-     */
-    public function getValue()
-    {
-        return $this->getDriver()->getValue($this->getXpath());
-    }
-
-    /**
-     * Sets the value of the form field.
-     *
-     * Calling this method on other elements than form fields is not allowed.
-     *
-     * @param string|bool|array $value
-     *
-     * @see NodeElement::getValue for the format of the value for each type of field
-     */
-    public function setValue($value)
-    {
-        $this->getDriver()->setValue($this->getXpath(), $value);
-    }
-
-    /**
-     * Checks whether element has attribute with specified name.
-     *
-     * @param string $name
-     *
-     * @return Boolean
-     */
-    public function hasAttribute($name)
-    {
-        return null !== $this->getDriver()->getAttribute($this->getXpath(), $name);
-    }
-
-    /**
-     * Returns specified attribute value.
-     *
-     * @param string $name
-     *
-     * @return string|null
-     */
-    public function getAttribute($name)
-    {
-        return $this->getDriver()->getAttribute($this->getXpath(), $name);
-    }
-
-    /**
-     * Checks whether an element has a named CSS class
-     *
-     * @param string $className Name of the class
-     *
-     * @return boolean
-     */
-    public function hasClass($className)
-    {
-        if ($this->hasAttribute('class')) {
-            return in_array($className, explode(' ', $this->getAttribute('class')));
-        }
-
-        return false;
-    }
-
-    /**
-     * Clicks current node.
-     */
-    public function click()
-    {
-        $this->getDriver()->click($this->getXpath());
-    }
-
-    /**
-     * Presses current button.
-     */
-    public function press()
-    {
-        $this->click();
-    }
-
-    /**
-     * Double-clicks current node.
-     */
-    public function doubleClick()
-    {
-        $this->getDriver()->doubleClick($this->getXpath());
-    }
-
-    /**
-     * Right-clicks current node.
-     */
-    public function rightClick()
-    {
-        $this->getDriver()->rightClick($this->getXpath());
-    }
-
-    /**
-     * Checks current node if it's a checkbox field.
-     */
-    public function check()
-    {
-        $this->getDriver()->check($this->getXpath());
-    }
-
-    /**
-     * Unchecks current node if it's a checkbox field.
-     */
-    public function uncheck()
-    {
-        $this->getDriver()->uncheck($this->getXpath());
-    }
-
-    /**
-     * Checks whether current node is checked if it's a checkbox or radio field.
-     *
-     * Calling this method on any other elements is not allowed.
-     *
-     * @return Boolean
-     */
-    public function isChecked()
-    {
-        return (Boolean) $this->getDriver()->isChecked($this->getXpath());
-    }
-
-    /**
-     * Selects specified option for select field or specified radio button in the group
-     *
-     * If the current node is a select box, this selects the option found by its value or
-     * its text.
-     * If the current node is a radio button, this selects the radio button with the given
-     * value in the radio button group of the current node.
-     *
-     * Calling this method on any other elements is not allowed.
-     *
-     * @param string  $option
-     * @param Boolean $multiple whether the option should be added to the selection for multiple selects
-     *
-     * @throws ElementNotFoundException when the option is not found in the select box
-     */
-    public function selectOption($option, $multiple = false)
-    {
-        if ('select' !== $this->getTagName()) {
-            $this->getDriver()->selectOption($this->getXpath(), $option, $multiple);
-
-            return;
-        }
-
-        $opt = $this->find('named', array(
-            'option', $this->getSelectorsHandler()->xpathLiteral($option),
-        ));
-
-        if (null === $opt) {
-            throw $this->elementNotFound('select option', 'value|text', $option);
-        }
-
-        $this->getDriver()->selectOption($this->getXpath(), $opt->getValue(), $multiple);
-    }
-
-    /**
-     * Checks whether current node is selected if it's a option field.
-     *
-     * Calling this method on any other elements is not allowed.
-     *
-     * @return Boolean
-     */
-    public function isSelected()
-    {
-        return (Boolean) $this->getDriver()->isSelected($this->getXpath());
-    }
-
-    /**
-     * Attach file to current node if it's a file input.
-     *
-     * Calling this method on any other elements than file input is not allowed.
-     *
-     * @param string $path path to file (local)
-     */
-    public function attachFile($path)
-    {
-        $this->getDriver()->attachFile($this->getXpath(), $path);
-    }
-
-    /**
-     * Checks whether current node is visible on page.
-     *
-     * @return Boolean
-     */
-    public function isVisible()
-    {
-        return (Boolean) $this->getDriver()->isVisible($this->getXpath());
-    }
-
-    /**
-     * Simulates a mouse over on the element.
-     */
-    public function mouseOver()
-    {
-        $this->getDriver()->mouseOver($this->getXpath());
-    }
-
-    /**
-     * Drags current node onto other node.
-     *
-     * @param ElementInterface $destination other node
-     */
-    public function dragTo(ElementInterface $destination)
-    {
-        $this->getDriver()->dragTo($this->getXpath(), $destination->getXpath());
-    }
-
-    /**
-     * Brings focus to element.
-     */
-    public function focus()
-    {
-        $this->getDriver()->focus($this->getXpath());
-    }
-
-    /**
-     * Removes focus from element.
-     */
-    public function blur()
-    {
-        $this->getDriver()->blur($this->getXpath());
-    }
-
-    /**
-     * Presses specific keyboard key.
-     *
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     */
-    public function keyPress($char, $modifier = null)
-    {
-        $this->getDriver()->keyPress($this->getXpath(), $char, $modifier);
-    }
-
-    /**
-     * Pressed down specific keyboard key.
-     *
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     */
-    public function keyDown($char, $modifier = null)
-    {
-        $this->getDriver()->keyDown($this->getXpath(), $char, $modifier);
-    }
-
-    /**
-     * Pressed up specific keyboard key.
-     *
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     */
-    public function keyUp($char, $modifier = null)
-    {
-        $this->getDriver()->keyUp($this->getXpath(), $char, $modifier);
-    }
-
-    /**
-     * Submits the form.
-     *
-     * Calling this method on anything else than form elements is not allowed.
-     */
-    public function submit()
-    {
-        $this->getDriver()->submitForm($this->getXpath());
-    }
-}
diff --git a/core/vendor/behat/mink/src/Element/TraversableElement.php b/core/vendor/behat/mink/src/Element/TraversableElement.php
deleted file mode 100644
index 0621af3..0000000
--- a/core/vendor/behat/mink/src/Element/TraversableElement.php
+++ /dev/null
@@ -1,309 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Element;
-
-use Behat\Mink\Exception\ElementNotFoundException;
-
-/**
- * Traversable element.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-abstract class TraversableElement extends Element
-{
-    /**
-     * Finds element by its id.
-     *
-     * @param string $id element id
-     *
-     * @return NodeElement|null
-     */
-    public function findById($id)
-    {
-        $id = $this->getSelectorsHandler()->xpathLiteral($id);
-
-        return $this->find('named', array('id', $id));
-    }
-
-    /**
-     * Checks whether element has a link with specified locator.
-     *
-     * @param string $locator link id, title, text or image alt
-     *
-     * @return Boolean
-     */
-    public function hasLink($locator)
-    {
-        return null !== $this->findLink($locator);
-    }
-
-    /**
-     * Finds link with specified locator.
-     *
-     * @param string $locator link id, title, text or image alt
-     *
-     * @return NodeElement|null
-     */
-    public function findLink($locator)
-    {
-        return $this->find('named', array(
-            'link', $this->getSelectorsHandler()->xpathLiteral($locator),
-        ));
-    }
-
-    /**
-     * Clicks link with specified locator.
-     *
-     * @param string $locator link id, title, text or image alt
-     *
-     * @throws ElementNotFoundException
-     */
-    public function clickLink($locator)
-    {
-        $link = $this->findLink($locator);
-
-        if (null === $link) {
-            throw $this->elementNotFound('link', 'id|title|alt|text', $locator);
-        }
-
-        $link->click();
-    }
-
-    /**
-     * Checks whether element has a button (input[type=submit|image|button|reset], button) with specified locator.
-     *
-     * @param string $locator button id, value or alt
-     *
-     * @return Boolean
-     */
-    public function hasButton($locator)
-    {
-        return null !== $this->findButton($locator);
-    }
-
-    /**
-     * Finds button (input[type=submit|image|button|reset], button) with specified locator.
-     *
-     * @param string $locator button id, value or alt
-     *
-     * @return NodeElement|null
-     */
-    public function findButton($locator)
-    {
-        return $this->find('named', array(
-            'button', $this->getSelectorsHandler()->xpathLiteral($locator),
-        ));
-    }
-
-    /**
-     * Presses button (input[type=submit|image|button|reset], button) with specified locator.
-     *
-     * @param string $locator button id, value or alt
-     *
-     * @throws ElementNotFoundException
-     */
-    public function pressButton($locator)
-    {
-        $button = $this->findButton($locator);
-
-        if (null === $button) {
-            throw $this->elementNotFound('button', 'id|name|title|alt|value', $locator);
-        }
-
-        $button->press();
-    }
-
-    /**
-     * Checks whether element has a field (input, textarea, select) with specified locator.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @return Boolean
-     */
-    public function hasField($locator)
-    {
-        return null !== $this->findField($locator);
-    }
-
-    /**
-     * Finds field (input, textarea, select) with specified locator.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @return NodeElement|null
-     */
-    public function findField($locator)
-    {
-        return $this->find('named', array(
-            'field', $this->getSelectorsHandler()->xpathLiteral($locator),
-        ));
-    }
-
-    /**
-     * Fills in field (input, textarea, select) with specified locator.
-     *
-     * @param string $locator input id, name or label
-     * @param string $value   value
-     *
-     * @throws ElementNotFoundException
-     *
-     * @see NodeElement::setValue
-     */
-    public function fillField($locator, $value)
-    {
-        $field = $this->findField($locator);
-
-        if (null === $field) {
-            throw $this->elementNotFound('form field', 'id|name|label|value', $locator);
-        }
-
-        $field->setValue($value);
-    }
-
-    /**
-     * Checks whether element has a checkbox with specified locator, which is checked.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @return Boolean
-     *
-     * @see NodeElement::isChecked
-     */
-    public function hasCheckedField($locator)
-    {
-        $field = $this->findField($locator);
-
-        return null !== $field && $field->isChecked();
-    }
-
-    /**
-     * Checks whether element has a checkbox with specified locator, which is unchecked.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @return Boolean
-     *
-     * @see NodeElement::isChecked
-     */
-    public function hasUncheckedField($locator)
-    {
-        $field = $this->findField($locator);
-
-        return null !== $field && !$field->isChecked();
-    }
-
-    /**
-     * Checks checkbox with specified locator.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @throws ElementNotFoundException
-     */
-    public function checkField($locator)
-    {
-        $field = $this->findField($locator);
-
-        if (null === $field) {
-            throw $this->elementNotFound('form field', 'id|name|label|value', $locator);
-        }
-
-        $field->check();
-    }
-
-    /**
-     * Unchecks checkbox with specified locator.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @throws ElementNotFoundException
-     */
-    public function uncheckField($locator)
-    {
-        $field = $this->findField($locator);
-
-        if (null === $field) {
-            throw $this->elementNotFound('form field', 'id|name|label|value', $locator);
-        }
-
-        $field->uncheck();
-    }
-
-    /**
-     * Checks whether element has a select field with specified locator.
-     *
-     * @param string $locator select id, name or label
-     *
-     * @return Boolean
-     */
-    public function hasSelect($locator)
-    {
-        return $this->has('named', array(
-            'select', $this->getSelectorsHandler()->xpathLiteral($locator),
-        ));
-    }
-
-    /**
-     * Selects option from select field with specified locator.
-     *
-     * @param string  $locator  input id, name or label
-     * @param string  $value    option value
-     * @param Boolean $multiple select multiple options
-     *
-     * @throws ElementNotFoundException
-     *
-     * @see NodeElement::selectOption
-     */
-    public function selectFieldOption($locator, $value, $multiple = false)
-    {
-        $field = $this->findField($locator);
-
-        if (null === $field) {
-            throw $this->elementNotFound('form field', 'id|name|label|value', $locator);
-        }
-
-        $field->selectOption($value, $multiple);
-    }
-
-    /**
-     * Checks whether element has a table with specified locator.
-     *
-     * @param string $locator table id or caption
-     *
-     * @return Boolean
-     */
-    public function hasTable($locator)
-    {
-        return $this->has('named', array(
-            'table', $this->getSelectorsHandler()->xpathLiteral($locator),
-        ));
-    }
-
-    /**
-     * Attach file to file field with specified locator.
-     *
-     * @param string $locator input id, name or label
-     * @param string $path    path to file
-     *
-     * @throws ElementNotFoundException
-     *
-     * @see NodeElement::attachFile
-     */
-    public function attachFileToField($locator, $path)
-    {
-        $field = $this->findField($locator);
-
-        if (null === $field) {
-            throw $this->elementNotFound('form field', 'id|name|label|value', $locator);
-        }
-
-        $field->attachFile($path);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/DriverException.php b/core/vendor/behat/mink/src/Exception/DriverException.php
deleted file mode 100644
index 840f8bd..0000000
--- a/core/vendor/behat/mink/src/Exception/DriverException.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-/**
- * Exception thrown by drivers when they fail to perform an action.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class DriverException extends Exception
-{
-    /**
-     * Initializes exception.
-     *
-     * @param string          $message
-     * @param int             $code
-     * @param \Exception|null $previous
-     */
-    public function __construct($message, $code = 0, \Exception $previous = null)
-    {
-        parent::__construct($message, $code, $previous);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/ElementException.php b/core/vendor/behat/mink/src/Exception/ElementException.php
deleted file mode 100644
index 49d5c6c..0000000
--- a/core/vendor/behat/mink/src/Exception/ElementException.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-use Behat\Mink\Element\Element;
-
-/**
- * A standard way for elements to re-throw exceptions
- *
- * @deprecated This exception class is not used anymore in Mink 1.6 and will be removed in 2.0
- *
- * @author Chris Worfolk <xmeltrut@gmail.com>
- */
-class ElementException extends Exception
-{
-    private $element;
-
-    /**
-     * Initialises exception.
-     *
-     * @param Element    $element   optional message
-     * @param \Exception $exception exception
-     */
-    public function __construct(Element $element, \Exception $exception)
-    {
-        $this->element = $element;
-
-        parent::__construct(sprintf("Exception thrown by %s\n%s", $element->getXpath(), $exception->getMessage()));
-    }
-
-    /**
-     * Override default toString so we don't send a full backtrace in verbose mode.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->getMessage();
-    }
-
-    /**
-     * Get the element that caused the exception
-     *
-     * @return Element
-     */
-    public function getElement()
-    {
-        return $this->element;
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/ElementHtmlException.php b/core/vendor/behat/mink/src/Exception/ElementHtmlException.php
deleted file mode 100644
index 99e2ea6..0000000
--- a/core/vendor/behat/mink/src/Exception/ElementHtmlException.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-use Behat\Mink\Session;
-use Behat\Mink\Element\Element;
-
-/**
- * Exception thrown when an expectation on the HTML of an element fails.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ElementHtmlException extends ExpectationException
-{
-    /**
-     * Element instance.
-     *
-     * @var Element
-     */
-    protected $element;
-
-    /**
-     * Initializes exception.
-     *
-     * @param string     $message   optional message
-     * @param Session    $session   session instance
-     * @param Element    $element   element
-     * @param \Exception $exception expectation exception
-     */
-    public function __construct($message, Session $session, Element $element, \Exception $exception = null)
-    {
-        $this->element = $element;
-
-        parent::__construct($message, $session, $exception);
-    }
-
-    protected function getContext()
-    {
-        return $this->element->getOuterHtml();
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/ElementNotFoundException.php b/core/vendor/behat/mink/src/Exception/ElementNotFoundException.php
deleted file mode 100644
index 95fd5f0..0000000
--- a/core/vendor/behat/mink/src/Exception/ElementNotFoundException.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-use Behat\Mink\Session;
-
-/**
- * Exception thrown when an expected element is not found.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ElementNotFoundException extends ExpectationException
-{
-    /**
-     * Initializes exception.
-     *
-     * @param Session $session  session instance
-     * @param string  $type     element type
-     * @param string  $selector element selector type
-     * @param string  $locator  element locator
-     */
-    public function __construct(Session $session, $type = null, $selector = null, $locator = null)
-    {
-        $message = '';
-
-        if (null !== $type) {
-            $message .= ucfirst($type);
-        } else {
-            $message .= 'Tag';
-        }
-
-        if (null !== $locator) {
-            if (null === $selector || in_array($selector, array('css', 'xpath'))) {
-                $selector = 'matching '.($selector ?: 'locator');
-            } else {
-                $selector = 'with '.$selector;
-            }
-            $message .= ' '.$selector.' "'.$locator.'"';
-        }
-
-        $message .= ' not found.';
-
-        parent::__construct($message, $session);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/ElementTextException.php b/core/vendor/behat/mink/src/Exception/ElementTextException.php
deleted file mode 100644
index 5efff0f..0000000
--- a/core/vendor/behat/mink/src/Exception/ElementTextException.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-/**
- * Exception thrown when an expectation on the text of an element fails.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ElementTextException extends ElementHtmlException
-{
-    protected function getContext()
-    {
-        return $this->element->getText();
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/Exception.php b/core/vendor/behat/mink/src/Exception/Exception.php
deleted file mode 100644
index 4662a5b..0000000
--- a/core/vendor/behat/mink/src/Exception/Exception.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-/**
- * Mink base exception class.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-abstract class Exception extends \Exception
-{
-}
diff --git a/core/vendor/behat/mink/src/Exception/ExpectationException.php b/core/vendor/behat/mink/src/Exception/ExpectationException.php
deleted file mode 100644
index 25034d1..0000000
--- a/core/vendor/behat/mink/src/Exception/ExpectationException.php
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-use Behat\Mink\Session;
-
-/**
- * Exception thrown for failed expectations.
- *
- * Some specialized child classes are available to customize the error rendering.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ExpectationException extends Exception
-{
-    private $session;
-
-    /**
-     * Initializes exception.
-     *
-     * @param string     $message   optional message
-     * @param Session    $session   session instance
-     * @param \Exception $exception expectation exception
-     */
-    public function __construct($message, Session $session, \Exception $exception = null)
-    {
-        $this->session = $session;
-
-        if (!$message && null !== $exception) {
-            $message = $exception->getMessage();
-        }
-
-        parent::__construct($message, 0, $exception);
-    }
-
-    /**
-     * Returns exception message with additional context info.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        try {
-            $pageText = $this->pipeString($this->trimString($this->getContext())."\n");
-            $string   = sprintf("%s\n\n%s%s", $this->getMessage(), $this->getResponseInfo(), $pageText);
-        } catch (\Exception $e) {
-            return $this->getMessage();
-        }
-
-        return $string;
-    }
-
-    /**
-     * Gets the context rendered for this exception
-     *
-     * @return string
-     */
-    protected function getContext()
-    {
-        return $this->trimBody($this->getSession()->getPage()->getContent());
-    }
-
-    /**
-     * Returns exception session.
-     *
-     * @return Session
-     */
-    protected function getSession()
-    {
-        return $this->session;
-    }
-
-    /**
-     * Prepends every line in a string with pipe (|).
-     *
-     * @param string $string
-     *
-     * @return string
-     */
-    protected function pipeString($string)
-    {
-        return '|  '.strtr($string, array("\n" => "\n|  "));
-    }
-
-    /**
-     * Removes response header/footer, letting only <body /> content.
-     *
-     * @param string $string response content
-     *
-     * @return string
-     */
-    protected function trimBody($string)
-    {
-        $string = preg_replace(array('/^.*<body>/s', '/<\/body>.*$/s'), array('<body>', '</body>'), $string);
-
-        return $string;
-    }
-
-    /**
-     * Trims string to specified number of chars.
-     *
-     * @param string  $string response content
-     * @param integer $count  trim count
-     *
-     * @return string
-     */
-    protected function trimString($string, $count = 1000)
-    {
-        $string = trim($string);
-
-        if ($count < mb_strlen($string)) {
-            return mb_substr($string, 0, $count - 3).'...';
-        }
-
-        return $string;
-    }
-
-    /**
-     * Returns response information string.
-     *
-     * @return string
-     */
-    protected function getResponseInfo()
-    {
-        $driver = basename(str_replace('\\', '/', get_class($this->session->getDriver())));
-
-        $info = '+--[ ';
-        try {
-            $info .= 'HTTP/1.1 '.$this->session->getStatusCode().' | ';
-        } catch (UnsupportedDriverActionException $e) {
-            // Ignore the status code when not supported
-        }
-        $info .= $this->session->getCurrentUrl().' | '.$driver." ]\n|\n";
-
-        return $info;
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/ResponseTextException.php b/core/vendor/behat/mink/src/Exception/ResponseTextException.php
deleted file mode 100644
index 145ed6d..0000000
--- a/core/vendor/behat/mink/src/Exception/ResponseTextException.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-/**
- * Exception thrown when an expectation on the response text fails.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ResponseTextException extends ExpectationException
-{
-    protected function getContext()
-    {
-        return $this->getSession()->getPage()->getText();
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/UnsupportedDriverActionException.php b/core/vendor/behat/mink/src/Exception/UnsupportedDriverActionException.php
deleted file mode 100644
index d02969b..0000000
--- a/core/vendor/behat/mink/src/Exception/UnsupportedDriverActionException.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-use Behat\Mink\Driver\DriverInterface;
-
-/**
- * Exception thrown by drivers when they don't support the requested action.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class UnsupportedDriverActionException extends DriverException
-{
-    /**
-     * Initializes exception.
-     *
-     * @param string          $template what is unsupported?
-     * @param DriverInterface $driver   driver instance
-     * @param \Exception      $previous previous exception
-     */
-    public function __construct($template, DriverInterface $driver, \Exception $previous = null)
-    {
-        $message = sprintf($template, get_class($driver));
-
-        parent::__construct($message, 0, $previous);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Mink.php b/core/vendor/behat/mink/src/Mink.php
deleted file mode 100644
index d1621b1..0000000
--- a/core/vendor/behat/mink/src/Mink.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink;
-
-/**
- * Mink sessions manager.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Mink
-{
-    private $defaultSessionName;
-
-    /**
-     * Sessions.
-     *
-     * @var Session[]
-     */
-    private $sessions = array();
-
-    /**
-     * Initializes manager.
-     *
-     * @param Session[] $sessions
-     */
-    public function __construct(array $sessions = array())
-    {
-        foreach ($sessions as $name => $session) {
-            $this->registerSession($name, $session);
-        }
-    }
-
-    /**
-     * Stops all started sessions.
-     */
-    public function __destruct()
-    {
-        $this->stopSessions();
-    }
-
-    /**
-     * Registers new session.
-     *
-     * @param string  $name
-     * @param Session $session
-     */
-    public function registerSession($name, Session $session)
-    {
-        $name = strtolower($name);
-
-        $this->sessions[$name] = $session;
-    }
-
-    /**
-     * Checks whether session with specified name is registered.
-     *
-     * @param string $name
-     *
-     * @return Boolean
-     */
-    public function hasSession($name)
-    {
-        return isset($this->sessions[strtolower($name)]);
-    }
-
-    /**
-     * Sets default session name to use.
-     *
-     * @param string $name name of the registered session
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function setDefaultSessionName($name)
-    {
-        $name = strtolower($name);
-
-        if (!isset($this->sessions[$name])) {
-            throw new \InvalidArgumentException(sprintf('Session "%s" is not registered.', $name));
-        }
-
-        $this->defaultSessionName = $name;
-    }
-
-    /**
-     * Returns default session name or null if none.
-     *
-     * @return null|string
-     */
-    public function getDefaultSessionName()
-    {
-        return $this->defaultSessionName;
-    }
-
-    /**
-     * Returns registered session by it's name or active one and automatically starts it if required.
-     *
-     * @param string $name session name
-     *
-     * @return Session
-     *
-     * @throws \InvalidArgumentException If the named session is not registered
-     */
-    public function getSession($name = null)
-    {
-        $session = $this->locateSession($name);
-
-        // start session if needed
-        if (!$session->isStarted()) {
-            $session->start();
-        }
-
-        return $session;
-    }
-
-    /**
-     * Checks whether a named session (or the default session) has already been started
-     *
-     * @param string $name session name - if null then the default session will be checked
-     *
-     * @return bool whether the session has been started
-     *
-     * @throws \InvalidArgumentException If the named session is not registered
-     */
-    public function isSessionStarted($name = null)
-    {
-        $session = $this->locateSession($name);
-
-        return $session->isStarted();
-    }
-
-    /**
-     * Returns session asserter.
-     *
-     * @param Session|string $session session object or name
-     *
-     * @return WebAssert
-     */
-    public function assertSession($session = null)
-    {
-        if (!($session instanceof Session)) {
-            $session = $this->getSession($session);
-        }
-
-        return new WebAssert($session);
-    }
-
-    /**
-     * Resets all started sessions.
-     */
-    public function resetSessions()
-    {
-        foreach ($this->sessions as $session) {
-            if ($session->isStarted()) {
-                $session->reset();
-            }
-        }
-    }
-
-    /**
-     * Restarts all started sessions.
-     */
-    public function restartSessions()
-    {
-        foreach ($this->sessions as $session) {
-            if ($session->isStarted()) {
-                $session->restart();
-            }
-        }
-    }
-
-    /**
-     * Stops all started sessions.
-     */
-    public function stopSessions()
-    {
-        foreach ($this->sessions as $session) {
-            if ($session->isStarted()) {
-                $session->stop();
-            }
-        }
-    }
-
-    /**
-     * Returns the named or default session without starting it.
-     *
-     * @param string $name session name
-     *
-     * @return Session
-     *
-     * @throws \InvalidArgumentException If the named session is not registered
-     */
-    protected function locateSession($name = null)
-    {
-        $name = strtolower($name) ?: $this->defaultSessionName;
-
-        if (null === $name) {
-            throw new \InvalidArgumentException('Specify session name to get');
-        }
-
-        if (!isset($this->sessions[$name])) {
-            throw new \InvalidArgumentException(sprintf('Session "%s" is not registered.', $name));
-        }
-
-        $session = $this->sessions[$name];
-
-        return $session;
-    }
-}
diff --git a/core/vendor/behat/mink/src/Selector/CssSelector.php b/core/vendor/behat/mink/src/Selector/CssSelector.php
deleted file mode 100644
index 3636586..0000000
--- a/core/vendor/behat/mink/src/Selector/CssSelector.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector;
-
-use Symfony\Component\CssSelector\CssSelector as CSS;
-
-/**
- * CSS selector engine. Transforms CSS to XPath.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CssSelector implements SelectorInterface
-{
-    /**
-     * Translates CSS into XPath.
-     *
-     * @param string|array $locator current selector locator
-     *
-     * @return string
-     */
-    public function translateToXPath($locator)
-    {
-        if (!is_string($locator)) {
-            throw new \InvalidArgumentException('The CssSelector expects to get a string as locator');
-        }
-
-        return CSS::toXPath($locator);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Selector/ExactNamedSelector.php b/core/vendor/behat/mink/src/Selector/ExactNamedSelector.php
deleted file mode 100644
index 03315a9..0000000
--- a/core/vendor/behat/mink/src/Selector/ExactNamedSelector.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector;
-
-/**
- * Exact match selector engine. Like the Named selector engine but ignores partial matches.
- */
-class ExactNamedSelector extends NamedSelector
-{
-    public function __construct()
-    {
-        $this->registerReplacement('%tagTextMatch%', 'normalize-space(string(.)) = %locator%');
-        $this->registerReplacement('%valueMatch%', './@value = %locator%');
-        $this->registerReplacement('%titleMatch%', './@title = %locator%');
-        $this->registerReplacement('%altMatch%', './@alt = %locator%');
-        $this->registerReplacement('%relMatch%', './@rel = %locator%');
-        $this->registerReplacement('%labelAttributeMatch%', './@label = %locator%');
-
-        parent::__construct();
-    }
-}
diff --git a/core/vendor/behat/mink/src/Selector/NamedSelector.php b/core/vendor/behat/mink/src/Selector/NamedSelector.php
deleted file mode 100644
index 4845f99..0000000
--- a/core/vendor/behat/mink/src/Selector/NamedSelector.php
+++ /dev/null
@@ -1,238 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector;
-
-/**
- * Named selectors engine. Uses registered XPath selectors to create new expressions.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class NamedSelector implements SelectorInterface
-{
-    private $replacements = array(
-        // simple replacements
-        '%lowercaseType%' => "translate(./@type, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')",
-        '%lowercaseRole%' => "translate(./@role, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')",
-        '%tagTextMatch%' => 'contains(normalize-space(string(.)), %locator%)',
-        '%labelTextMatch%' => './@id = //label[%tagTextMatch%]/@for',
-        '%idMatch%' => './@id = %locator%',
-        '%valueMatch%' => 'contains(./@value, %locator%)',
-        '%idOrValueMatch%' => '(%idMatch% or %valueMatch%)',
-        '%idOrNameMatch%' => '(%idMatch% or ./@name = %locator%)',
-        '%placeholderMatch%' => './@placeholder = %locator%',
-        '%titleMatch%' => 'contains(./@title, %locator%)',
-        '%altMatch%' => 'contains(./@alt, %locator%)',
-        '%relMatch%' => 'contains(./@rel, %locator%)',
-        '%labelAttributeMatch%' => 'contains(./@label, %locator%)',
-
-        // complex replacements
-        '%inputTypeWithoutPlaceholderFilter%' => "%lowercaseType% = 'radio' or %lowercaseType% = 'checkbox' or %lowercaseType% = 'file'",
-        '%fieldFilterWithPlaceholder%' => 'self::input[not(%inputTypeWithoutPlaceholderFilter%)] | self::textarea',
-        '%fieldMatchWithPlaceholder%' => '(%idOrNameMatch% or %labelTextMatch% or %placeholderMatch%)',
-        '%fieldMatchWithoutPlaceholder%' => '(%idOrNameMatch% or %labelTextMatch%)',
-        '%fieldFilterWithoutPlaceholder%' => 'self::input[%inputTypeWithoutPlaceholderFilter%] | self::select',
-        '%buttonTypeFilter%' => "%lowercaseType% = 'submit' or %lowercaseType% = 'image' or %lowercaseType% = 'button' or %lowercaseType% = 'reset'",
-        '%notFieldTypeFilter%' => "not(%buttonTypeFilter% or %lowercaseType% = 'hidden')",
-        '%buttonMatch%' => '%idOrNameMatch% or %valueMatch% or %titleMatch%',
-        '%linkMatch%' => '(%idMatch% or %tagTextMatch% or %titleMatch% or %relMatch%)',
-        '%imgAltMatch%' => './/img[%altMatch%]',
-    );
-
-    private $selectors = array(
-        'fieldset' => <<<XPATH
-.//fieldset
-[(%idMatch% or .//legend[%tagTextMatch%])]
-XPATH
-
-        ,'field' => <<<XPATH
-.//*
-[%fieldFilterWithPlaceholder%][%notFieldTypeFilter%][%fieldMatchWithPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//*[%fieldFilterWithPlaceholder%][%notFieldTypeFilter%]
-|
-.//*
-[%fieldFilterWithoutPlaceholder%][%notFieldTypeFilter%][%fieldMatchWithoutPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//*[%fieldFilterWithoutPlaceholder%][%notFieldTypeFilter%]
-XPATH
-
-        ,'link' => <<<XPATH
-.//a
-[./@href][(%linkMatch% or %imgAltMatch%)]
-|
-.//*
-[%lowercaseRole% = 'link'][(%idOrValueMatch% or %titleMatch% or %tagTextMatch%)]
-XPATH
-
-        ,'button' => <<<XPATH
-.//input
-[%buttonTypeFilter%][(%buttonMatch%)]
-|
-.//input
-[%lowercaseType% = 'image'][%altMatch%]
-|
-.//button
-[(%buttonMatch% or %tagTextMatch%)]
-|
-.//*
-[%lowercaseRole% = 'button'][(%buttonMatch% or %tagTextMatch%)]
-XPATH
-
-        ,'link_or_button' => <<<XPATH
-.//a
-[./@href][(%linkMatch% or %imgAltMatch%)]
-|
-.//input
-[%buttonTypeFilter%][(%idOrValueMatch% or %titleMatch%)]
-|
-.//input
-[%lowercaseType% = 'image'][%altMatch%]
-|
-.//button
-[(%idOrValueMatch% or %titleMatch% or %tagTextMatch%)]
-|
-.//*
-[(%lowercaseRole% = 'button' or %lowercaseRole% = 'link')][(%idOrValueMatch% or %titleMatch% or %tagTextMatch%)]
-XPATH
-
-        ,'content' => <<<XPATH
-./descendant-or-self::*
-[%tagTextMatch%]
-XPATH
-
-        ,'select' => <<<XPATH
-.//select
-[%fieldMatchWithoutPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//select
-XPATH
-
-        ,'checkbox' => <<<XPATH
-.//input
-[%lowercaseType% = 'checkbox'][%fieldMatchWithoutPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//input[%lowercaseType% = 'checkbox']
-XPATH
-
-        ,'radio' => <<<XPATH
-.//input
-[%lowercaseType% = 'radio'][%fieldMatchWithoutPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//input[%lowercaseType% = 'radio']
-XPATH
-
-        ,'file' => <<<XPATH
-.//input
-[%lowercaseType% = 'file'][%fieldMatchWithoutPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//input[%lowercaseType% = 'file']
-XPATH
-
-        ,'optgroup' => <<<XPATH
-.//optgroup
-[%labelAttributeMatch%]
-XPATH
-
-        ,'option' => <<<XPATH
-.//option
-[(./@value = %locator% or %tagTextMatch%)]
-XPATH
-
-        ,'table' => <<<XPATH
-.//table
-[(%idMatch% or .//caption[%tagTextMatch%])]
-XPATH
-        ,'id' => <<<XPATH
-.//*[%idMatch%]
-XPATH
-    ,'id_or_name' => <<<XPATH
-.//*[%idOrNameMatch%]
-XPATH
-    );
-
-    /**
-     * Creates selector instance.
-     */
-    public function __construct()
-    {
-        foreach ($this->replacements as $from => $to) {
-            $this->replacements[$from] = strtr($to, $this->replacements);
-        }
-
-        foreach ($this->selectors as $alias => $selector) {
-            $this->selectors[$alias] = strtr($selector, $this->replacements);
-        }
-    }
-
-    /**
-     * Registers new XPath selector with specified name.
-     *
-     * @param string $name  name for selector
-     * @param string $xpath xpath expression
-     */
-    public function registerNamedXpath($name, $xpath)
-    {
-        $this->selectors[$name] = $xpath;
-    }
-
-    /**
-     * Translates provided locator into XPath.
-     *
-     * @param string|array $locator selector name or array of (selector_name, locator)
-     *
-     * @return string
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function translateToXPath($locator)
-    {
-        if (2 < count($locator)) {
-            throw new \InvalidArgumentException('NamedSelector expects array(name, locator) as argument');
-        }
-
-        if (2 == count($locator)) {
-            $selector   = $locator[0];
-            $locator    = $locator[1];
-        } else {
-            $selector   = (string) $locator;
-            $locator    = null;
-        }
-
-        if (!isset($this->selectors[$selector])) {
-            throw new \InvalidArgumentException(sprintf(
-                'Unknown named selector provided: "%s". Expected one of (%s)',
-                $selector,
-                implode(', ', array_keys($this->selectors))
-            ));
-        }
-
-        $xpath = $this->selectors[$selector];
-
-        if (null !== $locator) {
-            $xpath = strtr($xpath, array('%locator%' => $locator));
-        }
-
-        return $xpath;
-    }
-
-    /**
-     * Registers a replacement in the list of replacements
-     *
-     * This method must be called in the constructor before calling the parent constructor.
-     *
-     * @param string $from
-     * @param string $to
-     */
-    protected function registerReplacement($from, $to)
-    {
-        $this->replacements[$from] = $to;
-    }
-}
diff --git a/core/vendor/behat/mink/src/Selector/PartialNamedSelector.php b/core/vendor/behat/mink/src/Selector/PartialNamedSelector.php
deleted file mode 100644
index b864a22..0000000
--- a/core/vendor/behat/mink/src/Selector/PartialNamedSelector.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector;
-
-/**
- * Named selectors engine. Uses registered XPath selectors to create new expressions.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class PartialNamedSelector extends NamedSelector
-{
-    public function __construct()
-    {
-        $this->registerReplacement('%tagTextMatch%', 'contains(normalize-space(string(.)), %locator%)');
-        $this->registerReplacement('%valueMatch%', 'contains(./@value, %locator%)');
-        $this->registerReplacement('%titleMatch%', 'contains(./@title, %locator%)');
-        $this->registerReplacement('%altMatch%', 'contains(./@alt, %locator%)');
-        $this->registerReplacement('%relMatch%', 'contains(./@rel, %locator%)');
-        $this->registerReplacement('%labelAttributeMatch%', 'contains(./@label, %locator%)');
-
-        parent::__construct();
-    }
-}
diff --git a/core/vendor/behat/mink/src/Selector/SelectorInterface.php b/core/vendor/behat/mink/src/Selector/SelectorInterface.php
deleted file mode 100644
index e4f5f17..0000000
--- a/core/vendor/behat/mink/src/Selector/SelectorInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector;
-
-/**
- * Mink selector engine interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface SelectorInterface
-{
-    /**
-     * Translates provided locator into XPath.
-     *
-     * @param string|array $locator current selector locator
-     *
-     * @return string
-     */
-    public function translateToXPath($locator);
-}
diff --git a/core/vendor/behat/mink/src/Selector/SelectorsHandler.php b/core/vendor/behat/mink/src/Selector/SelectorsHandler.php
deleted file mode 100644
index a19de67..0000000
--- a/core/vendor/behat/mink/src/Selector/SelectorsHandler.php
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector;
-
-use Behat\Mink\Selector\Xpath\Escaper;
-
-/**
- * Selectors handler.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class SelectorsHandler
-{
-    private $selectors;
-    private $escaper;
-
-    /**
-     * Initializes selectors handler.
-     *
-     * @param SelectorInterface[] $selectors default selectors to register
-     */
-    public function __construct(array $selectors = array())
-    {
-        $this->escaper = new Escaper();
-
-        $this->registerSelector('named_partial', new PartialNamedSelector());
-        $this->registerSelector('named_exact', new ExactNamedSelector());
-        $this->registerSelector('css', new CssSelector());
-
-        foreach ($selectors as $name => $selector) {
-            $this->registerSelector($name, $selector);
-        }
-    }
-
-    /**
-     * Registers new selector engine with specified name.
-     *
-     * @param string            $name     selector engine name
-     * @param SelectorInterface $selector selector engine instance
-     */
-    public function registerSelector($name, SelectorInterface $selector)
-    {
-        $this->selectors[$name] = $selector;
-    }
-
-    /**
-     * Checks whether selector with specified name is registered on handler.
-     *
-     * @param string $name selector engine name
-     *
-     * @return Boolean
-     */
-    public function isSelectorRegistered($name)
-    {
-        return isset($this->selectors[$name]);
-    }
-
-    /**
-     * Returns selector engine with specified name.
-     *
-     * @param string $name selector engine name
-     *
-     * @return SelectorInterface
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function getSelector($name)
-    {
-        if ('named' === $name) {
-            trigger_error(
-                'Using the "named" selector directly from the handler is deprecated as of 1.6 and will be removed in 2.0.'
-                .' Use the "named_partial" or use the "named" selector through the Element API instead.',
-                E_USER_DEPRECATED
-            );
-            $name = 'named_partial';
-        }
-
-        if (!$this->isSelectorRegistered($name)) {
-            throw new \InvalidArgumentException("Selector \"$name\" is not registered.");
-        }
-
-        return $this->selectors[$name];
-    }
-
-    /**
-     * Translates selector with specified name to XPath.
-     *
-     * @param string       $selector selector engine name (registered)
-     * @param string|array $locator  selector locator (an array or a string depending of the selector being used)
-     *
-     * @return string
-     */
-    public function selectorToXpath($selector, $locator)
-    {
-        if ('xpath' === $selector) {
-            if (!is_string($locator)) {
-                throw new \InvalidArgumentException('The xpath selector expects to get a string as locator');
-            }
-
-            return $locator;
-        }
-
-        return $this->getSelector($selector)->translateToXPath($locator);
-    }
-
-    /**
-     * Translates string to XPath literal.
-     *
-     * @param string $s
-     *
-     * @return string
-     */
-    public function xpathLiteral($s)
-    {
-        return $this->escaper->escapeLiteral($s);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Selector/Xpath/Escaper.php b/core/vendor/behat/mink/src/Selector/Xpath/Escaper.php
deleted file mode 100644
index be35000..0000000
--- a/core/vendor/behat/mink/src/Selector/Xpath/Escaper.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector\Xpath;
-
-/**
- * XPath escaper.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Escaper
-{
-    /**
-     * Escapes the string as a XPath literal.
-     *
-     * @param string $s
-     *
-     * @return string
-     */
-    public function escapeLiteral($s)
-    {
-        if (false === strpos($s, "'")) {
-            return sprintf("'%s'", $s);
-        }
-
-        if (false === strpos($s, '"')) {
-            return sprintf('"%s"', $s);
-        }
-
-        $string = $s;
-        $parts = array();
-        while (true) {
-            if (false !== $pos = strpos($string, "'")) {
-                $parts[] = sprintf("'%s'", substr($string, 0, $pos));
-                $parts[] = "\"'\"";
-                $string = substr($string, $pos + 1);
-            } else {
-                $parts[] = "'$string'";
-                break;
-            }
-        }
-
-        return sprintf("concat(%s)", implode($parts, ','));
-    }
-}
diff --git a/core/vendor/behat/mink/src/Selector/Xpath/Manipulator.php b/core/vendor/behat/mink/src/Selector/Xpath/Manipulator.php
deleted file mode 100644
index 116650a..0000000
--- a/core/vendor/behat/mink/src/Selector/Xpath/Manipulator.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector\Xpath;
-
-/**
- * XPath manipulation utility.
- *
- * @author Graham Bates
- * @author Christophe Coevoet <stof@notk.org>
- */
-class Manipulator
-{
-    /**
-     * Regex to find union operators not inside brackets.
-     */
-    const UNION_PATTERN = '/\|(?![^\[]*\])/';
-
-    /**
-     * Prepends the XPath prefix to the given XPath.
-     *
-     * The returned XPath will match elements matching the XPath inside an element
-     * matching the prefix.
-     *
-     * @param string $xpath
-     * @param string $prefix
-     *
-     * @return string
-     */
-    public function prepend($xpath, $prefix)
-    {
-        $expressions = array();
-
-        // If the xpath prefix contains a union we need to wrap it in parentheses.
-        if (preg_match(self::UNION_PATTERN, $prefix)) {
-            $prefix = '('.$prefix.')';
-        }
-
-        // Split any unions into individual expressions.
-        foreach (preg_split(self::UNION_PATTERN, $xpath) as $expression) {
-            $expression = trim($expression);
-            $parenthesis = '';
-
-            // If the union is inside some braces, we need to preserve the opening braces and apply
-            // the prefix only inside it.
-            if (preg_match('/^[\(\s*]+/', $expression, $matches)) {
-                $parenthesis = $matches[0];
-                $expression = substr($expression, strlen($parenthesis));
-            }
-
-            // add prefix before element selector
-            if (0 === strpos($expression, '/')) {
-                $expression = $prefix.$expression;
-            } else {
-                $expression = $prefix.'/'.$expression;
-            }
-            $expressions[] = $parenthesis.$expression;
-        }
-
-        return implode(' | ', $expressions);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Session.php b/core/vendor/behat/mink/src/Session.php
deleted file mode 100644
index c67f7f9..0000000
--- a/core/vendor/behat/mink/src/Session.php
+++ /dev/null
@@ -1,352 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink;
-
-use Behat\Mink\Driver\DriverInterface;
-use Behat\Mink\Selector\SelectorsHandler;
-use Behat\Mink\Element\DocumentElement;
-
-/**
- * Mink session.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Session
-{
-    private $driver;
-    private $page;
-    private $selectorsHandler;
-
-    /**
-     * Initializes session.
-     *
-     * @param DriverInterface  $driver
-     * @param SelectorsHandler $selectorsHandler
-     */
-    public function __construct(DriverInterface $driver, SelectorsHandler $selectorsHandler = null)
-    {
-        $driver->setSession($this);
-
-        if (null === $selectorsHandler) {
-            $selectorsHandler = new SelectorsHandler();
-        }
-
-        $this->driver           = $driver;
-        $this->selectorsHandler = $selectorsHandler;
-        $this->page             = new DocumentElement($this);
-    }
-
-    /**
-     * Checks whether session (driver) was started.
-     *
-     * @return Boolean
-     */
-    public function isStarted()
-    {
-        return $this->driver->isStarted();
-    }
-
-    /**
-     * Starts session driver.
-     *
-     * Calling any action before visiting a page is an undefined behavior.
-     * The only supported method calls on a fresh driver are
-     * - visit()
-     * - setRequestHeader()
-     * - setBasicAuth()
-     * - reset()
-     * - stop()
-     */
-    public function start()
-    {
-        $this->driver->start();
-    }
-
-    /**
-     * Stops session driver.
-     */
-    public function stop()
-    {
-        $this->driver->stop();
-    }
-
-    /**
-     * Restart session driver.
-     */
-    public function restart()
-    {
-        $this->driver->stop();
-        $this->driver->start();
-    }
-
-    /**
-     * Reset session driver state.
-     *
-     * Calling any action before visiting a page is an undefined behavior.
-     * The only supported method calls on a fresh driver are
-     * - visit()
-     * - setRequestHeader()
-     * - setBasicAuth()
-     * - reset()
-     * - stop()
-     */
-    public function reset()
-    {
-        $this->driver->reset();
-    }
-
-    /**
-     * Returns session driver.
-     *
-     * @return DriverInterface
-     */
-    public function getDriver()
-    {
-        return $this->driver;
-    }
-
-    /**
-     * Returns page element.
-     *
-     * @return DocumentElement
-     */
-    public function getPage()
-    {
-        return $this->page;
-    }
-
-    /**
-     * Returns selectors handler.
-     *
-     * @return SelectorsHandler
-     */
-    public function getSelectorsHandler()
-    {
-        return $this->selectorsHandler;
-    }
-
-    /**
-     * Visit specified URL.
-     *
-     * @param string $url url of the page
-     */
-    public function visit($url)
-    {
-        $this->driver->visit($url);
-    }
-
-    /**
-     * Sets HTTP Basic authentication parameters
-     *
-     * @param string|Boolean $user     user name or false to disable authentication
-     * @param string         $password password
-     */
-    public function setBasicAuth($user, $password = '')
-    {
-        $this->driver->setBasicAuth($user, $password);
-    }
-
-    /**
-     * Sets specific request header.
-     *
-     * @param string $name
-     * @param string $value
-     */
-    public function setRequestHeader($name, $value)
-    {
-        $this->driver->setRequestHeader($name, $value);
-    }
-
-    /**
-     * Returns all response headers.
-     *
-     * @return array
-     */
-    public function getResponseHeaders()
-    {
-        return $this->driver->getResponseHeaders();
-    }
-
-    /**
-     * Sets cookie.
-     *
-     * @param string $name
-     * @param string $value
-     */
-    public function setCookie($name, $value = null)
-    {
-        $this->driver->setCookie($name, $value);
-    }
-
-    /**
-     * Returns cookie by name.
-     *
-     * @param string $name
-     *
-     * @return string|null
-     */
-    public function getCookie($name)
-    {
-        return $this->driver->getCookie($name);
-    }
-
-    /**
-     * Returns response status code.
-     *
-     * @return integer
-     */
-    public function getStatusCode()
-    {
-        return $this->driver->getStatusCode();
-    }
-
-    /**
-     * Returns current URL address.
-     *
-     * @return string
-     */
-    public function getCurrentUrl()
-    {
-        return $this->driver->getCurrentUrl();
-    }
-
-    /**
-     * Capture a screenshot of the current window.
-     *
-     * @return string screenshot of MIME type image/* depending
-     *                on driver (e.g., image/png, image/jpeg)
-     */
-    public function getScreenshot()
-    {
-        return $this->driver->getScreenshot();
-    }
-
-    /**
-     * Return the names of all open windows
-     *
-     * @return array Array of all open window's names.
-     */
-    public function getWindowNames()
-    {
-        return $this->driver->getWindowNames();
-    }
-
-    /**
-     * Return the name of the currently active window
-     *
-     * @return string The name of the current window.
-     */
-    public function getWindowName()
-    {
-        return $this->driver->getWindowName();
-    }
-
-    /**
-     * Reloads current session page.
-     */
-    public function reload()
-    {
-        $this->driver->reload();
-    }
-
-    /**
-     * Moves backward 1 page in history.
-     */
-    public function back()
-    {
-        $this->driver->back();
-    }
-
-    /**
-     * Moves forward 1 page in history.
-     */
-    public function forward()
-    {
-        $this->driver->forward();
-    }
-
-    /**
-     * Switches to specific browser window.
-     *
-     * @param string $name window name (null for switching back to main window)
-     */
-    public function switchToWindow($name = null)
-    {
-        $this->driver->switchToWindow($name);
-    }
-
-    /**
-     * Switches to specific iFrame.
-     *
-     * @param string $name iframe name (null for switching back)
-     */
-    public function switchToIFrame($name = null)
-    {
-        $this->driver->switchToIFrame($name);
-    }
-
-    /**
-     * Execute JS in browser.
-     *
-     * @param string $script javascript
-     */
-    public function executeScript($script)
-    {
-        $this->driver->executeScript($script);
-    }
-
-    /**
-     * Execute JS in browser and return it's response.
-     *
-     * @param string $script javascript
-     *
-     * @return string
-     */
-    public function evaluateScript($script)
-    {
-        return $this->driver->evaluateScript($script);
-    }
-
-    /**
-     * Waits some time or until JS condition turns true.
-     *
-     * @param integer $time      time in milliseconds
-     * @param string  $condition JS condition
-     *
-     * @return boolean
-     */
-    public function wait($time, $condition = 'false')
-    {
-        return $this->driver->wait($time, $condition);
-    }
-
-    /**
-     * Set the dimensions of the window.
-     *
-     * @param integer $width  set the window width, measured in pixels
-     * @param integer $height set the window height, measured in pixels
-     * @param string  $name   window name (null for the main window)
-     */
-    public function resizeWindow($width, $height, $name = null)
-    {
-        $this->driver->resizeWindow($width, $height, $name);
-    }
-
-    /**
-     * Maximize the window if it is not maximized already
-     *
-     * @param string $name window name (null for the main window)
-     */
-    public function maximizeWindow($name = null)
-    {
-        $this->driver->maximizeWindow($name);
-    }
-}
diff --git a/core/vendor/behat/mink/src/WebAssert.php b/core/vendor/behat/mink/src/WebAssert.php
deleted file mode 100644
index 127c3c1..0000000
--- a/core/vendor/behat/mink/src/WebAssert.php
+++ /dev/null
@@ -1,749 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink;
-
-use Behat\Mink\Element\Element;
-use Behat\Mink\Element\ElementInterface;
-use Behat\Mink\Element\NodeElement;
-use Behat\Mink\Element\TraversableElement;
-use Behat\Mink\Exception\ElementNotFoundException;
-use Behat\Mink\Exception\ExpectationException;
-use Behat\Mink\Exception\ResponseTextException;
-use Behat\Mink\Exception\ElementHtmlException;
-use Behat\Mink\Exception\ElementTextException;
-
-/**
- * Mink web assertions tool.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class WebAssert
-{
-    protected $session;
-
-    /**
-     * Initializes assertion engine.
-     *
-     * @param Session $session
-     */
-    public function __construct(Session $session)
-    {
-        $this->session = $session;
-    }
-
-    /**
-     * Checks that current session address is equals to provided one.
-     *
-     * @param string $page
-     *
-     * @throws ExpectationException
-     */
-    public function addressEquals($page)
-    {
-        $expected = $this->cleanUrl($page);
-        $actual   = $this->getCurrentUrlPath();
-
-        $this->assert($actual === $expected, sprintf('Current page is "%s", but "%s" expected.', $actual, $expected));
-    }
-
-    /**
-     * Checks that current session address is not equals to provided one.
-     *
-     * @param string $page
-     *
-     * @throws ExpectationException
-     */
-    public function addressNotEquals($page)
-    {
-        $expected = $this->cleanUrl($page);
-        $actual   = $this->getCurrentUrlPath();
-
-        $this->assert($actual !== $expected, sprintf('Current page is "%s", but should not be.', $actual));
-    }
-
-    /**
-     * Checks that current session address matches regex.
-     *
-     * @param string $regex
-     *
-     * @throws ExpectationException
-     */
-    public function addressMatches($regex)
-    {
-        $actual = $this->getCurrentUrlPath();
-        $message = sprintf('Current page "%s" does not match the regex "%s".', $actual, $regex);
-
-        $this->assert((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that specified cookie exists and its value equals to a given one
-     *
-     * @param string $name  cookie name
-     * @param string $value cookie value
-     *
-     * @throws ExpectationException
-     */
-    public function cookieEquals($name, $value)
-    {
-        $this->cookieExists($name);
-
-        $actualValue = $this->session->getCookie($name);
-        $message = sprintf('Cookie "%s" value is "%s", but should be "%s".', $name, $actualValue, $value);
-
-        $this->assert($actualValue == $value, $message);
-    }
-
-    /**
-     * Checks that specified cookie exists
-     *
-     * @param string $name cookie name
-     *
-     * @throws ExpectationException
-     */
-    public function cookieExists($name)
-    {
-        $message = sprintf('Cookie "%s" is not set, but should be.', $name);
-        $this->assert($this->session->getCookie($name) !== null, $message);
-    }
-
-    /**
-     * Checks that current response code equals to provided one.
-     *
-     * @param integer $code
-     *
-     * @throws ExpectationException
-     */
-    public function statusCodeEquals($code)
-    {
-        $actual = $this->session->getStatusCode();
-        $message = sprintf('Current response status code is %d, but %d expected.', $actual, $code);
-
-        $this->assert(intval($code) === intval($actual), $message);
-    }
-
-    /**
-     * Checks that current response code not equals to provided one.
-     *
-     * @param integer $code
-     *
-     * @throws ExpectationException
-     */
-    public function statusCodeNotEquals($code)
-    {
-        $actual = $this->session->getStatusCode();
-        $message = sprintf('Current response status code is %d, but should not be.', $actual);
-
-        $this->assert(intval($code) !== intval($actual), $message);
-    }
-
-    /**
-     * Checks that current page contains text.
-     *
-     * @param string $text
-     *
-     * @throws ResponseTextException
-     */
-    public function pageTextContains($text)
-    {
-        $actual = $this->session->getPage()->getText();
-        $actual = preg_replace('/\s+/u', ' ', $actual);
-        $regex  = '/'.preg_quote($text, '/').'/ui';
-        $message = sprintf('The text "%s" was not found anywhere in the text of the current page.', $text);
-
-        $this->assertResponseText((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that current page does not contains text.
-     *
-     * @param string $text
-     *
-     * @throws ResponseTextException
-     */
-    public function pageTextNotContains($text)
-    {
-        $actual = $this->session->getPage()->getText();
-        $actual = preg_replace('/\s+/u', ' ', $actual);
-        $regex  = '/'.preg_quote($text, '/').'/ui';
-        $message = sprintf('The text "%s" appears in the text of this page, but it should not.', $text);
-
-        $this->assertResponseText(!preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that current page text matches regex.
-     *
-     * @param string $regex
-     *
-     * @throws ResponseTextException
-     */
-    public function pageTextMatches($regex)
-    {
-        $actual = $this->session->getPage()->getText();
-        $message = sprintf('The pattern %s was not found anywhere in the text of the current page.', $regex);
-
-        $this->assertResponseText((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that current page text does not matches regex.
-     *
-     * @param string $regex
-     *
-     * @throws ResponseTextException
-     */
-    public function pageTextNotMatches($regex)
-    {
-        $actual = $this->session->getPage()->getText();
-        $message = sprintf('The pattern %s was found in the text of the current page, but it should not.', $regex);
-
-        $this->assertResponseText(!preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that page HTML (response content) contains text.
-     *
-     * @param string $text
-     *
-     * @throws ExpectationException
-     */
-    public function responseContains($text)
-    {
-        $actual = $this->session->getPage()->getContent();
-        $regex  = '/'.preg_quote($text, '/').'/ui';
-        $message = sprintf('The string "%s" was not found anywhere in the HTML response of the current page.', $text);
-
-        $this->assert((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that page HTML (response content) does not contains text.
-     *
-     * @param string $text
-     *
-     * @throws ExpectationException
-     */
-    public function responseNotContains($text)
-    {
-        $actual = $this->session->getPage()->getContent();
-        $regex  = '/'.preg_quote($text, '/').'/ui';
-        $message = sprintf('The string "%s" appears in the HTML response of this page, but it should not.', $text);
-
-        $this->assert(!preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that page HTML (response content) matches regex.
-     *
-     * @param string $regex
-     *
-     * @throws ExpectationException
-     */
-    public function responseMatches($regex)
-    {
-        $actual = $this->session->getPage()->getContent();
-        $message = sprintf('The pattern %s was not found anywhere in the HTML response of the page.', $regex);
-
-        $this->assert((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that page HTML (response content) does not matches regex.
-     *
-     * @param $regex
-     *
-     * @throws ExpectationException
-     */
-    public function responseNotMatches($regex)
-    {
-        $actual = $this->session->getPage()->getContent();
-        $message = sprintf('The pattern %s was found in the HTML response of the page, but it should not.', $regex);
-
-        $this->assert(!preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that there is specified number of specific elements on the page.
-     *
-     * @param string           $selectorType element selector type (css, xpath)
-     * @param string|array     $selector     element selector
-     * @param integer          $count        expected count
-     * @param ElementInterface $container    document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function elementsCount($selectorType, $selector, $count, ElementInterface $container = null)
-    {
-        $container = $container ?: $this->session->getPage();
-        $nodes = $container->findAll($selectorType, $selector);
-
-        $message = sprintf(
-            '%d %s found on the page, but should be %d.',
-            count($nodes),
-            $this->getMatchingElementRepresentation($selectorType, $selector, count($nodes) !== 1),
-            $count
-        );
-
-        $this->assert(intval($count) === count($nodes), $message);
-    }
-
-    /**
-     * Checks that specific element exists on the current page.
-     *
-     * @param string           $selectorType element selector type (css, xpath)
-     * @param string|array     $selector     element selector
-     * @param ElementInterface $container    document to check against
-     *
-     * @return NodeElement
-     *
-     * @throws ElementNotFoundException
-     */
-    public function elementExists($selectorType, $selector, ElementInterface $container = null)
-    {
-        $container = $container ?: $this->session->getPage();
-        $node = $container->find($selectorType, $selector);
-
-        if (null === $node) {
-            if (is_array($selector)) {
-                $selector = implode(' ', $selector);
-            }
-
-            throw new ElementNotFoundException($this->session, 'element', $selectorType, $selector);
-        }
-
-        return $node;
-    }
-
-    /**
-     * Checks that specific element does not exists on the current page.
-     *
-     * @param string           $selectorType element selector type (css, xpath)
-     * @param string|array     $selector     element selector
-     * @param ElementInterface $container    document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function elementNotExists($selectorType, $selector, ElementInterface $container = null)
-    {
-        $container = $container ?: $this->session->getPage();
-        $node = $container->find($selectorType, $selector);
-
-        $message = sprintf(
-            'An %s appears on this page, but it should not.',
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assert(null === $node, $message);
-    }
-
-    /**
-     * Checks that specific element contains text.
-     *
-     * @param string       $selectorType element selector type (css, xpath)
-     * @param string|array $selector     element selector
-     * @param string       $text         expected text
-     *
-     * @throws ElementTextException
-     */
-    public function elementTextContains($selectorType, $selector, $text)
-    {
-        $element = $this->elementExists($selectorType, $selector);
-        $actual  = $element->getText();
-        $regex   = '/'.preg_quote($text, '/').'/ui';
-
-        $message = sprintf(
-            'The text "%s" was not found in the text of the %s.',
-            $text,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElementText((bool) preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that specific element does not contains text.
-     *
-     * @param string       $selectorType element selector type (css, xpath)
-     * @param string|array $selector     element selector
-     * @param string       $text         expected text
-     *
-     * @throws ElementTextException
-     */
-    public function elementTextNotContains($selectorType, $selector, $text)
-    {
-        $element = $this->elementExists($selectorType, $selector);
-        $actual  = $element->getText();
-        $regex   = '/'.preg_quote($text, '/').'/ui';
-
-        $message = sprintf(
-            'The text "%s" appears in the text of the %s, but it should not.',
-            $text,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElementText(!preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that specific element contains HTML.
-     *
-     * @param string       $selectorType element selector type (css, xpath)
-     * @param string|array $selector     element selector
-     * @param string       $html         expected text
-     *
-     * @throws ElementHtmlException
-     */
-    public function elementContains($selectorType, $selector, $html)
-    {
-        $element = $this->elementExists($selectorType, $selector);
-        $actual  = $element->getHtml();
-        $regex   = '/'.preg_quote($html, '/').'/ui';
-
-        $message = sprintf(
-            'The string "%s" was not found in the HTML of the %s.',
-            $html,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElement((bool) preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that specific element does not contains HTML.
-     *
-     * @param string       $selectorType element selector type (css, xpath)
-     * @param string|array $selector     element selector
-     * @param string       $html         expected text
-     *
-     * @throws ElementHtmlException
-     */
-    public function elementNotContains($selectorType, $selector, $html)
-    {
-        $element = $this->elementExists($selectorType, $selector);
-        $actual  = $element->getHtml();
-        $regex   = '/'.preg_quote($html, '/').'/ui';
-
-        $message = sprintf(
-            'The string "%s" appears in the HTML of the %s, but it should not.',
-            $html,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElement(!preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that an attribute exists in an element.
-     *
-     * @param string       $selectorType
-     * @param string|array $selector
-     * @param string       $attribute
-     *
-     * @return NodeElement
-     *
-     * @throws ElementHtmlException
-     */
-    public function elementAttributeExists($selectorType, $selector, $attribute)
-    {
-        $element = $this->elementExists($selectorType, $selector);
-
-        $message = sprintf(
-            'The attribute "%s" was not found in the %s.',
-            $attribute,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElement($element->hasAttribute($attribute), $message, $element);
-
-        return $element;
-    }
-
-    /**
-     * Checks that an attribute of a specific elements contains text.
-     *
-     * @param string       $selectorType
-     * @param string|array $selector
-     * @param string       $attribute
-     * @param string       $text
-     *
-     * @throws ElementHtmlException
-     */
-    public function elementAttributeContains($selectorType, $selector, $attribute, $text)
-    {
-        $element = $this->elementAttributeExists($selectorType, $selector, $attribute);
-        $actual  = $element->getAttribute($attribute);
-        $regex   = '/'.preg_quote($text, '/').'/ui';
-
-        $message = sprintf(
-            'The text "%s" was not found in the attribute "%s" of the %s.',
-            $text,
-            $attribute,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElement((bool) preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that an attribute of a specific elements does not contain text.
-     *
-     * @param string       $selectorType
-     * @param string|array $selector
-     * @param string       $attribute
-     * @param string       $text
-     *
-     * @throws ElementHtmlException
-     */
-    public function elementAttributeNotContains($selectorType, $selector, $attribute, $text)
-    {
-        $element = $this->elementAttributeExists($selectorType, $selector, $attribute);
-        $actual  = $element->getAttribute($attribute);
-        $regex   = '/'.preg_quote($text, '/').'/ui';
-
-        $message = sprintf(
-            'The text "%s" was found in the attribute "%s" of the %s.',
-            $text,
-            $attribute,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElement(!preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that specific field exists on the current page.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param TraversableElement $container document to check against
-     *
-     * @return NodeElement
-     *
-     * @throws ElementNotFoundException
-     */
-    public function fieldExists($field, TraversableElement $container = null)
-    {
-        $container = $container ?: $this->session->getPage();
-        $node = $container->findField($field);
-
-        if (null === $node) {
-            throw new ElementNotFoundException($this->session, 'form field', 'id|name|label|value', $field);
-        }
-
-        return $node;
-    }
-
-    /**
-     * Checks that specific field does not exists on the current page.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param TraversableElement $container document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function fieldNotExists($field, TraversableElement $container = null)
-    {
-        $container = $container ?: $this->session->getPage();
-        $node = $container->findField($field);
-
-        $this->assert(null === $node, sprintf('A field "%s" appears on this page, but it should not.', $field));
-    }
-
-    /**
-     * Checks that specific field have provided value.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param string             $value     field value
-     * @param TraversableElement $container document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function fieldValueEquals($field, $value, TraversableElement $container = null)
-    {
-        $node   = $this->fieldExists($field, $container);
-        $actual = $node->getValue();
-        $regex  = '/^'.preg_quote($value, '/').'$/ui';
-
-        $message = sprintf('The field "%s" value is "%s", but "%s" expected.', $field, $actual, $value);
-
-        $this->assert((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that specific field have provided value.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param string             $value     field value
-     * @param TraversableElement $container document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function fieldValueNotEquals($field, $value, TraversableElement $container = null)
-    {
-        $node   = $this->fieldExists($field, $container);
-        $actual = $node->getValue();
-        $regex  = '/^'.preg_quote($value, '/').'$/ui';
-
-        $message = sprintf('The field "%s" value is "%s", but it should not be.', $field, $actual);
-
-        $this->assert(!preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that specific checkbox is checked.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param TraversableElement $container document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function checkboxChecked($field, TraversableElement $container = null)
-    {
-        $node = $this->fieldExists($field, $container);
-
-        $this->assert($node->isChecked(), sprintf('Checkbox "%s" is not checked, but it should be.', $field));
-    }
-
-    /**
-     * Checks that specific checkbox is unchecked.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param TraversableElement $container document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function checkboxNotChecked($field, TraversableElement $container = null)
-    {
-        $node = $this->fieldExists($field, $container);
-
-        $this->assert(!$node->isChecked(), sprintf('Checkbox "%s" is checked, but it should not be.', $field));
-    }
-
-    /**
-     * Gets current url of the page.
-     *
-     * @return string
-     */
-    protected function getCurrentUrlPath()
-    {
-        return $this->cleanUrl($this->session->getCurrentUrl());
-    }
-
-    /**
-     * Trims scriptname from the URL.
-     *
-     * @param string $url
-     *
-     * @return string
-     */
-    protected function cleanUrl($url)
-    {
-        $parts = parse_url($url);
-        $fragment = empty($parts['fragment']) ? '' : '#'.$parts['fragment'];
-        $path = empty($parts['path']) ? '/' : $parts['path'];
-
-        return preg_replace('/^\/[^\.\/]+\.php/', '', $path).$fragment;
-    }
-
-    /**
-     * Asserts a condition.
-     *
-     * @param bool   $condition
-     * @param string $message   Failure message
-     *
-     * @throws ExpectationException when the condition is not fulfilled
-     */
-    private function assert($condition, $message)
-    {
-        if ($condition) {
-            return;
-        }
-
-        throw new ExpectationException($message, $this->session);
-    }
-
-    /**
-     * Asserts a condition involving the response text.
-     *
-     * @param bool   $condition
-     * @param string $message   Failure message
-     *
-     * @throws ResponseTextException when the condition is not fulfilled
-     */
-    private function assertResponseText($condition, $message)
-    {
-        if ($condition) {
-            return;
-        }
-
-        throw new ResponseTextException($message, $this->session);
-    }
-
-    /**
-     * Asserts a condition on an element.
-     *
-     * @param bool    $condition
-     * @param string  $message   Failure message
-     * @param Element $element
-     *
-     * @throws ElementHtmlException when the condition is not fulfilled
-     */
-    private function assertElement($condition, $message, Element $element)
-    {
-        if ($condition) {
-            return;
-        }
-
-        throw new ElementHtmlException($message, $this->session, $element);
-    }
-
-    /**
-     * Asserts a condition involving the text of an element.
-     *
-     * @param bool    $condition
-     * @param string  $message   Failure message
-     * @param Element $element
-     *
-     * @throws ElementTextException when the condition is not fulfilled
-     */
-    private function assertElementText($condition, $message, Element $element)
-    {
-        if ($condition) {
-            return;
-        }
-
-        throw new ElementTextException($message, $this->session, $element);
-    }
-
-    /**
-     * @param string       $selectorType
-     * @param string|array $selector
-     * @param boolean      $plural
-     *
-     * @return string
-     */
-    private function getMatchingElementRepresentation($selectorType, $selector, $plural = false)
-    {
-        $pluralization = $plural ? 's' : '';
-
-        if (in_array($selectorType, array('named', 'named_exact', 'named_partial'))
-            && is_array($selector) && 2 === count($selector)
-        ) {
-            return sprintf('%s%s matching locator "%s"', $selector[0], $pluralization, $selector[1]);
-        }
-
-        if (is_array($selector)) {
-            $selector = implode(' ', $selector);
-        }
-
-        return sprintf('element%s matching %s "%s"', $pluralization, $selectorType, $selector);
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Driver/CoreDriverTest.php b/core/vendor/behat/mink/tests/Driver/CoreDriverTest.php
deleted file mode 100644
index d99b17f..0000000
--- a/core/vendor/behat/mink/tests/Driver/CoreDriverTest.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver;
-
-class CoreDriverTest extends \PHPUnit_Framework_TestCase
-{
-    public function testNoExtraMethods()
-    {
-        $interfaceRef = new \ReflectionClass('Behat\Mink\Driver\DriverInterface');
-        $coreDriverRef = new \ReflectionClass('Behat\Mink\Driver\CoreDriver');
-
-        foreach ($coreDriverRef->getMethods(\ReflectionMethod::IS_PUBLIC) as $method) {
-            $this->assertTrue(
-                $interfaceRef->hasMethod($method->getName()),
-                sprintf('CoreDriver should not implement methods which are not part of the DriverInterface but %s found', $method->getName())
-            );
-        }
-    }
-
-    /**
-     * @dataProvider getDriverInterfaceMethods
-     */
-    public function testInterfaceMethods(\ReflectionMethod $method)
-    {
-        $refl = new \ReflectionClass('Behat\Mink\Driver\CoreDriver');
-
-        $this->assertFalse(
-            $refl->getMethod($method->getName())->isAbstract(),
-            sprintf('CoreDriver should implement a dummy %s method', $method->getName())
-        );
-
-        $driver = $this->getMockForAbstractClass('Behat\Mink\Driver\CoreDriver');
-
-        $this->setExpectedException('Behat\Mink\Exception\UnsupportedDriverActionException');
-        call_user_func_array(array($driver, $method->getName()), $this->getArguments($method));
-    }
-
-    public function getDriverInterfaceMethods()
-    {
-        $ref = new \ReflectionClass('Behat\Mink\Driver\DriverInterface');
-
-        return array_map(function ($method) {
-            return array($method);
-        }, $ref->getMethods());
-    }
-
-    private function getArguments(\ReflectionMethod $method)
-    {
-        $arguments = array();
-
-        foreach ($method->getParameters() as $parameter) {
-            $arguments[] = $this->getArgument($parameter);
-        }
-
-        return $arguments;
-    }
-
-    private function getArgument(\ReflectionParameter $argument)
-    {
-        if ($argument->isOptional()) {
-            return $argument->getDefaultValue();
-        }
-
-        if ($argument->allowsNull()) {
-            return null;
-        }
-
-        if ($argument->getClass()) {
-            return $this->getMockBuilder($argument->getClass()->getName())
-                ->disableOriginalConstructor()
-                ->getMock();
-        }
-
-        return null;
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Element/DocumentElementTest.php b/core/vendor/behat/mink/tests/Element/DocumentElementTest.php
deleted file mode 100644
index bacd06d..0000000
--- a/core/vendor/behat/mink/tests/Element/DocumentElementTest.php
+++ /dev/null
@@ -1,446 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Element;
-
-use Behat\Mink\Element\DocumentElement;
-
-class DocumentElementTest extends ElementTest
-{
-    /**
-     * Page.
-     *
-     * @var DocumentElement
-     */
-    private $document;
-
-    protected function setUp()
-    {
-        parent::setUp();
-        $this->document = new DocumentElement($this->session);
-    }
-
-    public function testGetSession()
-    {
-        $this->assertEquals($this->session, $this->document->getSession());
-    }
-
-    public function testFindAll()
-    {
-        $xpath = 'h3[a]';
-        $css = 'h3 > a';
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->will($this->returnValueMap(array(
-                array('//html/'.$xpath, array(2, 3, 4)),
-                array('//html/'.$css, array(1, 2)),
-            )));
-
-        $this->selectors
-            ->expects($this->exactly(2))
-            ->method('selectorToXpath')
-            ->will($this->returnValueMap(array(
-                array('xpath', $xpath, $xpath),
-                array('css', $css, $css),
-            )));
-
-        $this->assertEquals(3, count($this->document->findAll('xpath', $xpath)));
-        $this->assertEquals(2, count($this->document->findAll('css', $css)));
-    }
-
-    public function testFind()
-    {
-        $this->driver
-            ->expects($this->exactly(3))
-            ->method('find')
-            ->with('//html/h3[a]')
-            ->will($this->onConsecutiveCalls(array(2, 3, 4), array(1, 2), array()));
-
-        $xpath = 'h3[a]';
-        $css = 'h3 > a';
-
-        $this->selectors
-            ->expects($this->exactly(3))
-            ->method('selectorToXpath')
-            ->will($this->returnValueMap(array(
-                array('xpath', $xpath, $xpath),
-                array('xpath', $xpath, $xpath),
-                array('css', $css, $xpath),
-            )));
-
-        $this->assertEquals(2, $this->document->find('xpath', $xpath));
-        $this->assertEquals(1, $this->document->find('css', $css));
-        $this->assertNull($this->document->find('xpath', $xpath));
-    }
-
-    public function testFindField()
-    {
-        $this->mockNamedFinder(
-            '//field',
-            array('field1', 'field2', 'field3'),
-            array('field', 'some field')
-        );
-
-        $this->assertEquals('field1', $this->document->findField('some field'));
-        $this->assertEquals(null, $this->document->findField('some field'));
-    }
-
-    public function testFindLink()
-    {
-        $this->mockNamedFinder(
-            '//link',
-            array('link1', 'link2', 'link3'),
-            array('link', 'some link')
-        );
-
-        $this->assertEquals('link1', $this->document->findLink('some link'));
-        $this->assertEquals(null, $this->document->findLink('some link'));
-    }
-
-    public function testFindButton()
-    {
-        $this->mockNamedFinder(
-            '//button',
-            array('button1', 'button2', 'button3'),
-            array('button', 'some button')
-        );
-
-        $this->assertEquals('button1', $this->document->findButton('some button'));
-        $this->assertEquals(null, $this->document->findButton('some button'));
-    }
-
-    public function testFindById()
-    {
-        $xpath = '//*[@id=some-item-2]';
-
-        $this->mockNamedFinder($xpath, array(array('id2', 'id3'), array()), array('id', 'some-item-2'));
-
-        $this->assertEquals('id2', $this->document->findById('some-item-2'));
-        $this->assertEquals(null, $this->document->findById('some-item-2'));
-    }
-
-    public function testHasSelector()
-    {
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('//html/some xpath')
-            ->will($this->onConsecutiveCalls(array('id2', 'id3'), array()));
-
-        $this->selectors
-            ->expects($this->exactly(2))
-            ->method('selectorToXpath')
-            ->with('xpath', 'some xpath')
-            ->will($this->returnValue('some xpath'));
-
-        $this->assertTrue($this->document->has('xpath', 'some xpath'));
-        $this->assertFalse($this->document->has('xpath', 'some xpath'));
-    }
-
-    public function testHasContent()
-    {
-        $this->mockNamedFinder(
-            '//some content',
-            array('item1', 'item2'),
-            array('content', 'some content')
-        );
-
-        $this->assertTrue($this->document->hasContent('some content'));
-        $this->assertFalse($this->document->hasContent('some content'));
-    }
-
-    public function testHasLink()
-    {
-        $this->mockNamedFinder(
-            '//link',
-            array('link1', 'link2', 'link3'),
-            array('link', 'some link')
-        );
-
-        $this->assertTrue($this->document->hasLink('some link'));
-        $this->assertFalse($this->document->hasLink('some link'));
-    }
-
-    public function testHasButton()
-    {
-        $this->mockNamedFinder(
-            '//button',
-            array('button1', 'button2', 'button3'),
-            array('button', 'some button')
-        );
-
-        $this->assertTrue($this->document->hasButton('some button'));
-        $this->assertFalse($this->document->hasButton('some button'));
-    }
-
-    public function testHasField()
-    {
-        $this->mockNamedFinder(
-            '//field',
-            array('field1', 'field2', 'field3'),
-            array('field', 'some field')
-        );
-
-        $this->assertTrue($this->document->hasField('some field'));
-        $this->assertFalse($this->document->hasField('some field'));
-    }
-
-    public function testHasCheckedField()
-    {
-        $checkbox = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $checkbox
-            ->expects($this->exactly(2))
-            ->method('isChecked')
-            ->will($this->onConsecutiveCalls(true, false));
-
-        $this->mockNamedFinder(
-            '//field',
-            array(array($checkbox), array(), array($checkbox)),
-            array('field', 'some checkbox'),
-            3
-        );
-
-        $this->assertTrue($this->document->hasCheckedField('some checkbox'));
-        $this->assertFalse($this->document->hasCheckedField('some checkbox'));
-        $this->assertFalse($this->document->hasCheckedField('some checkbox'));
-    }
-
-    public function testHasUncheckedField()
-    {
-        $checkbox = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $checkbox
-            ->expects($this->exactly(2))
-            ->method('isChecked')
-            ->will($this->onConsecutiveCalls(true, false));
-
-        $this->mockNamedFinder(
-            '//field',
-            array(array($checkbox), array(), array($checkbox)),
-            array('field', 'some checkbox'),
-            3
-        );
-
-        $this->assertFalse($this->document->hasUncheckedField('some checkbox'));
-        $this->assertFalse($this->document->hasUncheckedField('some checkbox'));
-        $this->assertTrue($this->document->hasUncheckedField('some checkbox'));
-    }
-
-    public function testHasSelect()
-    {
-        $this->mockNamedFinder(
-            '//select',
-            array('select'),
-            array('select', 'some select field')
-        );
-
-        $this->assertTrue($this->document->hasSelect('some select field'));
-        $this->assertFalse($this->document->hasSelect('some select field'));
-    }
-
-    public function testHasTable()
-    {
-        $this->mockNamedFinder(
-            '//table',
-            array('table'),
-            array('table', 'some table')
-        );
-
-        $this->assertTrue($this->document->hasTable('some table'));
-        $this->assertFalse($this->document->hasTable('some table'));
-    }
-
-    public function testClickLink()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('click');
-
-        $this->mockNamedFinder(
-            '//link',
-            array($node),
-            array('link', 'some link')
-        );
-
-        $this->document->clickLink('some link');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->clickLink('some link');
-    }
-
-    public function testClickButton()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('press');
-
-        $this->mockNamedFinder(
-            '//button',
-            array($node),
-            array('button', 'some button')
-        );
-
-        $this->document->pressButton('some button');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->pressButton('some button');
-    }
-
-    public function testFillField()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('setValue')
-            ->with('some val');
-
-        $this->mockNamedFinder(
-            '//field',
-            array($node),
-            array('field', 'some field')
-        );
-
-        $this->document->fillField('some field', 'some val');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->fillField('some field', 'some val');
-    }
-
-    public function testCheckField()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('check');
-
-        $this->mockNamedFinder(
-            '//field',
-            array($node),
-            array('field', 'some field')
-        );
-
-        $this->document->checkField('some field');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->checkField('some field');
-    }
-
-    public function testUncheckField()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('uncheck');
-
-        $this->mockNamedFinder(
-            '//field',
-            array($node),
-            array('field', 'some field')
-        );
-
-        $this->document->uncheckField('some field');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->uncheckField('some field');
-    }
-
-    public function testSelectField()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('selectOption')
-            ->with('option2');
-
-        $this->mockNamedFinder(
-            '//field',
-            array($node),
-            array('field', 'some field')
-        );
-
-        $this->document->selectFieldOption('some field', 'option2');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->selectFieldOption('some field', 'option2');
-    }
-
-    public function testAttachFileToField()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('attachFile')
-            ->with('/path/to/file');
-
-        $this->mockNamedFinder(
-            '//field',
-            array($node),
-            array('field', 'some field')
-        );
-
-        $this->document->attachFileToField('some field', '/path/to/file');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->attachFileToField('some field', '/path/to/file');
-    }
-
-    public function testGetContent()
-    {
-        $expects = 'page content';
-        $this->driver
-            ->expects($this->once())
-            ->method('getContent')
-            ->will($this->returnValue($expects));
-
-        $this->assertEquals($expects, $this->document->getContent());
-    }
-
-    public function testGetText()
-    {
-        $expects = 'val1';
-        $this->driver
-            ->expects($this->once())
-            ->method('getText')
-            ->with('//html')
-            ->will($this->returnValue($expects));
-
-        $this->assertEquals($expects, $this->document->getText());
-    }
-
-    public function testGetHtml()
-    {
-        $expects = 'val1';
-        $this->driver
-            ->expects($this->once())
-            ->method('getHtml')
-            ->with('//html')
-            ->will($this->returnValue($expects));
-
-        $this->assertEquals($expects, $this->document->getHtml());
-    }
-
-    public function testGetOuterHtml()
-    {
-        $expects = 'val1';
-        $this->driver
-            ->expects($this->once())
-            ->method('getOuterHtml')
-            ->with('//html')
-            ->will($this->returnValue($expects));
-
-        $this->assertEquals($expects, $this->document->getOuterHtml());
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Element/ElementTest.php b/core/vendor/behat/mink/tests/Element/ElementTest.php
deleted file mode 100644
index a8c8a8c..0000000
--- a/core/vendor/behat/mink/tests/Element/ElementTest.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Element;
-
-use Behat\Mink\Driver\DriverInterface;
-use Behat\Mink\Session;
-use Behat\Mink\Selector\SelectorsHandler;
-
-abstract class ElementTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Session.
-     *
-     * @var Session
-     */
-    protected $session;
-
-    /**
-     * @var DriverInterface|\PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $driver;
-
-    /**
-     * Selectors.
-     *
-     * @var SelectorsHandler|\PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $selectors;
-
-    protected function setUp()
-    {
-        $this->driver = $this->getMockBuilder('Behat\Mink\Driver\DriverInterface')->getMock();
-        $this->driver
-            ->expects($this->once())
-            ->method('setSession');
-
-        $this->selectors = $this->getMockBuilder('Behat\Mink\Selector\SelectorsHandler')->getMock();
-        $this->session = new Session($this->driver, $this->selectors);
-
-        $this->selectors
-            ->expects($this->any())
-            ->method('xpathLiteral')
-            ->will($this->returnArgument(0));
-    }
-
-    protected function mockNamedFinder($xpath, array $results, $locator, $times = 2)
-    {
-        if (!is_array($results[0])) {
-            $results = array($results, array());
-        }
-
-        // In case of empty results, a second call will be done using the partial selector
-        $processedResults = array();
-        foreach ($results as $result) {
-            $processedResults[] = $result;
-            if (empty($result)) {
-                $processedResults[] = $result;
-                $times++;
-            }
-        }
-
-        $returnValue = call_user_func_array(array($this, 'onConsecutiveCalls'), $processedResults);
-
-        $this->driver
-            ->expects($this->exactly($times))
-            ->method('find')
-            ->with('//html'.$xpath)
-            ->will($returnValue);
-
-        $this->selectors
-            ->expects($this->exactly($times))
-            ->method('selectorToXpath')
-            ->with($this->logicalOr('named_exact', 'named_partial'), $locator)
-            ->will($this->returnValue($xpath));
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Element/NodeElementTest.php b/core/vendor/behat/mink/tests/Element/NodeElementTest.php
deleted file mode 100644
index b6a8bde..0000000
--- a/core/vendor/behat/mink/tests/Element/NodeElementTest.php
+++ /dev/null
@@ -1,593 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Element;
-
-use Behat\Mink\Element\NodeElement;
-
-class NodeElementTest extends ElementTest
-{
-    public function testGetXpath()
-    {
-        $node = new NodeElement('some custom xpath', $this->session);
-
-        $this->assertEquals('some custom xpath', $node->getXpath());
-        $this->assertNotEquals('not some custom xpath', $node->getXpath());
-    }
-
-    public function testGetText()
-    {
-        $expected = 'val1';
-        $node = new NodeElement('text_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getText')
-            ->with('text_tag')
-            ->will($this->returnValue($expected));
-
-        $this->assertEquals($expected, $node->getText());
-    }
-
-    public function testGetOuterHtml()
-    {
-        $expected = 'val1';
-        $node = new NodeElement('text_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getOuterHtml')
-            ->with('text_tag')
-            ->will($this->returnValue($expected));
-
-        $this->assertEquals($expected, $node->getOuterHtml());
-    }
-
-    public function testElementIsValid()
-    {
-        $elementXpath = 'some xpath';
-        $node = new NodeElement($elementXpath, $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('find')
-            ->with($elementXpath)
-            ->will($this->returnValue(array($elementXpath)));
-
-        $this->assertTrue($node->isValid());
-    }
-
-    public function testElementIsNotValid()
-    {
-        $node = new NodeElement('some xpath', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('some xpath')
-            ->will($this->onConsecutiveCalls(array(), array('xpath1', 'xpath2')));
-
-        $this->assertFalse($node->isValid(), 'no elements found is invalid element');
-        $this->assertFalse($node->isValid(), 'more then 1 element found is invalid element');
-    }
-
-    public function testWaitForSuccess()
-    {
-        $callCounter = 0;
-        $node = new NodeElement('some xpath', $this->session);
-
-        $result = $node->waitFor(5, function ($givenNode) use (&$callCounter) {
-            $callCounter++;
-
-            if (1 === $callCounter) {
-                return null;
-            } elseif (2 === $callCounter) {
-                return false;
-            } elseif (3 === $callCounter) {
-                return array();
-            }
-
-            return $givenNode;
-        });
-
-        $this->assertEquals(4, $callCounter, '->waitFor() tries to locate element several times before failing');
-        $this->assertSame($node, $result, '->waitFor() returns node found in callback');
-    }
-
-    public function testWaitForTimeout()
-    {
-        $node = new NodeElement('some xpath', $this->session);
-
-        $expectedTimeout = 2;
-        $startTime = microtime(true);
-        $result = $node->waitFor($expectedTimeout, function () {
-            return null;
-        });
-        $endTime = microtime(true);
-
-        $this->assertNull($result, '->waitFor() returns whatever callback gives');
-        $this->assertEquals($expectedTimeout, round($endTime - $startTime));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testWaitForFailure()
-    {
-        $node = new NodeElement('some xpath', $this->session);
-        $node->waitFor(5, 'not a callable');
-    }
-
-    public function testHasAttribute()
-    {
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('getAttribute')
-            ->with('input_tag', 'href')
-            ->will($this->onConsecutiveCalls(null, 'http://...'));
-
-        $this->assertFalse($node->hasAttribute('href'));
-        $this->assertTrue($node->hasAttribute('href'));
-    }
-
-    public function testGetAttribute()
-    {
-        $expected = 'http://...';
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getAttribute')
-            ->with('input_tag', 'href')
-            ->will($this->returnValue($expected));
-
-        $this->assertEquals($expected, $node->getAttribute('href'));
-    }
-
-    public function testHasClass()
-    {
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(6))
-            ->method('getAttribute')
-            ->with('input_tag', 'class')
-            ->will($this->returnValue('class1 class2'));
-
-        $this->assertTrue($node->hasClass('class1'));
-        $this->assertTrue($node->hasClass('class2'));
-        $this->assertFalse($node->hasClass('class3'));
-    }
-
-    public function testHasClassWithoutArgument()
-    {
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getAttribute')
-            ->with('input_tag', 'class')
-            ->will($this->returnValue(null));
-
-        $this->assertFalse($node->hasClass('class3'));
-    }
-
-    public function testGetValue()
-    {
-        $expected = 'val1';
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getValue')
-            ->with('input_tag')
-            ->will($this->returnValue($expected));
-
-        $this->assertEquals($expected, $node->getValue());
-    }
-
-    public function testSetValue()
-    {
-        $expected = 'new_val';
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('setValue')
-            ->with('input_tag', $expected);
-
-        $node->setValue($expected);
-    }
-
-    public function testClick()
-    {
-        $node = new NodeElement('link_or_button', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('click')
-            ->with('link_or_button');
-
-        $node->click();
-    }
-
-    public function testPress()
-    {
-        $node = new NodeElement('link_or_button', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('click')
-            ->with('link_or_button');
-
-        $node->press();
-    }
-
-    public function testRightClick()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('rightClick')
-            ->with('elem');
-
-        $node->rightClick();
-    }
-
-    public function testDoubleClick()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('doubleClick')
-            ->with('elem');
-
-        $node->doubleClick();
-    }
-
-    public function testCheck()
-    {
-        $node = new NodeElement('checkbox_or_radio', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('check')
-            ->with('checkbox_or_radio');
-
-        $node->check();
-    }
-
-    public function testUncheck()
-    {
-        $node = new NodeElement('checkbox_or_radio', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('uncheck')
-            ->with('checkbox_or_radio');
-
-        $node->uncheck();
-    }
-
-    public function testSelectOption()
-    {
-        $node = new NodeElement('select', $this->session);
-        $option = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $option
-            ->expects($this->once())
-            ->method('getValue')
-            ->will($this->returnValue('item1'));
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getTagName')
-            ->with('select')
-            ->will($this->returnValue('select'));
-
-        $this->driver
-            ->expects($this->once())
-            ->method('find')
-            ->with('select/option')
-            ->will($this->returnValue(array($option)));
-
-        $this->selectors
-            ->expects($this->once())
-            ->method('selectorToXpath')
-            ->with('named_exact', array('option', 'item1'))
-            ->will($this->returnValue('option'));
-
-        $this->driver
-            ->expects($this->once())
-            ->method('selectOption')
-            ->with('select', 'item1', false);
-
-        $node->selectOption('item1');
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\ElementNotFoundException
-     */
-    public function testSelectOptionNotFound()
-    {
-        $node = new NodeElement('select', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getTagName')
-            ->with('select')
-            ->will($this->returnValue('select'));
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('select/option')
-            ->will($this->returnValue(array()));
-
-        $this->selectors
-            ->expects($this->exactly(2))
-            ->method('selectorToXpath')
-            ->with($this->logicalOr('named_exact', 'named_partial'), array('option', 'item1'))
-            ->will($this->returnValue('option'));
-
-        $node->selectOption('item1');
-    }
-
-    public function testSelectOptionOtherTag()
-    {
-        $node = new NodeElement('div', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getTagName')
-            ->with('div')
-            ->will($this->returnValue('div'));
-
-        $this->driver
-            ->expects($this->once())
-            ->method('selectOption')
-            ->with('div', 'item1', false);
-
-        $node->selectOption('item1');
-    }
-
-    public function testGetTagName()
-    {
-        $node = new NodeElement('html//h3', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getTagName')
-            ->with('html//h3')
-            ->will($this->returnValue('h3'));
-
-        $this->assertEquals('h3', $node->getTagName());
-    }
-
-    public function testGetParent()
-    {
-        $node = new NodeElement('elem', $this->session);
-        $parent = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->driver
-            ->expects($this->once())
-            ->method('find')
-            ->with('elem/..')
-            ->will($this->returnValue(array($parent)));
-
-        $this->selectors
-            ->expects($this->once())
-            ->method('selectorToXpath')
-            ->with('xpath', '..')
-            ->will($this->returnValue('..'));
-
-        $this->assertSame($parent, $node->getParent());
-    }
-
-    public function testAttachFile()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('attachFile')
-            ->with('elem', 'path');
-
-        $node->attachFile('path');
-    }
-
-    public function testIsVisible()
-    {
-        $node = new NodeElement('some_xpath', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('isVisible')
-            ->with('some_xpath')
-            ->will($this->onConsecutiveCalls(true, false));
-
-        $this->assertTrue($node->isVisible());
-        $this->assertFalse($node->isVisible());
-    }
-
-    public function testIsChecked()
-    {
-        $node = new NodeElement('some_xpath', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('isChecked')
-            ->with('some_xpath')
-            ->will($this->onConsecutiveCalls(true, false));
-
-        $this->assertTrue($node->isChecked());
-        $this->assertFalse($node->isChecked());
-    }
-
-    public function testIsSelected()
-    {
-        $node = new NodeElement('some_xpath', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('isSelected')
-            ->with('some_xpath')
-            ->will($this->onConsecutiveCalls(true, false));
-
-        $this->assertTrue($node->isSelected());
-        $this->assertFalse($node->isSelected());
-    }
-
-    public function testFocus()
-    {
-        $node = new NodeElement('some-element', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('focus')
-            ->with('some-element');
-
-        $node->focus();
-    }
-
-    public function testBlur()
-    {
-        $node = new NodeElement('some-element', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('blur')
-            ->with('some-element');
-
-        $node->blur();
-    }
-
-    public function testMouseOver()
-    {
-        $node = new NodeElement('some-element', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('mouseOver')
-            ->with('some-element');
-
-        $node->mouseOver();
-    }
-
-    public function testDragTo()
-    {
-        $node = new NodeElement('some_tag1', $this->session);
-
-        $target = $this->getMock('Behat\Mink\Element\ElementInterface');
-        $target->expects($this->any())
-            ->method('getXPath')
-            ->will($this->returnValue('some_tag2'));
-
-        $this->driver
-            ->expects($this->once())
-            ->method('dragTo')
-            ->with('some_tag1', 'some_tag2');
-
-        $node->dragTo($target);
-    }
-
-    public function testKeyPress()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('keyPress')
-            ->with('elem', 'key');
-
-        $node->keyPress('key');
-    }
-
-    public function testKeyDown()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('keyDown')
-            ->with('elem', 'key');
-
-        $node->keyDown('key');
-    }
-
-    public function testKeyUp()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('keyUp')
-            ->with('elem', 'key');
-
-        $node->keyUp('key');
-    }
-
-    public function testSubmitForm()
-    {
-        $node = new NodeElement('some_xpath', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('submitForm')
-            ->with('some_xpath');
-
-        $node->submit();
-    }
-
-    public function testFindAllUnion()
-    {
-        $node = new NodeElement('some_xpath', $this->session);
-        $xpath = "some_tag1 | some_tag2[@foo =\n 'bar|'']\n | some_tag3[foo | bar]";
-        $expected = "some_xpath/some_tag1 | some_xpath/some_tag2[@foo =\n 'bar|''] | some_xpath/some_tag3[foo | bar]";
-
-        $this->driver
-            ->expects($this->exactly(1))
-            ->method('find')
-            ->will($this->returnValueMap(array(
-                array($expected, array(2, 3, 4)),
-            )));
-
-        $this->selectors
-            ->expects($this->exactly(1))
-            ->method('selectorToXpath')
-            ->will($this->returnValueMap(array(
-                array('xpath', $xpath, $xpath),
-            )));
-
-        $this->assertEquals(3, count($node->findAll('xpath', $xpath)));
-    }
-
-    public function testFindAllParentUnion()
-    {
-        $node = new NodeElement('some_xpath | another_xpath', $this->session);
-        $xpath = "some_tag1 | some_tag2";
-        $expectedPrefixed = "(some_xpath | another_xpath)/some_tag1 | (some_xpath | another_xpath)/some_tag2";
-
-        $this->driver
-            ->expects($this->exactly(1))
-            ->method('find')
-            ->will($this->returnValueMap(array(
-                array($expectedPrefixed, array(2, 3, 4)),
-            )));
-
-        $this->selectors
-            ->expects($this->exactly(1))
-            ->method('selectorToXpath')
-            ->will($this->returnValueMap(array(
-                array('xpath', $xpath, $xpath),
-            )));
-
-        $this->assertEquals(3, count($node->findAll('xpath', $xpath)));
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ElementExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ElementExceptionTest.php
deleted file mode 100644
index 021e8d5..0000000
--- a/core/vendor/behat/mink/tests/Exception/ElementExceptionTest.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ElementException;
-
-class ElementExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testMessage()
-    {
-        $exception = new ElementException($this->getElementMock(), new \Exception('Something went wrong'));
-
-        $expectedMessage = "Exception thrown by element XPath\nSomething went wrong";
-        $this->assertEquals($expectedMessage, $exception->getMessage());
-        $this->assertEquals($expectedMessage, (string) $exception);
-    }
-
-    public function testElement()
-    {
-        $element = $this->getElementMock();
-
-        $exception = new ElementException($element, new \Exception('Something went wrong'));
-
-        $this->assertSame($element, $exception->getElement());
-    }
-
-    private function getElementMock()
-    {
-        $mock = $this->getMockBuilder('Behat\Mink\Element\Element')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $mock->expects($this->any())
-            ->method('getXPath')
-            ->will($this->returnValue('element XPath'));
-
-        return $mock;
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ElementHtmlExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ElementHtmlExceptionTest.php
deleted file mode 100644
index 63d39dd..0000000
--- a/core/vendor/behat/mink/tests/Exception/ElementHtmlExceptionTest.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ElementHtmlException;
-
-class ElementHtmlExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testExceptionToString()
-    {
-        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
-        $element = $this->getElementMock();
-
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getDriver')
-            ->will($this->returnValue($driver));
-        $session->expects($this->any())
-            ->method('getStatusCode')
-            ->will($this->returnValue(200));
-        $session->expects($this->any())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://localhost/test'));
-
-        $element->expects($this->any())
-            ->method('getOuterHtml')
-            ->will($this->returnValue("<div>\n    <h1>Hello world</h1>\n    <p>Test</p>\n</div>"));
-
-        $expected = <<<'TXT'
-Html error
-
-+--[ HTTP/1.1 200 | http://localhost/test | %s ]
-|
-|  <div>
-|      <h1>Hello world</h1>
-|      <p>Test</p>
-|  </div>
-|
-TXT;
-
-        $expected = sprintf($expected.'  ', get_class($driver));
-
-        $exception = new ElementHtmlException('Html error', $session, $element);
-
-        $this->assertEquals($expected, $exception->__toString());
-    }
-
-    private function getSessionMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-
-    private function getElementMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ElementNotFoundExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ElementNotFoundExceptionTest.php
deleted file mode 100644
index 8cb4e5d..0000000
--- a/core/vendor/behat/mink/tests/Exception/ElementNotFoundExceptionTest.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ElementNotFoundException;
-
-class ElementNotFoundExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provideExceptionMessage
-     */
-    public function testBuildMessage($message, $type, $selector = null, $locator = null)
-    {
-        $session = $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $exception = new ElementNotFoundException($session, $type, $selector, $locator);
-
-        $this->assertEquals($message, $exception->getMessage());
-    }
-
-    public function provideExceptionMessage()
-    {
-        return array(
-            array('Tag not found.', null),
-            array('Field not found.', 'field'),
-            array('Tag matching locator "foobar" not found.', null, null, 'foobar'),
-            array('Tag matching css "foobar" not found.', null, 'css', 'foobar'),
-            array('Field matching xpath "foobar" not found.', 'Field', 'xpath', 'foobar'),
-            array('Tag with name "foobar" not found.', null, 'name', 'foobar'),
-        );
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ElementTextExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ElementTextExceptionTest.php
deleted file mode 100644
index 73cef5b..0000000
--- a/core/vendor/behat/mink/tests/Exception/ElementTextExceptionTest.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ElementTextException;
-
-class ElementTextExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testExceptionToString()
-    {
-        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
-        $element = $this->getElementMock();
-
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getDriver')
-            ->will($this->returnValue($driver));
-        $session->expects($this->any())
-            ->method('getStatusCode')
-            ->will($this->returnValue(200));
-        $session->expects($this->any())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://localhost/test'));
-
-        $element->expects($this->any())
-            ->method('getText')
-            ->will($this->returnValue("Hello world\nTest\n"));
-
-        $expected = <<<'TXT'
-Text error
-
-+--[ HTTP/1.1 200 | http://localhost/test | %s ]
-|
-|  Hello world
-|  Test
-|
-TXT;
-
-        $expected = sprintf($expected.'  ', get_class($driver));
-
-        $exception = new ElementTextException('Text error', $session, $element);
-
-        $this->assertEquals($expected, $exception->__toString());
-    }
-
-    private function getSessionMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-
-    private function getElementMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ExpectationExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ExpectationExceptionTest.php
deleted file mode 100644
index 466bcca..0000000
--- a/core/vendor/behat/mink/tests/Exception/ExpectationExceptionTest.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ExpectationException;
-
-class ExpectationExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testEmptyMessageAndPreviousException()
-    {
-        $exception = new ExpectationException('', $this->getSessionMock(), new \Exception('Something failed'));
-
-        $this->assertEquals('Something failed', $exception->getMessage());
-    }
-
-    public function testExceptionToString()
-    {
-        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
-        $page = $this->getPageMock();
-
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getDriver')
-            ->will($this->returnValue($driver));
-        $session->expects($this->any())
-            ->method('getPage')
-            ->will($this->returnValue($page));
-        $session->expects($this->any())
-            ->method('getStatusCode')
-            ->will($this->returnValue(200));
-        $session->expects($this->any())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://localhost/test'));
-
-        $html = "<html><head><title>Hello</title></head>\n<body>\n<h1>Hello world</h1>\n<p>Test</p>\n</body></html>";
-        $page->expects($this->any())
-            ->method('getContent')
-            ->will($this->returnValue($html));
-
-        $expected = <<<'TXT'
-Expectation failure
-
-+--[ HTTP/1.1 200 | http://localhost/test | %s ]
-|
-|  <body>
-|  <h1>Hello world</h1>
-|  <p>Test</p>
-|  </body>
-|
-TXT;
-
-        $expected = sprintf($expected.'  ', get_class($driver));
-
-        $exception = new ExpectationException('Expectation failure', $session);
-
-        $this->assertEquals($expected, $exception->__toString());
-    }
-
-    public function testBigContent()
-    {
-        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
-        $page = $this->getPageMock();
-
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getDriver')
-            ->will($this->returnValue($driver));
-        $session->expects($this->any())
-            ->method('getPage')
-            ->will($this->returnValue($page));
-        $session->expects($this->any())
-            ->method('getStatusCode')
-            ->will($this->returnValue(200));
-        $session->expects($this->any())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://localhost/test'));
-
-        $body = str_repeat('a', 1001 - strlen('<body></body>'));
-
-        $html = sprintf("<html><head><title>Hello</title></head>\n<body>%s</body></html>", $body);
-        $page->expects($this->any())
-            ->method('getContent')
-            ->will($this->returnValue($html));
-
-        $expected = <<<'TXT'
-Expectation failure
-
-+--[ HTTP/1.1 200 | http://localhost/test | %s ]
-|
-|  <body>%s</b...
-|
-TXT;
-
-        $expected = sprintf($expected.'  ', get_class($driver), $body);
-
-        $exception = new ExpectationException('Expectation failure', $session);
-
-        $this->assertEquals($expected, $exception->__toString());
-    }
-
-    public function testExceptionWhileRenderingString()
-    {
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getPage')
-            ->will($this->throwException(new \Exception('Broken page')));
-
-        $exception = new ExpectationException('Expectation failure', $session);
-
-        $this->assertEquals('Expectation failure', $exception->__toString());
-    }
-
-    private function getSessionMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-
-    private function getPageMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Element\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ResponseTextExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ResponseTextExceptionTest.php
deleted file mode 100644
index 4651b7c..0000000
--- a/core/vendor/behat/mink/tests/Exception/ResponseTextExceptionTest.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ResponseTextException;
-
-class ResponseTextExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testExceptionToString()
-    {
-        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
-        $page = $this->getPageMock();
-
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getDriver')
-            ->will($this->returnValue($driver));
-        $session->expects($this->any())
-            ->method('getPage')
-            ->will($this->returnValue($page));
-        $session->expects($this->any())
-            ->method('getStatusCode')
-            ->will($this->returnValue(200));
-        $session->expects($this->any())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://localhost/test'));
-
-        $page->expects($this->any())
-            ->method('getText')
-            ->will($this->returnValue("Hello world\nTest\n"));
-
-        $expected = <<<'TXT'
-Text error
-
-+--[ HTTP/1.1 200 | http://localhost/test | %s ]
-|
-|  Hello world
-|  Test
-|
-TXT;
-
-        $expected = sprintf($expected.'  ', get_class($driver));
-
-        $exception = new ResponseTextException('Text error', $session);
-
-        $this->assertEquals($expected, $exception->__toString());
-    }
-
-    private function getSessionMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-
-    private function getPageMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Element\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/core/vendor/behat/mink/tests/MinkTest.php b/core/vendor/behat/mink/tests/MinkTest.php
deleted file mode 100644
index 11d6466..0000000
--- a/core/vendor/behat/mink/tests/MinkTest.php
+++ /dev/null
@@ -1,246 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests;
-
-use Behat\Mink\Mink;
-
-class MinkTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var Mink
-     */
-    private $mink;
-
-    protected function setUp()
-    {
-        $this->mink = new Mink();
-    }
-
-    public function testRegisterSession()
-    {
-        $session = $this->getSessionMock();
-
-        $this->assertFalse($this->mink->hasSession('not_registered'));
-        $this->assertFalse($this->mink->hasSession('js'));
-        $this->assertFalse($this->mink->hasSession('my'));
-
-        $this->mink->registerSession('my', $session);
-
-        $this->assertTrue($this->mink->hasSession('my'));
-        $this->assertFalse($this->mink->hasSession('not_registered'));
-        $this->assertFalse($this->mink->hasSession('js'));
-    }
-
-    public function testRegisterSessionThroughConstructor()
-    {
-        $mink = new Mink(array('my' => $this->getSessionMock()));
-
-        $this->assertTrue($mink->hasSession('my'));
-    }
-
-    public function testSessionAutostop()
-    {
-        $session1 = $this->getSessionMock();
-        $session2 = $this->getSessionMock();
-        $this->mink->registerSession('my1', $session1);
-        $this->mink->registerSession('my2', $session2);
-
-        $session1
-            ->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(true));
-        $session1
-            ->expects($this->once())
-            ->method('stop');
-        $session2
-            ->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(false));
-        $session2
-            ->expects($this->never())
-            ->method('stop');
-
-        unset($this->mink);
-    }
-
-    public function testNotStartedSession()
-    {
-        $session = $this->getSessionMock();
-
-        $session
-            ->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(false));
-        $session
-            ->expects($this->once())
-            ->method('start');
-
-        $this->mink->registerSession('mock_session', $session);
-        $this->assertSame($session, $this->mink->getSession('mock_session'));
-
-        $this->setExpectedException('InvalidArgumentException');
-
-        $this->mink->getSession('not_registered');
-    }
-
-    public function testGetAlreadyStartedSession()
-    {
-        $session = $this->getSessionMock();
-
-        $session
-            ->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(true));
-        $session
-            ->expects($this->never())
-            ->method('start');
-
-        $this->mink->registerSession('mock_session', $session);
-        $this->assertSame($session, $this->mink->getSession('mock_session'));
-    }
-
-    public function testSetDefaultSessionName()
-    {
-        $this->assertNull($this->mink->getDefaultSessionName());
-
-        $session = $this->getSessionMock();
-        $this->mink->registerSession('session_name', $session);
-        $this->mink->setDefaultSessionName('session_name');
-
-        $this->assertEquals('session_name', $this->mink->getDefaultSessionName());
-
-        $this->setExpectedException('InvalidArgumentException');
-
-        $this->mink->setDefaultSessionName('not_registered');
-    }
-
-    public function testGetDefaultSession()
-    {
-        $session1 = $this->getSessionMock();
-        $session2 = $this->getSessionMock();
-
-        $this->assertNotSame($session1, $session2);
-
-        $this->mink->registerSession('session_1', $session1);
-        $this->mink->registerSession('session_2', $session2);
-        $this->mink->setDefaultSessionName('session_2');
-
-        $this->assertSame($session1, $this->mink->getSession('session_1'));
-        $this->assertSame($session2, $this->mink->getSession('session_2'));
-        $this->assertSame($session2, $this->mink->getSession());
-
-        $this->mink->setDefaultSessionName('session_1');
-
-        $this->assertSame($session1, $this->mink->getSession());
-    }
-
-    public function testGetNoDefaultSession()
-    {
-        $session1 = $this->getSessionMock();
-
-        $this->mink->registerSession('session_1', $session1);
-
-        $this->setExpectedException('InvalidArgumentException');
-
-        $this->mink->getSession();
-    }
-
-    public function testIsSessionStarted()
-    {
-        $session_1 = $this->getSessionMock();
-        $session_2 = $this->getSessionMock();
-
-        $session_1
-            ->expects($this->any())
-            ->method('isStarted')
-            ->will($this->returnValue(false));
-        $session_1
-            ->expects($this->never())
-            ->method('start');
-
-        $session_2
-            ->expects($this->any())
-            ->method('isStarted')
-            ->will($this->returnValue(true));
-        $session_2
-            ->expects($this->never())
-            ->method('start');
-
-        $this->mink->registerSession('not_started', $session_1);
-        $this->assertFalse($this->mink->isSessionStarted('not_started'));
-
-        $this->mink->registerSession('started', $session_2);
-        $this->assertTrue($this->mink->isSessionStarted('started'));
-
-        $this->setExpectedException('InvalidArgumentException');
-
-        $this->mink->getSession('not_registered');
-    }
-
-    public function testAssertSession()
-    {
-        $session = $this->getSessionMock();
-
-        $this->mink->registerSession('my', $session);
-
-        $this->assertInstanceOf('Behat\Mink\WebAssert', $this->mink->assertSession('my'));
-    }
-
-    public function testAssertSessionNotRegistered()
-    {
-        $session = $this->getSessionMock();
-
-        $this->assertInstanceOf('Behat\Mink\WebAssert', $this->mink->assertSession($session));
-    }
-
-    public function testResetSessions()
-    {
-        $session1 = $this->getSessionMock();
-        $session1->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(false));
-        $session1->expects($this->never())
-            ->method('reset');
-
-        $session2 = $this->getSessionMock();
-        $session2->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(true));
-        $session2->expects($this->once())
-            ->method('reset');
-
-        $this->mink->registerSession('not started', $session1);
-        $this->mink->registerSession('started', $session2);
-
-        $this->mink->resetSessions();
-    }
-
-    public function testRestartSessions()
-    {
-        $session1 = $this->getSessionMock();
-        $session1->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(false));
-        $session1->expects($this->never())
-            ->method('restart');
-
-        $session2 = $this->getSessionMock();
-        $session2->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(true));
-        $session2->expects($this->once())
-            ->method('restart');
-
-        $this->mink->registerSession('not started', $session1);
-        $this->mink->registerSession('started', $session2);
-
-        $this->mink->restartSessions();
-    }
-
-    private function getSessionMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Selector/CssSelectorTest.php b/core/vendor/behat/mink/tests/Selector/CssSelectorTest.php
deleted file mode 100644
index ea80d93..0000000
--- a/core/vendor/behat/mink/tests/Selector/CssSelectorTest.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Selector;
-
-use Behat\Mink\Selector\CssSelector;
-
-class CssSelectorTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\CssSelector\CssSelector')) {
-            $this->markTestSkipped('Symfony2 CssSelector component not installed');
-        }
-    }
-
-    public function testSelector()
-    {
-        $selector = new CssSelector();
-
-        $this->assertEquals('descendant-or-self::h3', $selector->translateToXPath('h3'));
-        $this->assertEquals('descendant-or-self::h3/span', $selector->translateToXPath('h3 > span'));
-
-        if (interface_exists('Symfony\Component\CssSelector\XPath\TranslatorInterface')) {
-            // The rewritten component of Symfony 2.3 checks for attribute existence first for the class.
-            $expectation = "descendant-or-self::h3/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' my_div ')]";
-        } else {
-            $expectation = "descendant-or-self::h3/*[contains(concat(' ', normalize-space(@class), ' '), ' my_div ')]";
-        }
-        $this->assertEquals($expectation, $selector->translateToXPath('h3 > .my_div'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testThrowsForArrayLocator()
-    {
-        $selector = new CssSelector();
-
-        $selector->translateToXPath(array('h3'));
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Selector/ExactNamedSelectorTest.php b/core/vendor/behat/mink/tests/Selector/ExactNamedSelectorTest.php
deleted file mode 100644
index df51f0f..0000000
--- a/core/vendor/behat/mink/tests/Selector/ExactNamedSelectorTest.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Selector;
-
-use Behat\Mink\Selector\ExactNamedSelector;
-
-class ExactNamedSelectorTest extends NamedSelectorTest
-{
-    protected function getSelector()
-    {
-        return new ExactNamedSelector();
-    }
-
-    protected function allowPartialMatch()
-    {
-        return false;
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Selector/NamedSelectorTest.php b/core/vendor/behat/mink/tests/Selector/NamedSelectorTest.php
deleted file mode 100644
index e0de1bc..0000000
--- a/core/vendor/behat/mink/tests/Selector/NamedSelectorTest.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Selector;
-
-use Behat\Mink\Selector\NamedSelector;
-use Behat\Mink\Selector\SelectorsHandler;
-
-abstract class NamedSelectorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRegisterXpath()
-    {
-        $selector = $this->getSelector();
-
-        $selector->registerNamedXpath('some', 'my_xpath');
-        $this->assertEquals('my_xpath', $selector->translateToXPath('some'));
-
-        $this->setExpectedException('InvalidArgumentException');
-
-        $selector->translateToXPath('custom');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testInvalidLocator()
-    {
-        $namedSelector = $this->getSelector();
-
-        $namedSelector->translateToXPath(array('foo', 'bar', 'baz'));
-    }
-
-    /**
-     * @dataProvider getSelectorTests
-     */
-    public function testSelectors($fixtureFile, $selector, $locator, $expectedExactCount, $expectedPartialCount = null)
-    {
-        $expectedCount = $this->allowPartialMatch() && null !== $expectedPartialCount
-            ? $expectedPartialCount
-            : $expectedExactCount;
-
-        // Don't use "loadHTMLFile" due HHVM 3.3.0 issue.
-        $dom = new \DOMDocument('1.0', 'UTF-8');
-        $dom->loadHTML(file_get_contents(__DIR__.'/fixtures/'.$fixtureFile));
-
-        // Escape the locator as Mink 1.x expects the caller of the NamedSelector to handle it
-        $selectorsHandler = new SelectorsHandler();
-        $locator = $selectorsHandler->xpathLiteral($locator);
-
-        $namedSelector = $this->getSelector();
-
-        $xpath = $namedSelector->translateToXPath(array($selector, $locator));
-
-        $domXpath = new \DOMXPath($dom);
-        $nodeList = $domXpath->query($xpath);
-
-        $this->assertEquals($expectedCount, $nodeList->length);
-    }
-
-    public function getSelectorTests()
-    {
-        $fieldCount = 8; // fields without `type` attribute
-        $fieldCount += 4; // fields with `type=checkbox` attribute
-        $fieldCount += 4; // fields with `type=radio` attribute
-        $fieldCount += 4; // fields with `type=file` attribute
-
-        // Fixture file,  selector name,  locator,  expected number of exact matched elements, expected number of partial matched elements if different
-        return array(
-            'fieldset' => array('test.html', 'fieldset', 'fieldset-text', 2, 3),
-
-            'field (name/placeholder/label)' => array('test.html', 'field', 'the-field', $fieldCount),
-            'field (input, with-id)' => array('test.html', 'field', 'the-field-input', 1),
-            'field (textarea, with-id)' => array('test.html', 'field', 'the-field-textarea', 1),
-            'field (select, with-id)' => array('test.html', 'field', 'the-field-select', 1),
-            'field (input type=submit, with-id) ignored' => array('test.html', 'field', 'the-field-submit-button', 0),
-            'field (input type=image, with-id) ignored' => array('test.html', 'field', 'the-field-image-button', 0),
-            'field (input type=button, with-id) ignored' => array('test.html', 'field', 'the-field-button-button', 0),
-            'field (input type=reset, with-id) ignored' => array('test.html', 'field', 'the-field-reset-button', 0),
-            'field (input type=hidden, with-id) ignored' => array('test.html', 'field', 'the-field-hidden', 0),
-
-            'link (with-href)' => array('test.html', 'link', 'link-text', 5, 9),
-            'link (without-href) ignored' => array('test.html', 'link', 'bad-link-text', 0),
-            'link* (role=link)' => array('test.html', 'link', 'link-role-text', 4, 7),
-
-            'button (input, name/value/title)' => array('test.html', 'button', 'button-text', 25, 42),
-            'button (type=image, with-alt)' => array('test.html', 'button', 'button-alt-text', 1, 2),
-            'button (input type=submit, with-id)' => array('test.html', 'button', 'input-submit-button', 1),
-            'button (input type=image, with-id)' => array('test.html', 'button', 'input-image-button', 1),
-            'button (input type=button, with-id)' => array('test.html', 'button', 'input-button-button', 1),
-            'button (input type=reset, with-id)' => array('test.html', 'button', 'input-reset-button', 1),
-            'button (button type=submit, with-id)' => array('test.html', 'button', 'button-submit-button', 1),
-            'button (button type=image, with-id)' => array('test.html', 'button', 'button-image-button', 1),
-            'button (button type=button, with-id)' => array('test.html', 'button', 'button-button-button', 1),
-            'button (button type=reset, with-id)' => array('test.html', 'button', 'button-reset-button', 1),
-            'button* (role=button, name/value/title)' => array('test.html', 'button', 'button-role-text', 12, 20),
-            'button* (role=button type=submit, with-id)' => array('test.html', 'button', 'role-button-submit-button', 1),
-            'button* (role=button type=image, with-id)' => array('test.html', 'button', 'role-button-image-button', 1),
-            'button* (role=button type=button, with-id)' => array('test.html', 'button', 'role-button-button-button', 1),
-            'button* (role=button type=reset, with-id)' => array('test.html', 'button', 'role-button-reset-button', 1),
-
-            'link_or_button (with-href)' => array('test.html', 'link_or_button', 'link-text', 5, 9),
-            'link_or_button (without-href) ignored' => array('test.html', 'link_or_button', 'bad-link-text', 0),
-            'link_or_button* (role=link)' => array('test.html', 'link_or_button', 'link-role-text', 4, 7),
-
-            // bug in selector: 17 instead of 25 and 34 instead of 42, because 8 buttons with `name` attribute were not matched
-            'link_or_button (input, name/value/title)' => array('test.html', 'link_or_button', 'button-text', 17, 34),
-            'link_or_button (type=image, with-alt)' => array('test.html', 'link_or_button', 'button-alt-text', 1, 2),
-            'link_or_button (input type=submit, with-id)' => array('test.html', 'link_or_button', 'input-submit-button', 1),
-            'link_or_button (input type=image, with-id)' => array('test.html', 'link_or_button', 'input-image-button', 1),
-            'link_or_button (input type=button, with-id)' => array('test.html', 'link_or_button', 'input-button-button', 1),
-            'link_or_button (input type=reset, with-id)' => array('test.html', 'link_or_button', 'input-reset-button', 1),
-            'link_or_button (button type=submit, with-id)' => array('test.html', 'link_or_button', 'button-submit-button', 1),
-            'link_or_button (button type=image, with-id)' => array('test.html', 'link_or_button', 'button-image-button', 1),
-            'link_or_button (button type=button, with-id)' => array('test.html', 'link_or_button', 'button-button-button', 1),
-            'link_or_button (button type=reset, with-id)' => array('test.html', 'link_or_button', 'button-reset-button', 1),
-
-            // bug in selector: 8 instead of 12 and 16 instead of 20, because 4 buttons with `name` attribute were not matched
-            'link_or_button* (role=button, name/value/title)' => array('test.html', 'link_or_button', 'button-role-text', 8, 16),
-            'link_or_button* (role=button type=submit, with-id)' => array('test.html', 'link_or_button', 'role-button-submit-button', 1),
-            'link_or_button* (role=button type=image, with-id)' => array('test.html', 'link_or_button', 'role-button-image-button', 1),
-            'link_or_button* (role=button type=button, with-id)' => array('test.html', 'link_or_button', 'role-button-button-button', 1),
-            'link_or_button* (role=button type=reset, with-id)' => array('test.html', 'link_or_button', 'role-button-reset-button', 1),
-
-            // 3 matches, because matches every HTML node in path: html > body > div
-            'content' => array('test.html', 'content', 'content-text', 1, 4),
-
-            'select (name/label)' => array('test.html', 'select', 'the-field', 3),
-            'select (with-id)' => array('test.html', 'select', 'the-field-select', 1),
-
-            'checkbox (name/label)' => array('test.html', 'checkbox', 'the-field', 3),
-            'checkbox (with-id)' => array('test.html', 'checkbox', 'the-field-checkbox', 1),
-
-            'radio (name/label)' => array('test.html', 'radio', 'the-field', 3),
-            'radio (with-id)' => array('test.html', 'radio', 'the-field-radio', 1),
-
-            'file (name/label)' => array('test.html', 'file', 'the-field', 3),
-            'file (with-id)' => array('test.html', 'file', 'the-field-file', 1),
-
-            'optgroup' => array('test.html', 'optgroup', 'group-label', 1, 2),
-
-            'option' => array('test.html', 'option', 'option-value', 2, 3),
-
-            'table' => array('test.html', 'table', 'the-table', 2, 3),
-
-            'id' => array('test.html', 'id', 'bad-link-text', 1),
-            'id or name' => array('test.html', 'id_or_name', 'the-table', 2),
-        );
-    }
-
-    /**
-     * @return NamedSelector
-     */
-    abstract protected function getSelector();
-
-    /**
-     * @return boolean
-     */
-    abstract protected function allowPartialMatch();
-}
diff --git a/core/vendor/behat/mink/tests/Selector/PartialNamedSelectorTest.php b/core/vendor/behat/mink/tests/Selector/PartialNamedSelectorTest.php
deleted file mode 100644
index c3e631a..0000000
--- a/core/vendor/behat/mink/tests/Selector/PartialNamedSelectorTest.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Selector;
-
-use Behat\Mink\Selector\PartialNamedSelector;
-
-class PartialNamedSelectorTest extends NamedSelectorTest
-{
-    protected function getSelector()
-    {
-        return new PartialNamedSelector();
-    }
-
-    protected function allowPartialMatch()
-    {
-        return true;
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Selector/SelectorsHandlerTest.php b/core/vendor/behat/mink/tests/Selector/SelectorsHandlerTest.php
deleted file mode 100644
index a20d3d9..0000000
--- a/core/vendor/behat/mink/tests/Selector/SelectorsHandlerTest.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Selector;
-
-use Behat\Mink\Selector\SelectorsHandler;
-
-class SelectorsHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRegisterSelector()
-    {
-        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
-        $handler = new SelectorsHandler();
-
-        $this->assertFalse($handler->isSelectorRegistered('custom'));
-
-        $handler->registerSelector('custom', $selector);
-
-        $this->assertTrue($handler->isSelectorRegistered('custom'));
-        $this->assertSame($selector, $handler->getSelector('custom'));
-    }
-
-    public function testRegisterSelectorThroughConstructor()
-    {
-        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
-        $handler = new SelectorsHandler(array('custom' => $selector));
-
-        $this->assertTrue($handler->isSelectorRegistered('custom'));
-        $this->assertSame($selector, $handler->getSelector('custom'));
-    }
-
-    public function testRegisterDefaultSelectors()
-    {
-        $handler = new SelectorsHandler();
-
-        $this->assertTrue($handler->isSelectorRegistered('css'));
-        $this->assertTrue($handler->isSelectorRegistered('named_exact'));
-        $this->assertTrue($handler->isSelectorRegistered('named_partial'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testXpathSelectorThrowsExceptionForArrayLocator()
-    {
-        $handler = new SelectorsHandler();
-        $handler->selectorToXpath('xpath', array('some_xpath'));
-    }
-
-    public function testXpathSelectorIsReturnedAsIs()
-    {
-        $handler = new SelectorsHandler();
-        $this->assertEquals('some_xpath', $handler->selectorToXpath('xpath', 'some_xpath'));
-    }
-
-    public function testSelectorToXpath()
-    {
-        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
-        $handler = new SelectorsHandler();
-
-        $handler->registerSelector('custom_selector', $selector);
-
-        $selector
-            ->expects($this->once())
-            ->method('translateToXPath')
-            ->with($locator = 'some[locator]')
-            ->will($this->returnValue($ret = '[]some[]locator'));
-
-        $this->assertEquals($ret, $handler->selectorToXpath('custom_selector', $locator));
-
-        $this->setExpectedException('InvalidArgumentException');
-        $handler->selectorToXpath('undefined', 'asd');
-    }
-
-    public function testXpathLiteral()
-    {
-        $handler = new SelectorsHandler();
-
-        $this->assertEquals("'some simple string'", $handler->xpathLiteral('some simple string'));
-    }
-
-    public function testBcLayer()
-    {
-        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
-        $handler = new SelectorsHandler();
-
-        $handler->registerSelector('named_partial', $selector);
-
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $this->assertSame($selector, $handler->getSelector('named'));
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Selector/Xpath/EscaperTest.php b/core/vendor/behat/mink/tests/Selector/Xpath/EscaperTest.php
deleted file mode 100644
index 535dac6..0000000
--- a/core/vendor/behat/mink/tests/Selector/Xpath/EscaperTest.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Selector\Xpath;
-
-use Behat\Mink\Selector\Xpath\Escaper;
-
-class EscaperTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getXpathLiterals
-     */
-    public function testXpathLiteral($string, $expected)
-    {
-        $escaper = new Escaper();
-
-        $this->assertEquals($expected, $escaper->escapeLiteral($string));
-    }
-
-    public function getXpathLiterals()
-    {
-        return array(
-            array('some simple string', "'some simple string'"),
-            array('some "d-brackets" string', "'some \"d-brackets\" string'"),
-            array('some \'s-brackets\' string', "\"some 's-brackets' string\""),
-            array(
-                'some \'s-brackets\' and "d-brackets" string',
-                'concat(\'some \',"\'",\'s-brackets\',"\'",\' and "d-brackets" string\')',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Selector/Xpath/ManipulatorTest.php b/core/vendor/behat/mink/tests/Selector/Xpath/ManipulatorTest.php
deleted file mode 100644
index 7c20561..0000000
--- a/core/vendor/behat/mink/tests/Selector/Xpath/ManipulatorTest.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Selector\Xpath;
-
-use Behat\Mink\Selector\Xpath\Manipulator;
-
-class ManipulatorTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getPrependedXpath
-     */
-    public function testPrepend($prefix, $xpath, $expectedXpath)
-    {
-        $manipulator = new Manipulator();
-
-        $this->assertEquals($expectedXpath, $manipulator->prepend($xpath, $prefix));
-    }
-
-    public function getPrependedXpath()
-    {
-        return array(
-            'simple' => array(
-                'some_xpath',
-                'some_tag1',
-                'some_xpath/some_tag1',
-            ),
-            'with slash' => array(
-                'some_xpath',
-                '/some_tag1',
-                'some_xpath/some_tag1',
-            ),
-            'union' => array(
-                'some_xpath',
-                'some_tag1 | some_tag2',
-                'some_xpath/some_tag1 | some_xpath/some_tag2',
-            ),
-            'wrapped union' => array(
-                'some_xpath',
-                '(some_tag1 | some_tag2)/some_child',
-                '(some_xpath/some_tag1 | some_xpath/some_tag2)/some_child',
-            ),
-            'multiple wrapped union' => array(
-                'some_xpath',
-                '( ( some_tag1 | some_tag2)/some_child | some_tag3)/leaf',
-                '( ( some_xpath/some_tag1 | some_xpath/some_tag2)/some_child | some_xpath/some_tag3)/leaf',
-            ),
-            'parent union' => array(
-                'some_xpath | another_xpath',
-                'some_tag1 | some_tag2',
-                '(some_xpath | another_xpath)/some_tag1 | (some_xpath | another_xpath)/some_tag2',
-            ),
-            'complex condition' => array(
-                'some_xpath',
-                'some_tag1 | some_tag2[@foo = "bar|"] | some_tag3[foo | bar]',
-                'some_xpath/some_tag1 | some_xpath/some_tag2[@foo = "bar|"] | some_xpath/some_tag3[foo | bar]',
-            ),
-            'multiline' => array(
-                'some_xpath',
-                "some_tag1 | some_tag2[@foo =\n 'bar|'']\n | some_tag3[foo | bar]",
-                "some_xpath/some_tag1 | some_xpath/some_tag2[@foo =\n 'bar|''] | some_xpath/some_tag3[foo | bar]",
-            ),
-        );
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Selector/fixtures/test.html b/core/vendor/behat/mink/tests/Selector/fixtures/test.html
deleted file mode 100644
index c64ae10..0000000
--- a/core/vendor/behat/mink/tests/Selector/fixtures/test.html
+++ /dev/null
@@ -1,310 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title></title>
-</head>
-<body>
-    <div id="test-for-link-selector">
-        <!-- match links with `href` attribute -->
-        <a href="#" id="link-text"></a>
-        <a href="#">link-text</a>
-        <a href="#" title="link-text"></a>
-        <a href="#" rel="link-text"></a>
-        <a href="#">
-            <img src="#" alt="link-text"/>
-        </a>
-        <!-- partial match -->
-        <a href="#">some link-text</a>
-        <a href="#" title="some link-text"></a>
-        <a href="#" rel="some link-text"></a>
-        <a href="#">
-            <img src="#" alt="some link-text"/>
-        </a>
-
-        <!-- don't match links without `href` attribute -->
-        <a id="bad-link-text"></a>
-        <a>bad-link-text</a>
-        <a title="bad-link-text"></a>
-        <a rel="bad-link-text"></a>
-        <a>
-            <img src="#" alt="bad-link-text"/>
-        </a>
-
-        <!-- match links with `role=link` attribute -->
-        <span role="Link" id="link-role-text"></span>
-        <span role="lInk" value="link-role-text"></span>
-        <span role="liNk" title="link-role-text"></span>
-        <span role="linK">link-role-text</span>
-        <!-- partial match -->
-        <span role="link" value="some link-role-text"></span>
-        <span role="link" title="some link-role-text"></span>
-        <span role="link">some link-role-text</span>
-    </div>
-
-    <div id="test-for-fieldset-selector">
-        <!-- match fieldsets -->
-        <fieldset id="fieldset-text"></fieldset>
-
-        <fieldset>
-            <legend>fieldset-text</legend>
-        </fieldset>
-        <!-- partial match -->
-        <fieldset>
-            <legend>fieldset-text sample</legend>
-        </fieldset>
-
-        <!-- don't match fieldsets -->
-        <fieldset>fieldset-text</fieldset>
-        <fieldset></fieldset>
-    </div>
-
-    <div id="test-for-content-selector">
-        content-text
-    </div>
-    <!-- partial match -->
-    <div id="test-for-partial-content-selector">
-        some content-text
-    </div>
-
-    <form>
-        <div id="test-for-field-selector">
-            <!-- match fields by `id` attribute -->
-            <input id="the-field-input"/>
-            <textarea id="the-field-textarea"></textarea>
-            <select id="the-field-select"></select>
-
-            <!-- match fields by `name` attribute -->
-            <input name="the-field"/>
-            <textarea name="the-field"></textarea>
-            <select name="the-field"></select>
-
-            <!-- match fields by `placeholder` attribute -->
-            <input placeholder="the-field"/>
-            <textarea placeholder="the-field"></textarea>
-            <select placeholder="the-field"></select>
-
-            <!-- match fields by associated label -->
-            <label for="label-for-input">the-field</label><input id="label-for-input"/>
-            <label for="label-for-textarea">the-field</label><textarea id="label-for-textarea"></textarea>
-            <label for="label-for-select">the-field</label><select id="label-for-select"></select>
-
-            <!-- match fields, surrounded by matching label -->
-            <label>the-field<input/></label>
-            <label>the-field<textarea></textarea></label>
-            <label>the-field<select></select></label>
-
-            <!-- don't match fields by `id` attribute -->
-            <input type="Submit" id="the-field-submit-button"/>
-            <input type="iMage" id="the-field-image-button"/>
-            <input type="butTon" id="the-field-button-button"/>
-            <input type="resEt" id="the-field-reset-button"/>
-            <input type="hidDen" id="the-field-hidden"/>
-
-            <!-- don't match fields by `name` attribute -->
-            <input type="submit" name="the-field"/>
-            <input type="image" name="the-field"/>
-            <input type="button" name="the-field"/>
-            <input type="reset" name="the-field"/>
-            <input type="hidden" name="the-field"/>
-
-            <!-- don't match fields by `placeholder` attribute -->
-            <input type="submit" placeholder="the-field"/>
-            <input type="image" placeholder="the-field"/>
-            <input type="button" placeholder="the-field"/>
-            <input type="reset" placeholder="the-field"/>
-            <input type="hidden" placeholder="the-field"/>
-
-            <!-- don't match fields by associated label -->
-            <label for="label-for-the-field-submit-button">the-field</label><input type="submit" id="label-for-the-field-submit-button"/>
-            <label for="label-for-the-field-image-button">the-field</label><input type="image" id="label-for-the-field-image-button"/>
-            <label for="label-for-the-field-button-button">the-field</label><input type="button" id="label-for-the-field-button-button"/>
-            <label for="label-for-the-field-reset-button">the-field</label><input type="reset" id="label-for-the-field-reset-button"/>
-            <label for="label-for-the-field-hidden">the-field</label><input type="hidden" id="label-for-the-field-hidden"/>
-
-            <!-- don't match fields, surrounded by matching label -->
-            <label>the-field<input type="submit"/></label>
-            <label>the-field<input type="image"/></label>
-            <label>the-field<input type="button"/></label>
-            <label>the-field<input type="reset"/></label>
-            <label>the-field<input type="hidden"/></label>
-        </div>
-
-        <div id="test-for-button-selector">
-            <!-- match buttons by `id` attribute -->
-            <input type="Submit" id="input-submit-button"/>
-            <input type="iMage" id="input-image-button"/>
-            <input type="butTon" id="input-button-button"/>
-            <input type="resEt" id="input-reset-button"/>
-
-            <button type="submit" id="button-submit-button"></button>
-            <button type="image" id="button-image-button"></button>
-            <button type="button" id="button-button-button"></button>
-            <button type="reset" id="button-reset-button"></button>
-
-            <!-- match buttons by `name` attribute -->
-            <input type="submit" name="button-text"/>
-            <input type="image" name="button-text"/>
-            <input type="button" name="button-text"/>
-            <input type="reset" name="button-text"/>
-            <button type="submit" name="button-text"></button>
-            <button type="image" name="button-text"></button>
-            <button type="button" name="button-text"></button>
-            <button type="reset" name="button-text"></button>
-
-            <!-- match buttons by `value` attribute -->
-            <input type="submit" value="button-text"/>
-            <input type="image" value="button-text"/>
-            <input type="button" value="button-text"/>
-            <input type="reset" value="button-text"/>
-            <button type="submit" value="button-text"></button>
-            <button type="image" value="button-text"></button>
-            <button type="button" value="button-text"></button>
-            <button type="reset" value="button-text"></button>
-            <!-- Partial match -->
-            <input type="submit" value="some button-text"/>
-            <input type="image" value="some button-text"/>
-            <input type="button" value="some button-text"/>
-            <input type="reset" value="some button-text"/>
-            <button type="submit" value="some button-text"></button>
-            <button type="image" value="some button-text"></button>
-            <button type="button" value="some button-text"></button>
-            <button type="reset" value="some button-text"></button>
-
-            <!-- match buttons by `title` attribute -->
-            <input type="submit" title="button-text"/>
-            <input type="image" title="button-text"/>
-            <input type="button" title="button-text"/>
-            <input type="reset" title="button-text"/>
-            <button type="submit" title="button-text"></button>
-            <button type="image" title="button-text"></button>
-            <button type="button" title="button-text"></button>
-            <button type="reset" title="button-text"></button>
-            <!-- partial match -->
-            <input type="submit" title="some button-text"/>
-            <input type="image" title="some button-text"/>
-            <input type="button" title="some button-text"/>
-            <input type="reset" title="some button-text"/>
-            <button type="submit" title="some button-text"></button>
-            <button type="image" title="some button-text"></button>
-            <button type="button" title="some button-text"></button>
-            <button type="reset" title="some button-text"></button>
-
-            <!-- match some buttons by `alt` attribute -->
-            <input type="submit" alt="button-alt-text"/>
-            <input type="imaGe" alt="button-alt-text"/>
-            <input type="button" alt="button-alt-text"/>
-            <input type="reset" alt="button-alt-text"/>
-            <!-- partial match -->
-            <input type="submit" alt="some button-alt-text"/>
-            <input type="image" alt="some button-alt-text"/>
-            <input type="button" alt="some button-alt-text"/>
-            <input type="reset" alt="some button-alt-text"/>
-
-            <!-- match by `button` text -->
-            <button>button-text</button>
-            <!-- partial match -->
-            <button>some button-text</button>
-
-            <!-- match buttons with `role=button` & `id` attribute -->
-            <span role="Button" type="submit" id="role-button-submit-button"></span>
-            <span role="bUtton" type="image" id="role-button-image-button"></span>
-            <span role="buTton" type="button" id="role-button-button-button"></span>
-            <span role="butTon" type="reset" id="role-button-reset-button"></span>
-
-            <!-- match buttons with `role=button` & `name` attribute -->
-            <span role="buttOn" type="submit" name="button-role-text"></span>
-            <span role="buttoN" type="image" name="button-role-text"></span>
-            <span role="button" type="button" name="button-role-text"></span>
-            <span role="button" type="reset" name="button-role-text"></span>
-
-            <!-- match buttons with `role=button` & `value` attribute -->
-            <span role="button" type="submit" value="button-role-text"></span>
-            <span role="button" type="image" value="button-role-text"></span>
-            <span role="button" type="button" value="button-role-text"></span>
-            <span role="button" type="reset" value="button-role-text"></span>
-            <!-- partial match -->
-            <span role="button" type="submit" value="some button-role-text"></span>
-            <span role="button" type="image" value="some button-role-text"></span>
-            <span role="button" type="button" value="some button-role-text"></span>
-            <span role="button" type="reset" value="some button-role-text"></span>
-
-            <!-- match buttons with `role=button` & `title` attribute -->
-            <span role="button" type="submit" title="button-role-text"></span>
-            <span role="button" type="image" title="button-role-text"></span>
-            <span role="button" type="button" title="button-role-text"></span>
-            <span role="button" type="reset" title="button-role-text"></span>
-            <!-- partial match -->
-            <span role="button" type="submit" title="some button-role-text"></span>
-            <span role="button" type="image" title="some button-role-text"></span>
-            <span role="button" type="button" title="some button-role-text"></span>
-            <span role="button" type="reset" title="some button-role-text"></span>
-        </div>
-
-        <div id="test-for-checkbox-selector">
-            <input type="Checkbox" id="the-field-checkbox"/>
-            <input type="checkBox" name="the-field"/>
-            <input type="cheCkbox" placeholder="the-field"/>
-            <label for="label-for-checkbox">the-field</label><input type="checkboX" id="label-for-checkbox"/>
-            <label>the-field<input type="chEckbox"/></label>
-        </div>
-
-        <div id="test-for-radio-selector">
-            <input type="Radio" id="the-field-radio"/>
-            <input type="raDio" name="the-field"/>
-            <input type="radIo" placeholder="the-field"/>
-            <label for="label-for-radio">the-field</label><input type="radiO" id="label-for-radio"/>
-            <label>the-field<input type="radIo"/></label>
-        </div>
-
-        <div id="test-for-file-selector">
-            <input type="File" id="the-field-file"/>
-            <input type="fIle" name="the-field"/>
-            <input type="fiLe" placeholder="the-field"/>
-            <label for="label-for-file">the-field</label><input type="filE" id="label-for-file"/>
-            <label>the-field<input type="fiLe"/></label>
-        </div>
-
-        <div id="test-for-select-related-stuff">
-            <!-- match select stuff -->
-            <select name="the-select-stuff-test">
-                <optgroup label="group-label">
-                    <option value="option-value"></option>
-                </optgroup>
-                <option value="">option-value</option>
-                <!-- partial match -->
-                <optgroup label="some group-label">
-                    <option value="">some option-value</option>
-                </optgroup>
-            </select>
-
-            <!-- don't match select stuff -->
-            <select name="the-select-stuff-test">
-                <optgroup label="">some group-label</optgroup>
-                <option value="some option-value"></option>
-            </select>
-        </div>
-    </form>
-
-    <div id="test-for-table-selector">
-        <!-- match tables -->
-        <table id="the-table"></table>
-        <table>
-            <caption>the-table</caption>
-        </table>
-        <!-- partial match -->
-        <table>
-            <caption>some the-table</caption>
-        </table>
-
-        <!-- don't match tables -->
-        <table>
-            <tr>
-                <th>the-table</th>
-                <td>the-table</td>
-            </tr>
-        </table>
-    </div>
-
-    <input name="the-table"/>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/tests/SessionTest.php b/core/vendor/behat/mink/tests/SessionTest.php
deleted file mode 100644
index 9e6796d..0000000
--- a/core/vendor/behat/mink/tests/SessionTest.php
+++ /dev/null
@@ -1,289 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests;
-
-use Behat\Mink\Session;
-
-class SessionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    private $driver;
-    private $selectorsHandler;
-
-    /**
-     * Session.
-     *
-     * @var Session
-     */
-    private $session;
-
-    protected function setUp()
-    {
-        $this->driver = $this->getMockBuilder('Behat\Mink\Driver\DriverInterface')->getMock();
-        $this->selectorsHandler = $this->getMockBuilder('Behat\Mink\Selector\SelectorsHandler')->getMock();
-        $this->session = new Session($this->driver, $this->selectorsHandler);
-    }
-
-    public function testGetDriver()
-    {
-        $this->assertSame($this->driver, $this->session->getDriver());
-    }
-
-    public function testGetPage()
-    {
-        $this->assertInstanceOf('Behat\Mink\Element\DocumentElement', $this->session->getPage());
-    }
-
-    public function testGetSelectorsHandler()
-    {
-        $this->assertSame($this->selectorsHandler, $this->session->getSelectorsHandler());
-    }
-
-    public function testInstantiateWithoutOptionalDeps()
-    {
-        $session = new Session($this->driver);
-
-        $this->assertInstanceOf('Behat\Mink\Selector\SelectorsHandler', $session->getSelectorsHandler());
-    }
-
-    public function testIsStarted()
-    {
-        $this->driver->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(true));
-
-        $this->assertTrue($this->session->isStarted());
-    }
-
-    public function testStart()
-    {
-        $this->driver->expects($this->once())
-            ->method('start');
-
-        $this->session->start();
-    }
-
-    public function testStop()
-    {
-        $this->driver->expects($this->once())
-            ->method('stop');
-
-        $this->session->stop();
-    }
-
-    public function testRestart()
-    {
-        $this->driver->expects($this->at(0))
-            ->method('stop');
-        $this->driver->expects($this->at(1))
-            ->method('start');
-
-        $this->session->restart();
-    }
-
-    public function testVisit()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('visit')
-            ->with($url = 'some_url');
-
-        $this->session->visit($url);
-    }
-
-    public function testReset()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('reset');
-
-        $this->session->reset();
-    }
-
-    public function testSetBasicAuth()
-    {
-        $this->driver->expects($this->once())
-            ->method('setBasicAuth')
-            ->with('user', 'pass');
-
-        $this->session->setBasicAuth('user', 'pass');
-    }
-
-    public function testSetRequestHeader()
-    {
-        $this->driver->expects($this->once())
-            ->method('setRequestHeader')
-            ->with('name', 'value');
-
-        $this->session->setRequestHeader('name', 'value');
-    }
-
-    public function testGetResponseHeaders()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('getResponseHeaders')
-            ->will($this->returnValue($ret = array(2, 3, 4)));
-
-        $this->assertEquals($ret, $this->session->getResponseHeaders());
-    }
-
-    public function testSetCookie()
-    {
-        $this->driver->expects($this->once())
-            ->method('setCookie')
-            ->with('name', 'value');
-
-        $this->session->setCookie('name', 'value');
-    }
-
-    public function testGetCookie()
-    {
-        $this->driver->expects($this->once())
-            ->method('getCookie')
-            ->with('name')
-            ->will($this->returnValue('value'));
-
-        $this->assertEquals('value', $this->session->getCookie('name'));
-    }
-
-    public function testGetStatusCode()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('getStatusCode')
-            ->will($this->returnValue($ret = 404));
-
-        $this->assertEquals($ret, $this->session->getStatusCode());
-    }
-
-    public function testGetCurrentUrl()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue($ret = 'http://some.url'));
-
-        $this->assertEquals($ret, $this->session->getCurrentUrl());
-    }
-
-    public function testGetScreenshot()
-    {
-        $this->driver->expects($this->once())
-            ->method('getScreenshot')
-            ->will($this->returnValue('screenshot'));
-
-        $this->assertEquals('screenshot', $this->session->getScreenshot());
-    }
-
-    public function testGetWindowNames()
-    {
-        $this->driver->expects($this->once())
-            ->method('getWindowNames')
-            ->will($this->returnValue($names = array('window 1', 'window 2')));
-
-        $this->assertEquals($names, $this->session->getWindowNames());
-    }
-
-    public function testGetWindowName()
-    {
-        $this->driver->expects($this->once())
-            ->method('getWindowName')
-            ->will($this->returnValue('name'));
-
-        $this->assertEquals('name', $this->session->getWindowName());
-    }
-
-    public function testReload()
-    {
-        $this->driver->expects($this->once())
-            ->method('reload');
-
-        $this->session->reload();
-    }
-
-    public function testBack()
-    {
-        $this->driver->expects($this->once())
-            ->method('back');
-
-        $this->session->back();
-    }
-
-    public function testForward()
-    {
-        $this->driver->expects($this->once())
-            ->method('forward');
-
-        $this->session->forward();
-    }
-
-    public function testSwitchToWindow()
-    {
-        $this->driver->expects($this->once())
-            ->method('switchToWindow')
-            ->with('test');
-
-        $this->session->switchToWindow('test');
-    }
-
-    public function testSwitchToIFrame()
-    {
-        $this->driver->expects($this->once())
-            ->method('switchToIFrame')
-            ->with('test');
-
-        $this->session->switchToIFrame('test');
-    }
-
-    public function testExecuteScript()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('executeScript')
-            ->with($arg = 'JS');
-
-        $this->session->executeScript($arg);
-    }
-
-    public function testEvaluateScript()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('evaluateScript')
-            ->with($arg = 'JS func')
-            ->will($this->returnValue($ret = '23'));
-
-        $this->assertEquals($ret, $this->session->evaluateScript($arg));
-    }
-
-    public function testWait()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('wait')
-            ->with(1000, 'function () {}');
-
-        $this->session->wait(1000, 'function () {}');
-    }
-
-    public function testResizeWindow()
-    {
-        $this->driver->expects($this->once())
-            ->method('resizeWindow')
-            ->with(800, 600, 'test');
-
-        $this->session->resizeWindow(800, 600, 'test');
-    }
-
-    public function testMaximizeWindow()
-    {
-        $this->driver->expects($this->once())
-            ->method('maximizeWindow')
-            ->with('test');
-
-        $this->session->maximizeWindow('test');
-    }
-}
diff --git a/core/vendor/behat/mink/tests/WebAssertTest.php b/core/vendor/behat/mink/tests/WebAssertTest.php
deleted file mode 100644
index c3bd3cf..0000000
--- a/core/vendor/behat/mink/tests/WebAssertTest.php
+++ /dev/null
@@ -1,1133 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests;
-
-use Behat\Mink\Exception\ExpectationException;
-use Behat\Mink\WebAssert;
-
-class WebAssertTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    private $session;
-    /**
-     * @var WebAssert
-     */
-    private $assert;
-
-    public function setUp()
-    {
-        $this->session = $this->getMockBuilder('Behat\\Mink\\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->assert = new WebAssert($this->session);
-    }
-
-    public function testAddressEquals()
-    {
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://example.com/script.php/sub/url?param=true#webapp/nav'))
-        ;
-
-        $this->assertCorrectAssertion('addressEquals', array('/sub/url#webapp/nav'));
-        $this->assertWrongAssertion(
-            'addressEquals',
-            array('sub_url'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Current page is "/sub/url#webapp/nav", but "sub_url" expected.'
-        );
-    }
-
-    public function testAddressEqualsEmptyPath()
-    {
-        $this->session
-            ->expects($this->once())
-            ->method('getCurrentUrl')
-            ->willReturn('http://example.com')
-        ;
-
-        $this->assertCorrectAssertion('addressEquals', array('/'));
-    }
-
-    public function testAddressNotEquals()
-    {
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://example.com/script.php/sub/url'))
-        ;
-
-        $this->assertCorrectAssertion('addressNotEquals', array('sub_url'));
-        $this->assertWrongAssertion(
-            'addressNotEquals',
-            array('/sub/url'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Current page is "/sub/url", but should not be.'
-        );
-    }
-
-    public function testAddressMatches()
-    {
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://example.com/script.php/sub/url'))
-        ;
-
-        $this->assertCorrectAssertion('addressMatches', array('/su.*rl/'));
-        $this->assertWrongAssertion(
-            'addressMatches',
-            array('/suburl/'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Current page "/sub/url" does not match the regex "/suburl/".'
-        );
-    }
-
-    public function testCookieEquals()
-    {
-        $this->session->
-            expects($this->any())->
-            method('getCookie')->
-            will($this->returnValueMap(
-                array(
-                    array('foo', 'bar'),
-                    array('bar', 'baz'),
-                )
-            ));
-
-        $this->assertCorrectAssertion('cookieEquals', array('foo', 'bar'));
-        $this->assertWrongAssertion(
-            'cookieEquals',
-            array('bar', 'foo'),
-            'Behat\Mink\Exception\ExpectationException',
-            'Cookie "bar" value is "baz", but should be "foo".'
-        );
-    }
-
-    public function testCookieExists()
-    {
-        $this->session->
-            expects($this->any())->
-            method('getCookie')->
-            will($this->returnValueMap(
-                array(
-                    array('foo', '1'),
-                    array('bar', null),
-                )
-            ));
-
-        $this->assertCorrectAssertion('cookieExists', array('foo'));
-        $this->assertWrongAssertion(
-            'cookieExists',
-            array('bar'),
-            'Behat\Mink\Exception\ExpectationException',
-            'Cookie "bar" is not set, but should be.'
-        );
-    }
-
-    public function testStatusCodeEquals()
-    {
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getStatusCode')
-            ->will($this->returnValue(200))
-        ;
-
-        $this->assertCorrectAssertion('statusCodeEquals', array(200));
-        $this->assertWrongAssertion(
-            'statusCodeEquals',
-            array(404),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Current response status code is 200, but 404 expected.'
-        );
-    }
-
-    public function testStatusCodeNotEquals()
-    {
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getStatusCode')
-            ->will($this->returnValue(404))
-        ;
-
-        $this->assertCorrectAssertion('statusCodeNotEquals', array(200));
-        $this->assertWrongAssertion(
-            'statusCodeNotEquals',
-            array(404),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Current response status code is 404, but should not be.'
-        );
-    }
-
-    public function testPageTextContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue("Some  page\n\ttext"))
-        ;
-
-        $this->assertCorrectAssertion('pageTextContains', array('PAGE text'));
-        $this->assertWrongAssertion(
-            'pageTextContains',
-            array('html text'),
-            'Behat\\Mink\\Exception\\ResponseTextException',
-            'The text "html text" was not found anywhere in the text of the current page.'
-        );
-    }
-
-    public function testPageTextNotContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue("Some  html\n\ttext"))
-        ;
-
-        $this->assertCorrectAssertion('pageTextNotContains', array('PAGE text'));
-        $this->assertWrongAssertion(
-            'pageTextNotContains',
-            array('HTML text'),
-            'Behat\\Mink\\Exception\\ResponseTextException',
-            'The text "HTML text" appears in the text of this page, but it should not.'
-        );
-    }
-
-    public function testPageTextMatches()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue('Some page text'))
-        ;
-
-        $this->assertCorrectAssertion('pageTextMatches', array('/PA.E/i'));
-        $this->assertWrongAssertion(
-            'pageTextMatches',
-            array('/html/'),
-            'Behat\\Mink\\Exception\\ResponseTextException',
-            'The pattern /html/ was not found anywhere in the text of the current page.'
-        );
-    }
-
-    public function testPageTextNotMatches()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue('Some html text'))
-        ;
-
-        $this->assertCorrectAssertion('pageTextNotMatches', array('/PA.E/i'));
-        $this->assertWrongAssertion(
-            'pageTextNotMatches',
-            array('/HTML/i'),
-            'Behat\\Mink\\Exception\\ResponseTextException',
-            'The pattern /HTML/i was found in the text of the current page, but it should not.'
-        );
-    }
-
-    public function testResponseContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getContent')
-            ->will($this->returnValue('Some page text'))
-        ;
-
-        $this->assertCorrectAssertion('responseContains', array('PAGE text'));
-        $this->assertWrongAssertion(
-            'responseContains',
-            array('html text'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The string "html text" was not found anywhere in the HTML response of the current page.'
-        );
-    }
-
-    public function testResponseNotContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getContent')
-            ->will($this->returnValue('Some html text'))
-        ;
-
-        $this->assertCorrectAssertion('responseNotContains', array('PAGE text'));
-        $this->assertWrongAssertion(
-            'responseNotContains',
-            array('HTML text'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The string "HTML text" appears in the HTML response of this page, but it should not.'
-        );
-    }
-
-    public function testResponseMatches()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getContent')
-            ->will($this->returnValue('Some page text'))
-        ;
-
-        $this->assertCorrectAssertion('responseMatches', array('/PA.E/i'));
-        $this->assertWrongAssertion(
-            'responseMatches',
-            array('/html/'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The pattern /html/ was not found anywhere in the HTML response of the page.'
-        );
-    }
-
-    public function testResponseNotMatches()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getContent')
-            ->will($this->returnValue('Some html text'))
-        ;
-
-        $this->assertCorrectAssertion('responseNotMatches', array('/PA.E/i'));
-        $this->assertWrongAssertion(
-            'responseNotMatches',
-            array('/HTML/i'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The pattern /HTML/i was found in the HTML response of the page, but it should not.'
-        );
-    }
-
-    public function testElementsCount()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('findAll')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue(array(1, 2)))
-        ;
-
-        $this->assertCorrectAssertion('elementsCount', array('css', 'h2 > span', 2));
-        $this->assertWrongAssertion(
-            'elementsCount',
-            array('css', 'h2 > span', 3),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            '2 elements matching css "h2 > span" found on the page, but should be 3.'
-        );
-    }
-
-    public function testElementExists()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(4))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->onConsecutiveCalls(1, null, 1, null))
-        ;
-
-        $this->assertCorrectAssertion('elementExists', array('css', 'h2 > span'));
-        $this->assertWrongAssertion(
-            'elementExists',
-            array('css', 'h2 > span'),
-            'Behat\\Mink\\Exception\\ElementNotFoundException',
-            'Element matching css "h2 > span" not found.'
-        );
-
-        $this->assertCorrectAssertion('elementExists', array('css', 'h2 > span', $page));
-        $this->assertWrongAssertion(
-            'elementExists',
-            array('css', 'h2 > span', $page),
-            'Behat\\Mink\\Exception\\ElementNotFoundException',
-            'Element matching css "h2 > span" not found.'
-        );
-    }
-
-    public function testElementExistsWithArrayLocator()
-    {
-        $container = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session->expects($this->never())
-            ->method('getPage')
-        ;
-
-        $container
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('named', array('element', 'Test'))
-            ->will($this->onConsecutiveCalls(1, null))
-        ;
-
-        $this->assertCorrectAssertion('elementExists', array('named', array('element', 'Test'), $container));
-        $this->assertWrongAssertion(
-            'elementExists',
-            array('named', array('element', 'Test'), $container),
-            'Behat\\Mink\\Exception\\ElementNotFoundException',
-            'Element with named "element Test" not found.'
-        );
-    }
-
-    public function testElementNotExists()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(4))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->onConsecutiveCalls(null, 1, null, 1))
-        ;
-
-        $this->assertCorrectAssertion('elementNotExists', array('css', 'h2 > span'));
-        $this->assertWrongAssertion(
-            'elementNotExists',
-            array('css', 'h2 > span'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'An element matching css "h2 > span" appears on this page, but it should not.'
-        );
-
-        $this->assertCorrectAssertion('elementNotExists', array('css', 'h2 > span', $page));
-        $this->assertWrongAssertion(
-            'elementNotExists',
-            array('css', 'h2 > span', $page),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'An element matching css "h2 > span" appears on this page, but it should not.'
-        );
-    }
-
-    /**
-     * @dataProvider getArrayLocatorFormats
-     */
-    public function testElementNotExistsArrayLocator($selector, $locator, $expectedMessage)
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->once())
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->once())
-            ->method('find')
-            ->with($selector, $locator)
-            ->will($this->returnValue(1))
-        ;
-
-        $this->assertWrongAssertion(
-            'elementNotExists',
-            array($selector, $locator),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            $expectedMessage
-        );
-    }
-
-    public function getArrayLocatorFormats()
-    {
-        return array(
-            'named' => array(
-                'named',
-                array('button', 'Test'),
-                'An button matching locator "Test" appears on this page, but it should not.',
-            ),
-            'custom' => array(
-                'custom',
-                array('test', 'foo'),
-                'An element matching custom "test foo" appears on this page, but it should not.',
-            ),
-        );
-    }
-
-    public function testElementTextContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue('element text'))
-        ;
-
-        $this->assertCorrectAssertion('elementTextContains', array('css', 'h2 > span', 'text'));
-        $this->assertWrongAssertion(
-            'elementTextContains',
-            array('css', 'h2 > span', 'html'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The text "html" was not found in the text of the element matching css "h2 > span".'
-        );
-    }
-
-    public function testElementTextNotContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue('element text'))
-        ;
-
-        $this->assertCorrectAssertion('elementTextNotContains', array('css', 'h2 > span', 'html'));
-        $this->assertWrongAssertion(
-            'elementTextNotContains',
-            array('css', 'h2 > span', 'text'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The text "text" appears in the text of the element matching css "h2 > span", but it should not.'
-        );
-    }
-
-    public function testElementContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getHtml')
-            ->will($this->returnValue('element html'))
-        ;
-
-        $this->assertCorrectAssertion('elementContains', array('css', 'h2 > span', 'html'));
-        $this->assertWrongAssertion(
-            'elementContains',
-            array('css', 'h2 > span', 'text'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The string "text" was not found in the HTML of the element matching css "h2 > span".'
-        );
-    }
-
-    public function testElementNotContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getHtml')
-            ->will($this->returnValue('element html'))
-        ;
-
-        $this->assertCorrectAssertion('elementNotContains', array('css', 'h2 > span', 'text'));
-        $this->assertWrongAssertion(
-            'elementNotContains',
-            array('css', 'h2 > span', 'html'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The string "html" appears in the HTML of the element matching css "h2 > span", but it should not.'
-        );
-    }
-
-    public function testElementAttributeContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('hasAttribute')
-            ->will($this->returnValue(true))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getAttribute')
-            ->with('name')
-            ->will($this->returnValue('foo'))
-        ;
-
-        $this->assertCorrectAssertion('elementAttributeContains', array('css', 'h2 > span', 'name', 'foo'));
-        $this->assertWrongAssertion(
-            'elementAttributeContains',
-            array('css', 'h2 > span', 'name', 'bar'),
-            'Behat\\Mink\\Exception\\ElementHtmlException',
-            'The text "bar" was not found in the attribute "name" of the element matching css "h2 > span".'
-        );
-    }
-
-    public function testElementAttributeExists()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->at(0))
-            ->method('hasAttribute')
-            ->with('name')
-            ->will($this->returnValue(true))
-        ;
-
-        $element
-            ->expects($this->at(1))
-            ->method('hasAttribute')
-            ->with('name')
-            ->will($this->returnValue(false))
-        ;
-
-        $this->assertCorrectAssertion('elementAttributeExists', array('css', 'h2 > span', 'name'));
-        $this->assertWrongAssertion(
-            'elementAttributeExists',
-            array('css', 'h2 > span', 'name'),
-            'Behat\\Mink\\Exception\\ElementHtmlException',
-            'The attribute "name" was not found in the element matching css "h2 > span".'
-        );
-    }
-
-    public function testElementAttributeNotContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('hasAttribute')
-            ->will($this->returnValue(true))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getAttribute')
-            ->with('name')
-            ->will($this->returnValue('foo'))
-        ;
-
-        $this->assertCorrectAssertion('elementAttributeNotContains', array('css', 'h2 > span', 'name', 'bar'));
-        $this->assertWrongAssertion(
-            'elementAttributeNotContains',
-            array('css', 'h2 > span', 'name', 'foo'),
-            'Behat\\Mink\\Exception\\ElementHtmlException',
-            'The text "foo" was found in the attribute "name" of the element matching css "h2 > span".'
-        );
-    }
-
-    public function testFieldExists()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('findField')
-            ->with('username')
-            ->will($this->onConsecutiveCalls($element, null))
-        ;
-
-        $this->assertCorrectAssertion('fieldExists', array('username'));
-        $this->assertWrongAssertion(
-            'fieldExists',
-            array('username'),
-            'Behat\\Mink\\Exception\\ElementNotFoundException',
-            'Form field with id|name|label|value "username" not found.'
-        );
-    }
-
-    public function testFieldNotExists()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('findField')
-            ->with('username')
-            ->will($this->onConsecutiveCalls(null, $element))
-        ;
-
-        $this->assertCorrectAssertion('fieldNotExists', array('username'));
-        $this->assertWrongAssertion(
-            'fieldNotExists',
-            array('username'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'A field "username" appears on this page, but it should not.'
-        );
-    }
-
-    public function testFieldValueEquals()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(4))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(4))
-            ->method('findField')
-            ->with('username')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(4))
-            ->method('getValue')
-            ->will($this->returnValue(234))
-        ;
-
-        $this->assertCorrectAssertion('fieldValueEquals', array('username', 234));
-        $this->assertWrongAssertion(
-            'fieldValueEquals',
-            array('username', 235),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The field "username" value is "234", but "235" expected.'
-        );
-        $this->assertWrongAssertion(
-            'fieldValueEquals',
-            array('username', 23),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The field "username" value is "234", but "23" expected.'
-        );
-        $this->assertWrongAssertion(
-            'fieldValueEquals',
-            array('username', ''),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The field "username" value is "234", but "" expected.'
-        );
-    }
-
-    public function testFieldValueNotEquals()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(4))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(4))
-            ->method('findField')
-            ->with('username')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(4))
-            ->method('getValue')
-            ->will($this->returnValue(235))
-        ;
-
-        $this->assertCorrectAssertion('fieldValueNotEquals', array('username', 234));
-        $this->assertWrongAssertion(
-            'fieldValueNotEquals',
-            array('username', 235),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The field "username" value is "235", but it should not be.'
-        );
-        $this->assertCorrectAssertion('fieldValueNotEquals', array('username', 23));
-        $this->assertCorrectAssertion('fieldValueNotEquals', array('username', ''));
-    }
-
-    public function testCheckboxChecked()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('findField')
-            ->with('remember_me')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('isChecked')
-            ->will($this->onConsecutiveCalls(true, false))
-        ;
-
-        $this->assertCorrectAssertion('checkboxChecked', array('remember_me'));
-        $this->assertWrongAssertion(
-            'checkboxChecked',
-            array('remember_me'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Checkbox "remember_me" is not checked, but it should be.'
-        );
-    }
-
-    public function testCheckboxNotChecked()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('findField')
-            ->with('remember_me')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('isChecked')
-            ->will($this->onConsecutiveCalls(false, true))
-        ;
-
-        $this->assertCorrectAssertion('checkboxNotChecked', array('remember_me'));
-        $this->assertWrongAssertion(
-            'checkboxNotChecked',
-            array('remember_me'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Checkbox "remember_me" is checked, but it should not be.'
-        );
-    }
-
-    private function assertCorrectAssertion($assertion, $arguments)
-    {
-        try {
-            call_user_func_array(array($this->assert, $assertion), $arguments);
-        } catch (ExpectationException $e) {
-            $this->fail('Correct assertion should not throw an exception: '.$e->getMessage());
-        }
-    }
-
-    private function assertWrongAssertion($assertion, $arguments, $exceptionClass, $exceptionMessage)
-    {
-        if ('Behat\Mink\Exception\ExpectationException' !== $exceptionClass && !is_subclass_of($exceptionClass, 'Behat\Mink\Exception\ExpectationException')) {
-            throw new \LogicException('Wrong expected exception for the failed assertion. It should be a Behat\Mink\Exception\ExpectationException.');
-        }
-
-        try {
-            call_user_func_array(array($this->assert, $assertion), $arguments);
-            $this->fail('Wrong assertion should throw an exception');
-        } catch (ExpectationException $e) {
-            $this->assertInstanceOf($exceptionClass, $e);
-            $this->assertSame($exceptionMessage, $e->getMessage());
-        }
-    }
-}
diff --git a/core/vendor/bin/phpunit b/core/vendor/bin/phpunit
deleted file mode 120000
index 2c48930..0000000
--- a/core/vendor/bin/phpunit
+++ /dev/null
@@ -1 +0,0 @@
-../phpunit/phpunit/phpunit
\ No newline at end of file
diff --git a/core/vendor/composer/autoload_classmap.php b/core/vendor/composer/autoload_classmap.php
index e66d49b..907d4ff 100644
--- a/core/vendor/composer/autoload_classmap.php
+++ b/core/vendor/composer/autoload_classmap.php
@@ -12,419 +12,6 @@
     'Drupal\\Core\\DrupalKernel' => $baseDir . '/lib/Drupal/Core/DrupalKernel.php',
     'Drupal\\Core\\DrupalKernelInterface' => $baseDir . '/lib/Drupal/Core/DrupalKernelInterface.php',
     'Drupal\\Core\\Site\\Settings' => $baseDir . '/lib/Drupal/Core/Site/Settings.php',
-    'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php',
-    'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php',
-    'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php',
-    'PHPUnit_Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php',
-    'PHPUnit_Extensions_GroupTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php',
-    'PHPUnit_Extensions_PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestCase.php',
-    'PHPUnit_Extensions_PhptTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestSuite.php',
-    'PHPUnit_Extensions_RepeatedTest' => $vendorDir . '/phpunit/phpunit/src/Extensions/RepeatedTest.php',
-    'PHPUnit_Extensions_TestDecorator' => $vendorDir . '/phpunit/phpunit/src/Extensions/TestDecorator.php',
-    'PHPUnit_Extensions_TicketListener' => $vendorDir . '/phpunit/phpunit/src/Extensions/TicketListener.php',
-    'PHPUnit_Framework_Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php',
-    'PHPUnit_Framework_AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/AssertionFailedError.php',
-    'PHPUnit_Framework_BaseTestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/BaseTestListener.php',
-    'PHPUnit_Framework_CodeCoverageException' => $vendorDir . '/phpunit/phpunit/src/Framework/CodeCoverageException.php',
-    'PHPUnit_Framework_Constraint' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint.php',
-    'PHPUnit_Framework_Constraint_And' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/And.php',
-    'PHPUnit_Framework_Constraint_ArrayHasKey' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php',
-    'PHPUnit_Framework_Constraint_ArraySubset' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php',
-    'PHPUnit_Framework_Constraint_Attribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php',
-    'PHPUnit_Framework_Constraint_Callback' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Callback.php',
-    'PHPUnit_Framework_Constraint_ClassHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php',
-    'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php',
-    'PHPUnit_Framework_Constraint_Composite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Composite.php',
-    'PHPUnit_Framework_Constraint_Count' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Count.php',
-    'PHPUnit_Framework_Constraint_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception.php',
-    'PHPUnit_Framework_Constraint_ExceptionCode' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php',
-    'PHPUnit_Framework_Constraint_ExceptionMessage' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php',
-    'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php',
-    'PHPUnit_Framework_Constraint_FileExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php',
-    'PHPUnit_Framework_Constraint_GreaterThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php',
-    'PHPUnit_Framework_Constraint_IsAnything' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php',
-    'PHPUnit_Framework_Constraint_IsEmpty' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php',
-    'PHPUnit_Framework_Constraint_IsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php',
-    'PHPUnit_Framework_Constraint_IsFalse' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php',
-    'PHPUnit_Framework_Constraint_IsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php',
-    'PHPUnit_Framework_Constraint_IsInstanceOf' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php',
-    'PHPUnit_Framework_Constraint_IsJson' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php',
-    'PHPUnit_Framework_Constraint_IsNull' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php',
-    'PHPUnit_Framework_Constraint_IsTrue' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php',
-    'PHPUnit_Framework_Constraint_IsType' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsType.php',
-    'PHPUnit_Framework_Constraint_JsonMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php',
-    'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php',
-    'PHPUnit_Framework_Constraint_LessThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php',
-    'PHPUnit_Framework_Constraint_Not' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Not.php',
-    'PHPUnit_Framework_Constraint_ObjectHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php',
-    'PHPUnit_Framework_Constraint_Or' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Or.php',
-    'PHPUnit_Framework_Constraint_PCREMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php',
-    'PHPUnit_Framework_Constraint_SameSize' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php',
-    'PHPUnit_Framework_Constraint_StringContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php',
-    'PHPUnit_Framework_Constraint_StringEndsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php',
-    'PHPUnit_Framework_Constraint_StringMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringMatches.php',
-    'PHPUnit_Framework_Constraint_StringStartsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php',
-    'PHPUnit_Framework_Constraint_TraversableContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php',
-    'PHPUnit_Framework_Constraint_TraversableContainsOnly' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php',
-    'PHPUnit_Framework_Constraint_Xor' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Xor.php',
-    'PHPUnit_Framework_Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Error.php',
-    'PHPUnit_Framework_Error_Deprecated' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Deprecated.php',
-    'PHPUnit_Framework_Error_Notice' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Notice.php',
-    'PHPUnit_Framework_Error_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Warning.php',
-    'PHPUnit_Framework_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception.php',
-    'PHPUnit_Framework_ExceptionWrapper' => $vendorDir . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php',
-    'PHPUnit_Framework_ExpectationFailedException' => $vendorDir . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php',
-    'PHPUnit_Framework_IncompleteTest' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTest.php',
-    'PHPUnit_Framework_IncompleteTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php',
-    'PHPUnit_Framework_IncompleteTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestError.php',
-    'PHPUnit_Framework_InvalidCoversTargetError' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php',
-    'PHPUnit_Framework_InvalidCoversTargetException' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php',
-    'PHPUnit_Framework_MockObject_BadMethodCallException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php',
-    'PHPUnit_Framework_MockObject_Builder_Identity' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php',
-    'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php',
-    'PHPUnit_Framework_MockObject_Builder_Match' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php',
-    'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php',
-    'PHPUnit_Framework_MockObject_Builder_Namespace' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php',
-    'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php',
-    'PHPUnit_Framework_MockObject_Builder_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php',
-    'PHPUnit_Framework_MockObject_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php',
-    'PHPUnit_Framework_MockObject_Generator' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php',
-    'PHPUnit_Framework_MockObject_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php',
-    'PHPUnit_Framework_MockObject_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php',
-    'PHPUnit_Framework_MockObject_Invocation_Object' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php',
-    'PHPUnit_Framework_MockObject_Invocation_Static' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php',
-    'PHPUnit_Framework_MockObject_Invokable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php',
-    'PHPUnit_Framework_MockObject_Matcher' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php',
-    'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php',
-    'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php',
-    'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php',
-    'PHPUnit_Framework_MockObject_Matcher_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php',
-    'PHPUnit_Framework_MockObject_Matcher_MethodName' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php',
-    'PHPUnit_Framework_MockObject_Matcher_Parameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php',
-    'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php',
-    'PHPUnit_Framework_MockObject_MockBuilder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php',
-    'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php',
-    'PHPUnit_Framework_MockObject_RuntimeException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php',
-    'PHPUnit_Framework_MockObject_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php',
-    'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php',
-    'PHPUnit_Framework_MockObject_Stub_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php',
-    'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php',
-    'PHPUnit_Framework_MockObject_Stub_Return' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php',
-    'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php',
-    'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php',
-    'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php',
-    'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php',
-    'PHPUnit_Framework_MockObject_Verifiable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php',
-    'PHPUnit_Framework_OutputError' => $vendorDir . '/phpunit/phpunit/src/Framework/OutputError.php',
-    'PHPUnit_Framework_RiskyTest' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTest.php',
-    'PHPUnit_Framework_RiskyTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTestError.php',
-    'PHPUnit_Framework_SelfDescribing' => $vendorDir . '/phpunit/phpunit/src/Framework/SelfDescribing.php',
-    'PHPUnit_Framework_SkippedTest' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTest.php',
-    'PHPUnit_Framework_SkippedTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestCase.php',
-    'PHPUnit_Framework_SkippedTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestError.php',
-    'PHPUnit_Framework_SkippedTestSuiteError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php',
-    'PHPUnit_Framework_SyntheticError' => $vendorDir . '/phpunit/phpunit/src/Framework/SyntheticError.php',
-    'PHPUnit_Framework_Test' => $vendorDir . '/phpunit/phpunit/src/Framework/Test.php',
-    'PHPUnit_Framework_TestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/TestCase.php',
-    'PHPUnit_Framework_TestFailure' => $vendorDir . '/phpunit/phpunit/src/Framework/TestFailure.php',
-    'PHPUnit_Framework_TestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListener.php',
-    'PHPUnit_Framework_TestResult' => $vendorDir . '/phpunit/phpunit/src/Framework/TestResult.php',
-    'PHPUnit_Framework_TestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite.php',
-    'PHPUnit_Framework_TestSuite_DataProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php',
-    'PHPUnit_Framework_UnintentionallyCoveredCodeError' => $vendorDir . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php',
-    'PHPUnit_Framework_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Warning.php',
-    'PHPUnit_Runner_BaseTestRunner' => $vendorDir . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
-    'PHPUnit_Runner_Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception.php',
-    'PHPUnit_Runner_Filter_Factory' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Factory.php',
-    'PHPUnit_Runner_Filter_GroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group.php',
-    'PHPUnit_Runner_Filter_Group_Exclude' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php',
-    'PHPUnit_Runner_Filter_Group_Include' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Include.php',
-    'PHPUnit_Runner_Filter_Test' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Test.php',
-    'PHPUnit_Runner_StandardTestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php',
-    'PHPUnit_Runner_TestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php',
-    'PHPUnit_Runner_Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php',
-    'PHPUnit_TextUI_Command' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command.php',
-    'PHPUnit_TextUI_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/ResultPrinter.php',
-    'PHPUnit_TextUI_TestRunner' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestRunner.php',
-    'PHPUnit_Util_Blacklist' => $vendorDir . '/phpunit/phpunit/src/Util/Blacklist.php',
-    'PHPUnit_Util_Configuration' => $vendorDir . '/phpunit/phpunit/src/Util/Configuration.php',
-    'PHPUnit_Util_ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Util/ErrorHandler.php',
-    'PHPUnit_Util_Fileloader' => $vendorDir . '/phpunit/phpunit/src/Util/Fileloader.php',
-    'PHPUnit_Util_Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
-    'PHPUnit_Util_Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
-    'PHPUnit_Util_Getopt' => $vendorDir . '/phpunit/phpunit/src/Util/Getopt.php',
-    'PHPUnit_Util_GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php',
-    'PHPUnit_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php',
-    'PHPUnit_Util_Log_JSON' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JSON.php',
-    'PHPUnit_Util_Log_JUnit' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JUnit.php',
-    'PHPUnit_Util_Log_TAP' => $vendorDir . '/phpunit/phpunit/src/Util/Log/TAP.php',
-    'PHPUnit_Util_PHP' => $vendorDir . '/phpunit/phpunit/src/Util/PHP.php',
-    'PHPUnit_Util_PHP_Default' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Default.php',
-    'PHPUnit_Util_PHP_Windows' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Windows.php',
-    'PHPUnit_Util_Printer' => $vendorDir . '/phpunit/phpunit/src/Util/Printer.php',
-    'PHPUnit_Util_Regex' => $vendorDir . '/phpunit/phpunit/src/Util/Regex.php',
-    'PHPUnit_Util_String' => $vendorDir . '/phpunit/phpunit/src/Util/String.php',
-    'PHPUnit_Util_Test' => $vendorDir . '/phpunit/phpunit/src/Util/Test.php',
-    'PHPUnit_Util_TestDox_NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php',
-    'PHPUnit_Util_TestDox_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php',
-    'PHPUnit_Util_TestDox_ResultPrinter_HTML' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php',
-    'PHPUnit_Util_TestDox_ResultPrinter_Text' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php',
-    'PHPUnit_Util_TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/src/Util/TestSuiteIterator.php',
-    'PHPUnit_Util_Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php',
-    'PHPUnit_Util_XML' => $vendorDir . '/phpunit/phpunit/src/Util/XML.php',
-    'PHP_CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage.php',
-    'PHP_CodeCoverage_Driver' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver.php',
-    'PHP_CodeCoverage_Driver_HHVM' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php',
-    'PHP_CodeCoverage_Driver_Xdebug' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php',
-    'PHP_CodeCoverage_Exception' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception.php',
-    'PHP_CodeCoverage_Exception_UnintentionallyCoveredCode' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php',
-    'PHP_CodeCoverage_Filter' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Filter.php',
-    'PHP_CodeCoverage_Report_Clover' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php',
-    'PHP_CodeCoverage_Report_Crap4j' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php',
-    'PHP_CodeCoverage_Report_Factory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php',
-    'PHP_CodeCoverage_Report_HTML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php',
-    'PHP_CodeCoverage_Report_HTML_Renderer' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php',
-    'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php',
-    'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php',
-    'PHP_CodeCoverage_Report_HTML_Renderer_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php',
-    'PHP_CodeCoverage_Report_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php',
-    'PHP_CodeCoverage_Report_Node_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php',
-    'PHP_CodeCoverage_Report_Node_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php',
-    'PHP_CodeCoverage_Report_Node_Iterator' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php',
-    'PHP_CodeCoverage_Report_PHP' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php',
-    'PHP_CodeCoverage_Report_Text' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php',
-    'PHP_CodeCoverage_Report_XML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php',
-    'PHP_CodeCoverage_Report_XML_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php',
-    'PHP_CodeCoverage_Report_XML_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php',
-    'PHP_CodeCoverage_Report_XML_File_Coverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php',
-    'PHP_CodeCoverage_Report_XML_File_Method' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php',
-    'PHP_CodeCoverage_Report_XML_File_Report' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php',
-    'PHP_CodeCoverage_Report_XML_File_Unit' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php',
-    'PHP_CodeCoverage_Report_XML_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php',
-    'PHP_CodeCoverage_Report_XML_Project' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php',
-    'PHP_CodeCoverage_Report_XML_Tests' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php',
-    'PHP_CodeCoverage_Report_XML_Totals' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php',
-    'PHP_CodeCoverage_Util' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util.php',
-    'PHP_CodeCoverage_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php',
-    'PHP_Timer' => $vendorDir . '/phpunit/php-timer/PHP/Timer.php',
-    'PHP_Token' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_TokenWithScope' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_TokenWithScopeAndVisibility' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ABSTRACT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_AMPERSAND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_AND_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ARRAY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ARRAY_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_AS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_AT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BACKTICK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BAD_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BOOLEAN_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BOOLEAN_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BOOL_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BREAK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CALLABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CARET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CASE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CATCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLASS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLASS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLASS_NAME_CONSTANT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLONE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLOSE_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLOSE_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLOSE_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLOSE_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_COMMA' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CONCAT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CONST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CONSTANT_ENCAPSED_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CONTINUE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CURLY_OPEN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DEC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DEFAULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DIR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DIV' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DIV_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOC_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOLLAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOUBLE_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOUBLE_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOUBLE_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOUBLE_QUOTES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ELLIPSIS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ELSE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ELSEIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EMPTY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENCAPSED_AND_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDDECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDFOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDFOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDSWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDWHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_END_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EVAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EXCLAMATION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EXIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EXTENDS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FINAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FINALLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FUNC_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_GLOBAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_GOTO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_HALT_COMPILER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IMPLEMENTS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INCLUDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INCLUDE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INLINE_HTML' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INSTANCEOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INSTEADOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INTERFACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ISSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_GREATER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_NOT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_NOT_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_SMALLER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_Includes' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_JOIN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LAMBDA_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LAMBDA_CP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LAMBDA_OP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LINE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LIST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LOGICAL_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LOGICAL_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LOGICAL_XOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_METHOD_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_MINUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_MINUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_MOD_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_MULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_MUL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_NAMESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_NEW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_NS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_NS_SEPARATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_NUM_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OBJECT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OBJECT_OPERATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OPEN_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OPEN_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OPEN_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OPEN_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OPEN_TAG_WITH_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PERCENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PIPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PLUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PLUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_POW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_POW_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PRINT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PRIVATE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PROTECTED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PUBLIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_QUESTION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_REQUIRE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_REQUIRE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_RETURN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SEMICOLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SHAPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_START_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_STATIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_STRING_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_STRING_VARNAME' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_Stream' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream.php',
-    'PHP_Token_Stream_CachingFactory' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php',
-    'PHP_Token_THROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TILDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TRAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TRAIT_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TRY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TYPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TYPELIST_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TYPELIST_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_UNSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_UNSET_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_USE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_VAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_VARIABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_WHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XOR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_YIELD' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php',
-    'SebastianBergmann\\Comparator\\Comparator' => $vendorDir . '/sebastian/comparator/src/Comparator.php',
-    'SebastianBergmann\\Comparator\\ComparisonFailure' => $vendorDir . '/sebastian/comparator/src/ComparisonFailure.php',
-    'SebastianBergmann\\Comparator\\DOMNodeComparator' => $vendorDir . '/sebastian/comparator/src/DOMNodeComparator.php',
-    'SebastianBergmann\\Comparator\\DateTimeComparator' => $vendorDir . '/sebastian/comparator/src/DateTimeComparator.php',
-    'SebastianBergmann\\Comparator\\DoubleComparator' => $vendorDir . '/sebastian/comparator/src/DoubleComparator.php',
-    'SebastianBergmann\\Comparator\\ExceptionComparator' => $vendorDir . '/sebastian/comparator/src/ExceptionComparator.php',
-    'SebastianBergmann\\Comparator\\Factory' => $vendorDir . '/sebastian/comparator/src/Factory.php',
-    'SebastianBergmann\\Comparator\\MockObjectComparator' => $vendorDir . '/sebastian/comparator/src/MockObjectComparator.php',
-    'SebastianBergmann\\Comparator\\NumericComparator' => $vendorDir . '/sebastian/comparator/src/NumericComparator.php',
-    'SebastianBergmann\\Comparator\\ObjectComparator' => $vendorDir . '/sebastian/comparator/src/ObjectComparator.php',
-    'SebastianBergmann\\Comparator\\ResourceComparator' => $vendorDir . '/sebastian/comparator/src/ResourceComparator.php',
-    'SebastianBergmann\\Comparator\\ScalarComparator' => $vendorDir . '/sebastian/comparator/src/ScalarComparator.php',
-    'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => $vendorDir . '/sebastian/comparator/src/SplObjectStorageComparator.php',
-    'SebastianBergmann\\Comparator\\TypeComparator' => $vendorDir . '/sebastian/comparator/src/TypeComparator.php',
-    'SebastianBergmann\\Diff\\Chunk' => $vendorDir . '/sebastian/diff/src/Chunk.php',
-    'SebastianBergmann\\Diff\\Diff' => $vendorDir . '/sebastian/diff/src/Diff.php',
-    'SebastianBergmann\\Diff\\Differ' => $vendorDir . '/sebastian/diff/src/Differ.php',
-    'SebastianBergmann\\Diff\\LCS\\LongestCommonSubsequence' => $vendorDir . '/sebastian/diff/src/LCS/LongestCommonSubsequence.php',
-    'SebastianBergmann\\Diff\\LCS\\MemoryEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php',
-    'SebastianBergmann\\Diff\\LCS\\TimeEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php',
-    'SebastianBergmann\\Diff\\Line' => $vendorDir . '/sebastian/diff/src/Line.php',
-    'SebastianBergmann\\Diff\\Parser' => $vendorDir . '/sebastian/diff/src/Parser.php',
-    'SebastianBergmann\\Environment\\Console' => $vendorDir . '/sebastian/environment/src/Console.php',
-    'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php',
-    'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php',
-    'SebastianBergmann\\GlobalState\\Blacklist' => $vendorDir . '/sebastian/global-state/src/Blacklist.php',
-    'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/Exception.php',
-    'SebastianBergmann\\GlobalState\\Restorer' => $vendorDir . '/sebastian/global-state/src/Restorer.php',
-    'SebastianBergmann\\GlobalState\\RuntimeException' => $vendorDir . '/sebastian/global-state/src/RuntimeException.php',
-    'SebastianBergmann\\GlobalState\\Snapshot' => $vendorDir . '/sebastian/global-state/src/Snapshot.php',
-    'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php',
-    'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php',
-    'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php',
-    'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php',
     'SessionHandlerInterface' => $vendorDir . '/symfony/http-foundation/Resources/stubs/SessionHandlerInterface.php',
     'Symfony\\Component\\HttpFoundation\\FileBag' => $vendorDir . '/symfony/http-foundation/FileBag.php',
     'Symfony\\Component\\HttpFoundation\\HeaderBag' => $vendorDir . '/symfony/http-foundation/HeaderBag.php',
@@ -434,5 +21,4 @@
     'Symfony\\Component\\HttpKernel\\HttpKernel' => $vendorDir . '/symfony/http-kernel/HttpKernel.php',
     'Symfony\\Component\\HttpKernel\\HttpKernelInterface' => $vendorDir . '/symfony/http-kernel/HttpKernelInterface.php',
     'Symfony\\Component\\HttpKernel\\TerminableInterface' => $vendorDir . '/symfony/http-kernel/TerminableInterface.php',
-    'Text_Template' => $vendorDir . '/phpunit/php-text-template/Text/Template.php',
 );
diff --git a/core/vendor/composer/autoload_namespaces.php b/core/vendor/composer/autoload_namespaces.php
index 63f4b70..98ce9fe 100644
--- a/core/vendor/composer/autoload_namespaces.php
+++ b/core/vendor/composer/autoload_namespaces.php
@@ -6,20 +6,15 @@
 $baseDir = dirname($vendorDir);
 
 return array(
-    'phpDocumentor' => array($vendorDir . '/phpdocumentor/reflection-docblock/src'),
-    'org\\bovigo\\vfs\\' => array($vendorDir . '/mikey179/vfsStream/src/main/php'),
     'Twig_' => array($vendorDir . '/twig/twig/lib'),
     'Stack' => array($vendorDir . '/stack/builder/src'),
     'Psr\\Log\\' => array($vendorDir . '/psr/log'),
-    'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'),
     'Egulias\\' => array($vendorDir . '/egulias/email-validator/src'),
     'EasyRdf_' => array($vendorDir . '/easyrdf/easyrdf/lib'),
-    'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src'),
     'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'),
     'Doctrine\\Common\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib'),
     'Doctrine\\Common\\Collections\\' => array($vendorDir . '/doctrine/collections/lib'),
     'Doctrine\\Common\\Cache\\' => array($vendorDir . '/doctrine/cache/lib'),
     'Doctrine\\Common\\Annotations\\' => array($vendorDir . '/doctrine/annotations/lib'),
     'Doctrine\\Common\\' => array($vendorDir . '/doctrine/common/lib'),
-    'Behat\\Mink\\Driver' => array($vendorDir . '/behat/mink-browserkit-driver/src'),
 );
diff --git a/core/vendor/composer/autoload_psr4.php b/core/vendor/composer/autoload_psr4.php
index aeaabc1..05cd3f6 100644
--- a/core/vendor/composer/autoload_psr4.php
+++ b/core/vendor/composer/autoload_psr4.php
@@ -37,6 +37,4 @@
     'Drupal\\Driver\\' => array($baseDir . '/../drivers/lib/Drupal/Driver'),
     'Drupal\\Core\\' => array($baseDir . '/lib/Drupal/Core'),
     'Drupal\\Component\\' => array($baseDir . '/lib/Drupal/Component'),
-    'Behat\\Mink\\Driver\\' => array($vendorDir . '/behat/mink-goutte-driver/src'),
-    'Behat\\Mink\\' => array($vendorDir . '/behat/mink/src'),
 );
diff --git a/core/vendor/composer/autoload_real.php b/core/vendor/composer/autoload_real.php
index f41b172..4bd9987 100644
--- a/core/vendor/composer/autoload_real.php
+++ b/core/vendor/composer/autoload_real.php
@@ -23,10 +23,6 @@ public static function getLoader()
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
         spl_autoload_unregister(array('ComposerAutoloaderInitDrupal8', 'loadClassLoader'));
 
-        $includePaths = require __DIR__ . '/include_paths.php';
-        array_push($includePaths, get_include_path());
-        set_include_path(join(PATH_SEPARATOR, $includePaths));
-
         $map = require __DIR__ . '/autoload_namespaces.php';
         foreach ($map as $namespace => $path) {
             $loader->set($namespace, $path);
diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json
index e063543..a118b2c 100644
--- a/core/vendor/composer/installed.json
+++ b/core/vendor/composer/installed.json
@@ -276,154 +276,6 @@
         ]
     },
     {
-        "name": "phpunit/php-text-template",
-        "version": "1.2.0",
-        "version_normalized": "1.2.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-text-template.git",
-            "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
-            "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "time": "2014-01-30 17:20:04",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "Text/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "include-path": [
-            ""
-        ],
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sb@sebastian-bergmann.de",
-                "role": "lead"
-            }
-        ],
-        "description": "Simple template engine.",
-        "homepage": "https://github.com/sebastianbergmann/php-text-template/",
-        "keywords": [
-            "template"
-        ]
-    },
-    {
-        "name": "doctrine/instantiator",
-        "version": "1.0.4",
-        "version_normalized": "1.0.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/doctrine/instantiator.git",
-            "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119",
-            "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3,<8.0-DEV"
-        },
-        "require-dev": {
-            "athletic/athletic": "~0.1.8",
-            "ext-pdo": "*",
-            "ext-phar": "*",
-            "phpunit/phpunit": "~4.0",
-            "squizlabs/php_codesniffer": "2.0.*@ALPHA"
-        },
-        "time": "2014-10-13 12:58:55",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Doctrine\\Instantiator\\": "src"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Marco Pivetta",
-                "email": "ocramius@gmail.com",
-                "homepage": "http://ocramius.github.com/"
-            }
-        ],
-        "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
-        "homepage": "https://github.com/doctrine/instantiator",
-        "keywords": [
-            "constructor",
-            "instantiate"
-        ]
-    },
-    {
-        "name": "phpunit/php-timer",
-        "version": "1.0.5",
-        "version_normalized": "1.0.5.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-timer.git",
-            "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
-            "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "time": "2013-08-02 07:42:54",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "PHP/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "include-path": [
-            ""
-        ],
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sb@sebastian-bergmann.de",
-                "role": "lead"
-            }
-        ],
-        "description": "Utility class for timing",
-        "homepage": "https://github.com/sebastianbergmann/php-timer/",
-        "keywords": [
-            "timer"
-        ]
-    },
-    {
         "name": "psr/log",
         "version": "1.0.0",
         "version_normalized": "1.0.0.0",
@@ -639,59 +491,6 @@
         ]
     },
     {
-        "name": "sebastian/global-state",
-        "version": "1.0.0",
-        "version_normalized": "1.0.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/global-state.git",
-            "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
-            "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.2"
-        },
-        "suggest": {
-            "ext-uopz": "*"
-        },
-        "time": "2014-10-06 09:23:50",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            }
-        ],
-        "description": "Snapshotting of global state",
-        "homepage": "http://www.github.com/sebastianbergmann/global-state",
-        "keywords": [
-            "global state"
-        ]
-    },
-    {
         "name": "doctrine/common",
         "version": "v2.4.2",
         "version_normalized": "2.4.2.0",
@@ -712,1232 +511,316 @@
             "doctrine/collections": "1.*",
             "doctrine/inflector": "1.*",
             "doctrine/lexer": "1.*",
-            "php": ">=5.3.2"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~3.7"
-        },
-        "time": "2014-05-21 19:28:51",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.4.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Doctrine\\Common\\": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Jonathan Wage",
-                "email": "jonwage@gmail.com",
-                "homepage": "http://www.jwage.com/",
-                "role": "Creator"
-            },
-            {
-                "name": "Guilherme Blanco",
-                "email": "guilhermeblanco@gmail.com",
-                "homepage": "http://www.instaclick.com"
-            },
-            {
-                "name": "Roman Borschel",
-                "email": "roman@code-factory.org"
-            },
-            {
-                "name": "Benjamin Eberlei",
-                "email": "kontakt@beberlei.de"
-            },
-            {
-                "name": "Johannes Schmitt",
-                "email": "schmittjoh@gmail.com",
-                "homepage": "https://github.com/schmittjoh",
-                "role": "Developer of wrapped JMSSerializerBundle"
-            }
-        ],
-        "description": "Common Library for Doctrine projects",
-        "homepage": "http://www.doctrine-project.org",
-        "keywords": [
-            "annotations",
-            "collections",
-            "eventmanager",
-            "persistence",
-            "spl"
-        ]
-    },
-    {
-        "name": "behat/mink",
-        "version": "v1.6.1",
-        "version_normalized": "1.6.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/minkphp/Mink.git",
-            "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/minkphp/Mink/zipball/8b68523a339ec991bcd638b39dc8f04f808da88a",
-            "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.1",
-            "symfony/css-selector": "~2.0"
-        },
-        "suggest": {
-            "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
-            "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
-            "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
-            "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)"
-        },
-        "time": "2015-02-04 17:02:06",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.6.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Behat\\Mink\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Konstantin Kudryashov",
-                "email": "ever.zet@gmail.com",
-                "homepage": "http://everzet.com"
-            }
-        ],
-        "description": "Browser controller/emulator abstraction for PHP",
-        "homepage": "http://mink.behat.org/",
-        "keywords": [
-            "browser",
-            "testing",
-            "web"
-        ]
-    },
-    {
-        "name": "behat/mink-browserkit-driver",
-        "version": "v1.2.0",
-        "version_normalized": "1.2.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/minkphp/MinkBrowserKitDriver.git",
-            "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/aed8f4a596b79014a75254c3e337511c33e38cbd",
-            "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd",
-            "shasum": ""
-        },
-        "require": {
-            "behat/mink": "~1.6@dev",
-            "php": ">=5.3.1",
-            "symfony/browser-kit": "~2.0",
-            "symfony/dom-crawler": "~2.0"
-        },
-        "require-dev": {
-            "silex/silex": "~1.2"
-        },
-        "time": "2014-09-26 11:35:19",
-        "type": "mink-driver",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.2.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Behat\\Mink\\Driver": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Konstantin Kudryashov",
-                "email": "ever.zet@gmail.com",
-                "homepage": "http://everzet.com"
-            }
-        ],
-        "description": "Symfony2 BrowserKit driver for Mink framework",
-        "homepage": "http://mink.behat.org/",
-        "keywords": [
-            "Mink",
-            "Symfony2",
-            "browser",
-            "testing"
-        ]
-    },
-    {
-        "name": "masterminds/html5",
-        "version": "2.1.0",
-        "version_normalized": "2.1.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/Masterminds/html5-php.git",
-            "reference": "a10f8d392e1aad0b500f7b440c8f0d3bc9189704"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/a10f8d392e1aad0b500f7b440c8f0d3bc9189704",
-            "reference": "a10f8d392e1aad0b500f7b440c8f0d3bc9189704",
-            "shasum": ""
-        },
-        "require": {
-            "ext-libxml": "*",
-            "php": ">=5.3.0"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "4.*",
-            "sami/sami": "~2.0",
-            "satooshi/php-coveralls": "0.6.*"
-        },
-        "time": "2015-02-09 16:26:00",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.1-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Masterminds\\": "src"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Matt Butcher",
-                "email": "technosophos@gmail.com"
-            },
-            {
-                "name": "Asmir Mustafic",
-                "email": "goetas@gmail.com"
-            },
-            {
-                "name": "Matt Farina",
-                "email": "matt@mattfarina.com"
-            }
-        ],
-        "description": "An HTML5 parser and serializer.",
-        "homepage": "http://masterminds.github.io/html5-php",
-        "keywords": [
-            "HTML5",
-            "dom",
-            "html",
-            "parser",
-            "querypath",
-            "serializer",
-            "xml"
-        ]
-    },
-    {
-        "name": "zendframework/zend-stdlib",
-        "version": "2.4.0",
-        "version_normalized": "2.4.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/zendframework/zend-stdlib.git",
-            "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cf05c5ba75606e47ffee91cedc72778da46f74c3",
-            "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.23"
-        },
-        "require-dev": {
-            "zendframework/zend-eventmanager": "self.version",
-            "zendframework/zend-filter": "self.version",
-            "zendframework/zend-serializer": "self.version",
-            "zendframework/zend-servicemanager": "self.version"
-        },
-        "suggest": {
-            "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
-            "zendframework/zend-filter": "To support naming strategy hydrator usage",
-            "zendframework/zend-serializer": "Zend\\Serializer component",
-            "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
-        },
-        "time": "2015-04-01 18:09:29",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.3-dev",
-                "dev-develop": "2.4-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Zend\\Stdlib\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "homepage": "https://github.com/zendframework/zf2",
-        "keywords": [
-            "stdlib",
-            "zf2"
-        ]
-    },
-    {
-        "name": "zendframework/zend-escaper",
-        "version": "2.4.0",
-        "version_normalized": "2.4.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/zendframework/zend-escaper.git",
-            "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/15e5769e4fcdb4bf07ebd76500810e7070e23a97",
-            "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.23"
-        },
-        "time": "2015-04-01 18:02:07",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.3-dev",
-                "dev-develop": "2.4-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Zend\\Escaper\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "homepage": "https://github.com/zendframework/zf2",
-        "keywords": [
-            "escaper",
-            "zf2"
-        ]
-    },
-    {
-        "name": "zendframework/zend-feed",
-        "version": "2.4.0",
-        "version_normalized": "2.4.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/zendframework/zend-feed.git",
-            "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0f59e560364f1f1fcb09a96874328ae3ff690db2",
-            "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.23",
-            "zendframework/zend-escaper": "self.version",
-            "zendframework/zend-stdlib": "self.version"
-        },
-        "require-dev": {
-            "zendframework/zend-cache": "self.version",
-            "zendframework/zend-db": "self.version",
-            "zendframework/zend-http": "self.version",
-            "zendframework/zend-servicemanager": "self.version",
-            "zendframework/zend-validator": "self.version"
-        },
-        "suggest": {
-            "zendframework/zend-cache": "Zend\\Cache component",
-            "zendframework/zend-db": "Zend\\Db component",
-            "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader",
-            "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations",
-            "zendframework/zend-validator": "Zend\\Validator component"
-        },
-        "time": "2015-04-01 18:09:25",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.3-dev",
-                "dev-develop": "2.4-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Zend\\Feed\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "description": "provides functionality for consuming RSS and Atom feeds",
-        "homepage": "https://github.com/zendframework/zf2",
-        "keywords": [
-            "feed",
-            "zf2"
-        ]
-    },
-    {
-        "name": "twig/twig",
-        "version": "v1.18.1",
-        "version_normalized": "1.18.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/twigphp/Twig.git",
-            "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f",
-            "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.2.7"
-        },
-        "time": "2015-04-19 08:30:27",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.18-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Twig_": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com",
-                "homepage": "http://fabien.potencier.org",
-                "role": "Lead Developer"
-            },
-            {
-                "name": "Armin Ronacher",
-                "email": "armin.ronacher@active-4.com",
-                "role": "Project Founder"
-            },
-            {
-                "name": "Twig Team",
-                "homepage": "http://twig.sensiolabs.org/contributors",
-                "role": "Contributors"
-            }
-        ],
-        "description": "Twig, the flexible, fast, and secure template language for PHP",
-        "homepage": "http://twig.sensiolabs.org",
-        "keywords": [
-            "templating"
-        ]
-    },
-    {
-        "name": "sebastian/version",
-        "version": "1.0.5",
-        "version_normalized": "1.0.5.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/version.git",
-            "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4",
-            "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4",
-            "shasum": ""
-        },
-        "time": "2015-02-24 06:35:25",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de",
-                "role": "lead"
-            }
-        ],
-        "description": "Library that helps with managing the version number of Git-hosted PHP projects",
-        "homepage": "https://github.com/sebastianbergmann/version"
-    },
-    {
-        "name": "sebastian/recursion-context",
-        "version": "1.0.0",
-        "version_normalized": "1.0.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/recursion-context.git",
-            "reference": "3989662bbb30a29d20d9faa04a846af79b276252"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252",
-            "reference": "3989662bbb30a29d20d9faa04a846af79b276252",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4"
-        },
-        "time": "2015-01-24 09:48:32",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Jeff Welch",
-                "email": "whatthejeff@gmail.com"
-            },
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            },
-            {
-                "name": "Adam Harvey",
-                "email": "aharvey@php.net"
-            }
-        ],
-        "description": "Provides functionality to recursively process PHP variables",
-        "homepage": "http://www.github.com/sebastianbergmann/recursion-context"
-    },
-    {
-        "name": "sebastian/exporter",
-        "version": "1.2.0",
-        "version_normalized": "1.2.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/exporter.git",
-            "reference": "84839970d05254c73cde183a721c7af13aede943"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943",
-            "reference": "84839970d05254c73cde183a721c7af13aede943",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3",
-            "sebastian/recursion-context": "~1.0"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4"
-        },
-        "time": "2015-01-27 07:23:06",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.2.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Jeff Welch",
-                "email": "whatthejeff@gmail.com"
-            },
-            {
-                "name": "Volker Dusch",
-                "email": "github@wallbash.com"
-            },
-            {
-                "name": "Bernhard Schussek",
-                "email": "bschussek@2bepublished.at"
-            },
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            },
-            {
-                "name": "Adam Harvey",
-                "email": "aharvey@php.net"
-            }
-        ],
-        "description": "Provides the functionality to export PHP variables for visualization",
-        "homepage": "http://www.github.com/sebastianbergmann/exporter",
-        "keywords": [
-            "export",
-            "exporter"
-        ]
-    },
-    {
-        "name": "sebastian/environment",
-        "version": "1.2.2",
-        "version_normalized": "1.2.2.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/environment.git",
-            "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e",
-            "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4"
-        },
-        "time": "2015-01-01 10:01:08",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.3.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            }
-        ],
-        "description": "Provides functionality to handle HHVM/PHP environments",
-        "homepage": "http://www.github.com/sebastianbergmann/environment",
-        "keywords": [
-            "Xdebug",
-            "environment",
-            "hhvm"
-        ]
-    },
-    {
-        "name": "sebastian/diff",
-        "version": "1.3.0",
-        "version_normalized": "1.3.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/diff.git",
-            "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3",
-            "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.2"
-        },
-        "time": "2015-02-22 15:13:53",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.3-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Kore Nordmann",
-                "email": "mail@kore-nordmann.de"
-            },
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            }
-        ],
-        "description": "Diff implementation",
-        "homepage": "http://www.github.com/sebastianbergmann/diff",
-        "keywords": [
-            "diff"
-        ]
-    },
-    {
-        "name": "sebastian/comparator",
-        "version": "1.1.1",
-        "version_normalized": "1.1.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/comparator.git",
-            "reference": "1dd8869519a225f7f2b9eb663e225298fade819e"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e",
-            "reference": "1dd8869519a225f7f2b9eb663e225298fade819e",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3",
-            "sebastian/diff": "~1.2",
-            "sebastian/exporter": "~1.2"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4"
-        },
-        "time": "2015-01-29 16:28:08",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.1.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Jeff Welch",
-                "email": "whatthejeff@gmail.com"
-            },
-            {
-                "name": "Volker Dusch",
-                "email": "github@wallbash.com"
-            },
-            {
-                "name": "Bernhard Schussek",
-                "email": "bschussek@2bepublished.at"
-            },
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            }
-        ],
-        "description": "Provides the functionality to compare PHP values for equality",
-        "homepage": "http://www.github.com/sebastianbergmann/comparator",
-        "keywords": [
-            "comparator",
-            "compare",
-            "equality"
-        ]
-    },
-    {
-        "name": "phpdocumentor/reflection-docblock",
-        "version": "2.0.4",
-        "version_normalized": "2.0.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-            "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
-            "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.0"
-        },
-        "suggest": {
-            "dflydev/markdown": "~1.0",
-            "erusev/parsedown": "~1.0"
-        },
-        "time": "2015-02-03 12:10:50",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "phpDocumentor": [
-                    "src/"
-                ]
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Mike van Riel",
-                "email": "mike.vanriel@naenius.com"
-            }
-        ]
-    },
-    {
-        "name": "phpspec/prophecy",
-        "version": "1.4.0",
-        "version_normalized": "1.4.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/phpspec/prophecy.git",
-            "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
-            "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
-            "shasum": ""
-        },
-        "require": {
-            "doctrine/instantiator": "^1.0.2",
-            "phpdocumentor/reflection-docblock": "~2.0",
-            "sebastian/comparator": "~1.1"
-        },
-        "require-dev": {
-            "phpspec/phpspec": "~2.0"
-        },
-        "time": "2015-03-27 19:31:25",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.4.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Prophecy\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Konstantin Kudryashov",
-                "email": "ever.zet@gmail.com",
-                "homepage": "http://everzet.com"
-            },
-            {
-                "name": "Marcello Duarte",
-                "email": "marcello.duarte@gmail.com"
-            }
-        ],
-        "description": "Highly opinionated mocking framework for PHP 5.3+",
-        "homepage": "https://github.com/phpspec/prophecy",
-        "keywords": [
-            "Double",
-            "Dummy",
-            "fake",
-            "mock",
-            "spy",
-            "stub"
-        ]
-    },
-    {
-        "name": "phpunit/phpunit-mock-objects",
-        "version": "2.3.1",
-        "version_normalized": "2.3.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-            "reference": "74ffb87f527f24616f72460e54b595f508dccb5c"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c",
-            "reference": "74ffb87f527f24616f72460e54b595f508dccb5c",
-            "shasum": ""
-        },
-        "require": {
-            "doctrine/instantiator": "~1.0,>=1.0.2",
-            "php": ">=5.3.3",
-            "phpunit/php-text-template": "~1.2"
+            "php": ">=5.3.2"
         },
         "require-dev": {
-            "phpunit/phpunit": "~4.4"
-        },
-        "suggest": {
-            "ext-soap": "*"
+            "phpunit/phpunit": "~3.7"
         },
-        "time": "2015-04-02 05:36:41",
+        "time": "2014-05-21 19:28:51",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.3.x-dev"
+                "dev-master": "2.4.x-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-0": {
+                "Doctrine\\Common\\": "lib/"
+            }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "BSD-3-Clause"
+            "MIT"
         ],
         "authors": [
             {
-                "name": "Sebastian Bergmann",
-                "email": "sb@sebastian-bergmann.de",
-                "role": "lead"
+                "name": "Jonathan Wage",
+                "email": "jonwage@gmail.com",
+                "homepage": "http://www.jwage.com/",
+                "role": "Creator"
+            },
+            {
+                "name": "Guilherme Blanco",
+                "email": "guilhermeblanco@gmail.com",
+                "homepage": "http://www.instaclick.com"
+            },
+            {
+                "name": "Roman Borschel",
+                "email": "roman@code-factory.org"
+            },
+            {
+                "name": "Benjamin Eberlei",
+                "email": "kontakt@beberlei.de"
+            },
+            {
+                "name": "Johannes Schmitt",
+                "email": "schmittjoh@gmail.com",
+                "homepage": "https://github.com/schmittjoh",
+                "role": "Developer of wrapped JMSSerializerBundle"
             }
         ],
-        "description": "Mock Object library for PHPUnit",
-        "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
+        "description": "Common Library for Doctrine projects",
+        "homepage": "http://www.doctrine-project.org",
         "keywords": [
-            "mock",
-            "xunit"
+            "annotations",
+            "collections",
+            "eventmanager",
+            "persistence",
+            "spl"
         ]
     },
     {
-        "name": "phpunit/php-token-stream",
-        "version": "1.4.1",
-        "version_normalized": "1.4.1.0",
+        "name": "masterminds/html5",
+        "version": "2.1.0",
+        "version_normalized": "2.1.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-token-stream.git",
-            "reference": "eab81d02569310739373308137284e0158424330"
+            "url": "https://github.com/Masterminds/html5-php.git",
+            "reference": "a10f8d392e1aad0b500f7b440c8f0d3bc9189704"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330",
-            "reference": "eab81d02569310739373308137284e0158424330",
+            "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/a10f8d392e1aad0b500f7b440c8f0d3bc9189704",
+            "reference": "a10f8d392e1aad0b500f7b440c8f0d3bc9189704",
             "shasum": ""
         },
         "require": {
-            "ext-tokenizer": "*",
-            "php": ">=5.3.3"
+            "ext-libxml": "*",
+            "php": ">=5.3.0"
         },
         "require-dev": {
-            "phpunit/phpunit": "~4.2"
+            "phpunit/phpunit": "4.*",
+            "sami/sami": "~2.0",
+            "satooshi/php-coveralls": "0.6.*"
         },
-        "time": "2015-04-08 04:46:07",
+        "time": "2015-02-09 16:26:00",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.4-dev"
+                "dev-master": "2.1-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-4": {
+                "Masterminds\\": "src"
+            }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "BSD-3-Clause"
+            "MIT"
         ],
         "authors": [
             {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
+                "name": "Matt Butcher",
+                "email": "technosophos@gmail.com"
+            },
+            {
+                "name": "Asmir Mustafic",
+                "email": "goetas@gmail.com"
+            },
+            {
+                "name": "Matt Farina",
+                "email": "matt@mattfarina.com"
             }
         ],
-        "description": "Wrapper around PHP's tokenizer extension.",
-        "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+        "description": "An HTML5 parser and serializer.",
+        "homepage": "http://masterminds.github.io/html5-php",
         "keywords": [
-            "tokenizer"
+            "HTML5",
+            "dom",
+            "html",
+            "parser",
+            "querypath",
+            "serializer",
+            "xml"
         ]
     },
     {
-        "name": "phpunit/php-file-iterator",
-        "version": "1.4.0",
-        "version_normalized": "1.4.0.0",
+        "name": "zendframework/zend-stdlib",
+        "version": "2.4.0",
+        "version_normalized": "2.4.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-            "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb"
+            "url": "https://github.com/zendframework/zend-stdlib.git",
+            "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb",
-            "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb",
+            "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cf05c5ba75606e47ffee91cedc72778da46f74c3",
+            "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
+            "php": ">=5.3.23"
+        },
+        "require-dev": {
+            "zendframework/zend-eventmanager": "self.version",
+            "zendframework/zend-filter": "self.version",
+            "zendframework/zend-serializer": "self.version",
+            "zendframework/zend-servicemanager": "self.version"
+        },
+        "suggest": {
+            "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
+            "zendframework/zend-filter": "To support naming strategy hydrator usage",
+            "zendframework/zend-serializer": "Zend\\Serializer component",
+            "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
         },
-        "time": "2015-04-02 05:19:05",
+        "time": "2015-04-01 18:09:29",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.4.x-dev"
+                "dev-master": "2.3-dev",
+                "dev-develop": "2.4-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-4": {
+                "Zend\\Stdlib\\": ""
+            }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
             "BSD-3-Clause"
         ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sb@sebastian-bergmann.de",
-                "role": "lead"
-            }
-        ],
-        "description": "FilterIterator implementation that filters files based on a list of suffixes.",
-        "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+        "homepage": "https://github.com/zendframework/zf2",
         "keywords": [
-            "filesystem",
-            "iterator"
+            "stdlib",
+            "zf2"
         ]
     },
     {
-        "name": "phpunit/php-code-coverage",
-        "version": "2.0.16",
-        "version_normalized": "2.0.16.0",
+        "name": "zendframework/zend-escaper",
+        "version": "2.4.0",
+        "version_normalized": "2.4.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-            "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c"
+            "url": "https://github.com/zendframework/zend-escaper.git",
+            "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/934fd03eb6840508231a7f73eb8940cf32c3b66c",
-            "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c",
+            "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/15e5769e4fcdb4bf07ebd76500810e7070e23a97",
+            "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3",
-            "phpunit/php-file-iterator": "~1.3",
-            "phpunit/php-text-template": "~1.2",
-            "phpunit/php-token-stream": "~1.3",
-            "sebastian/environment": "~1.0",
-            "sebastian/version": "~1.0"
-        },
-        "require-dev": {
-            "ext-xdebug": ">=2.1.4",
-            "phpunit/phpunit": "~4"
-        },
-        "suggest": {
-            "ext-dom": "*",
-            "ext-xdebug": ">=2.2.1",
-            "ext-xmlwriter": "*"
+            "php": ">=5.3.23"
         },
-        "time": "2015-04-11 04:35:00",
+        "time": "2015-04-01 18:02:07",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "2.0.x-dev"
+                "dev-master": "2.3-dev",
+                "dev-develop": "2.4-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-4": {
+                "Zend\\Escaper\\": ""
+            }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
             "BSD-3-Clause"
         ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sb@sebastian-bergmann.de",
-                "role": "lead"
-            }
-        ],
-        "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
-        "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+        "homepage": "https://github.com/zendframework/zf2",
         "keywords": [
-            "coverage",
-            "testing",
-            "xunit"
+            "escaper",
+            "zf2"
         ]
     },
     {
-        "name": "phpunit/phpunit",
-        "version": "4.6.4",
-        "version_normalized": "4.6.4.0",
+        "name": "zendframework/zend-feed",
+        "version": "2.4.0",
+        "version_normalized": "2.4.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/sebastianbergmann/phpunit.git",
-            "reference": "163232991e652e6efed2f8470326fffa61e848e2"
+            "url": "https://github.com/zendframework/zend-feed.git",
+            "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/163232991e652e6efed2f8470326fffa61e848e2",
-            "reference": "163232991e652e6efed2f8470326fffa61e848e2",
+            "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0f59e560364f1f1fcb09a96874328ae3ff690db2",
+            "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5",
             "shasum": ""
         },
         "require": {
-            "ext-dom": "*",
-            "ext-json": "*",
-            "ext-pcre": "*",
-            "ext-reflection": "*",
-            "ext-spl": "*",
-            "php": ">=5.3.3",
-            "phpspec/prophecy": "~1.3,>=1.3.1",
-            "phpunit/php-code-coverage": "~2.0,>=2.0.11",
-            "phpunit/php-file-iterator": "~1.4",
-            "phpunit/php-text-template": "~1.2",
-            "phpunit/php-timer": "~1.0",
-            "phpunit/phpunit-mock-objects": "~2.3",
-            "sebastian/comparator": "~1.1",
-            "sebastian/diff": "~1.2",
-            "sebastian/environment": "~1.2",
-            "sebastian/exporter": "~1.2",
-            "sebastian/global-state": "~1.0",
-            "sebastian/version": "~1.0",
-            "symfony/yaml": "~2.1|~3.0"
+            "php": ">=5.3.23",
+            "zendframework/zend-escaper": "self.version",
+            "zendframework/zend-stdlib": "self.version"
+        },
+        "require-dev": {
+            "zendframework/zend-cache": "self.version",
+            "zendframework/zend-db": "self.version",
+            "zendframework/zend-http": "self.version",
+            "zendframework/zend-servicemanager": "self.version",
+            "zendframework/zend-validator": "self.version"
         },
         "suggest": {
-            "phpunit/php-invoker": "~1.1"
+            "zendframework/zend-cache": "Zend\\Cache component",
+            "zendframework/zend-db": "Zend\\Db component",
+            "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader",
+            "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations",
+            "zendframework/zend-validator": "Zend\\Validator component"
         },
-        "time": "2015-04-11 05:23:21",
-        "bin": [
-            "phpunit"
-        ],
+        "time": "2015-04-01 18:09:25",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "4.6.x-dev"
+                "dev-master": "2.3-dev",
+                "dev-develop": "2.4-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "classmap": [
-                "src/"
-            ]
+            "psr-4": {
+                "Zend\\Feed\\": ""
+            }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
             "BSD-3-Clause"
         ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de",
-                "role": "lead"
-            }
-        ],
-        "description": "The PHP Unit Testing framework.",
-        "homepage": "https://phpunit.de/",
+        "description": "provides functionality for consuming RSS and Atom feeds",
+        "homepage": "https://github.com/zendframework/zf2",
         "keywords": [
-            "phpunit",
-            "testing",
-            "xunit"
+            "feed",
+            "zf2"
         ]
     },
     {
-        "name": "mikey179/vfsStream",
-        "version": "v1.5.0",
-        "version_normalized": "1.5.0.0",
+        "name": "twig/twig",
+        "version": "v1.18.1",
+        "version_normalized": "1.18.1.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/mikey179/vfsStream.git",
-            "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a"
+            "url": "https://github.com/twigphp/Twig.git",
+            "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a",
-            "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a",
+            "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f",
+            "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.0"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.5"
+            "php": ">=5.2.7"
         },
-        "time": "2015-03-29 11:19:49",
+        "time": "2015-04-19 08:30:27",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.5.x-dev"
+                "dev-master": "1.18-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "org\\bovigo\\vfs\\": "src/main/php"
+                "Twig_": "lib/"
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -1946,13 +829,27 @@
         ],
         "authors": [
             {
-                "name": "Frank Kleine",
-                "homepage": "http://frankkleine.de/",
-                "role": "Developer"
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com",
+                "homepage": "http://fabien.potencier.org",
+                "role": "Lead Developer"
+            },
+            {
+                "name": "Armin Ronacher",
+                "email": "armin.ronacher@active-4.com",
+                "role": "Project Founder"
+            },
+            {
+                "name": "Twig Team",
+                "homepage": "http://twig.sensiolabs.org/contributors",
+                "role": "Contributors"
             }
         ],
-        "description": "Virtual file system to mock the real file system in unit tests.",
-        "homepage": "http://vfs.bovigo.org/"
+        "description": "Twig, the flexible, fast, and secure template language for PHP",
+        "homepage": "http://twig.sensiolabs.org",
+        "keywords": [
+            "templating"
+        ]
     },
     {
         "name": "doctrine/lexer",
@@ -3265,7 +2162,7 @@
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1879fbe853b0c64d109e369c7aeff09849e62d1e",
+            "url": "https://api.github.com/repos/guzzle/guzzle/zipball/74203189513211cc9fcd835c8fba50db7a6af67a",
             "reference": "1879fbe853b0c64d109e369c7aeff09849e62d1e",
             "shasum": ""
         },
@@ -3370,60 +2267,6 @@
         ]
     },
     {
-        "name": "behat/mink-goutte-driver",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/minkphp/MinkGoutteDriver.git",
-            "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/cc5ce119b5a8e06662f634b35967aff0b0c7dfdd",
-            "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd",
-            "shasum": ""
-        },
-        "require": {
-            "behat/mink": "~1.6@dev",
-            "behat/mink-browserkit-driver": "~1.2@dev",
-            "fabpot/goutte": "~1.0.4|~2.0|~3.1",
-            "php": ">=5.3.1"
-        },
-        "time": "2015-06-27 00:15:11",
-        "type": "mink-driver",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.1.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Behat\\Mink\\Driver\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Konstantin Kudryashov",
-                "email": "ever.zet@gmail.com",
-                "homepage": "http://everzet.com"
-            }
-        ],
-        "description": "Goutte driver for Mink framework",
-        "homepage": "http://mink.behat.org/",
-        "keywords": [
-            "browser",
-            "goutte",
-            "headless",
-            "testing"
-        ]
-    },
-    {
         "name": "egulias/email-validator",
         "version": "1.2.9",
         "version_normalized": "1.2.9.0",
diff --git a/core/vendor/doctrine/instantiator/.gitignore b/core/vendor/doctrine/instantiator/.gitignore
deleted file mode 100644
index 9a63932..0000000
--- a/core/vendor/doctrine/instantiator/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-phpunit.xml
-composer.lock
-build
-vendor
-coverage.clover
\ No newline at end of file
diff --git a/core/vendor/doctrine/instantiator/.scrutinizer.yml b/core/vendor/doctrine/instantiator/.scrutinizer.yml
deleted file mode 100644
index aad5e40..0000000
--- a/core/vendor/doctrine/instantiator/.scrutinizer.yml
+++ /dev/null
@@ -1,46 +0,0 @@
-before_commands:
-    - "composer install --prefer-source"
-
-tools:
-    external_code_coverage:
-        timeout: 600
-    php_code_coverage:
-        enabled: true
-        test_command: ./vendor/bin/phpunit
-    php_code_sniffer:
-        enabled: true
-        config:
-            standard: PSR2
-        filter:
-            paths: ["src/*", "tests/*"]
-    php_cpd:
-        enabled: true
-        excluded_dirs: ["build/*", "tests", "vendor"]
-    php_cs_fixer:
-        enabled: true
-        config:
-            level: all
-        filter:
-            paths: ["src/*", "tests/*"]
-    php_loc:
-        enabled: true
-        excluded_dirs: ["build", "tests", "vendor"]
-    php_mess_detector:
-        enabled: true
-        config:
-            ruleset: phpmd.xml.dist
-            design_rules: { eval_expression: false }
-        filter:
-            paths: ["src/*"]
-    php_pdepend:
-        enabled: true
-        excluded_dirs: ["build", "tests", "vendor"]
-    php_analyzer:
-        enabled: true
-        filter:
-            paths: ["src/*", "tests/*"]
-    php_hhvm:
-        enabled: true
-        filter:
-            paths: ["src/*", "tests/*"]
-    sensiolabs_security_checker: true
diff --git a/core/vendor/doctrine/instantiator/.travis.install.sh b/core/vendor/doctrine/instantiator/.travis.install.sh
deleted file mode 100755
index e4f1cb2..0000000
--- a/core/vendor/doctrine/instantiator/.travis.install.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-set -x
-if [ "$TRAVIS_PHP_VERSION" = 'hhvm' ] || [ "$TRAVIS_PHP_VERSION" = 'hhvm-nightly' ] ; then
-    curl -sS https://getcomposer.org/installer > composer-installer.php
-    hhvm composer-installer.php
-    hhvm -v ResourceLimit.SocketDefaultTimeout=30 -v Http.SlowQueryThreshold=30000 composer.phar update --prefer-source
-elif [ "$TRAVIS_PHP_VERSION" = '5.3.3' ] ; then
-    composer self-update
-    composer update --prefer-source --no-dev
-    composer dump-autoload
-else
-    composer self-update
-    composer update --prefer-source
-fi
diff --git a/core/vendor/doctrine/instantiator/.travis.yml b/core/vendor/doctrine/instantiator/.travis.yml
deleted file mode 100644
index 0f686a9..0000000
--- a/core/vendor/doctrine/instantiator/.travis.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-language: php
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-  - hhvm-nightly
-
-before_script:
-  - ./.travis.install.sh
-
-script:
-  - sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.3.3' ]; then phpunit; fi"
-  - sh -c "if [ '$TRAVIS_PHP_VERSION' != '5.3.3' ]; then ./vendor/bin/phpunit; fi"
-  - sh -c "if [ '$TRAVIS_PHP_VERSION' != '5.3.3' ]; then ./vendor/bin/phpcs --standard=PSR2 ./src/ ./tests/; fi"
-  - sh -c "if [[ '$TRAVIS_PHP_VERSION' != '5.3.3' && '$TRAVIS_PHP_VERSION' != '5.4.29'  && '$TRAVIS_PHP_VERSION' != '5.5.13' ]]; then php -n ./vendor/bin/athletic -p ./tests/DoctrineTest/InstantiatorPerformance/ -f GroupedFormatter; fi"
-
-after_script:
-  - sh -c "if [ '$TRAVIS_PHP_VERSION' != '5.3.3' ]; then wget https://scrutinizer-ci.com/ocular.phar; php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi"
-
-matrix:
-  allow_failures:
-    - php: hhvm-nightly
diff --git a/core/vendor/doctrine/instantiator/CONTRIBUTING.md b/core/vendor/doctrine/instantiator/CONTRIBUTING.md
deleted file mode 100644
index 75b84b2..0000000
--- a/core/vendor/doctrine/instantiator/CONTRIBUTING.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributing
-
- * Coding standard for the project is [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)
- * The project will follow strict [object calisthenics](http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php)
- * Any contribution must provide tests for additional introduced conditions
- * Any un-confirmed issue needs a failing test case before being accepted
- * Pull requests must be sent from a new hotfix/feature branch, not from `master`.
-
-## Installation
-
-To install the project and run the tests, you need to clone it first:
-
-```sh
-$ git clone git://github.com/doctrine/instantiator.git
-```
-
-You will then need to run a composer installation:
-
-```sh
-$ cd Instantiator
-$ curl -s https://getcomposer.org/installer | php
-$ php composer.phar update
-```
-
-## Testing
-
-The PHPUnit version to be used is the one installed as a dev- dependency via composer:
-
-```sh
-$ ./vendor/bin/phpunit
-```
-
-Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement 
-won't be merged.
-
diff --git a/core/vendor/doctrine/instantiator/LICENSE b/core/vendor/doctrine/instantiator/LICENSE
deleted file mode 100644
index 4d983d1..0000000
--- a/core/vendor/doctrine/instantiator/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2014 Doctrine Project
-
-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/core/vendor/doctrine/instantiator/README.md b/core/vendor/doctrine/instantiator/README.md
deleted file mode 100644
index 393ec7c..0000000
--- a/core/vendor/doctrine/instantiator/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# Instantiator
-
-This library provides a way of avoiding usage of constructors when instantiating PHP classes.
-
-[![Build Status](https://travis-ci.org/doctrine/instantiator.svg?branch=master)](https://travis-ci.org/doctrine/instantiator)
-[![Code Coverage](https://scrutinizer-ci.com/g/doctrine/instantiator/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master)
-[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/doctrine/instantiator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master)
-[![Dependency Status](https://www.versioneye.com/package/php--doctrine--instantiator/badge.svg)](https://www.versioneye.com/package/php--doctrine--instantiator)
-[![HHVM Status](http://hhvm.h4cc.de/badge/doctrine/instantiator.png)](http://hhvm.h4cc.de/package/doctrine/instantiator)
-
-[![Latest Stable Version](https://poser.pugx.org/doctrine/instantiator/v/stable.png)](https://packagist.org/packages/doctrine/instantiator)
-[![Latest Unstable Version](https://poser.pugx.org/doctrine/instantiator/v/unstable.png)](https://packagist.org/packages/doctrine/instantiator)
-
-## Installation
-
-The suggested installation method is via [composer](https://getcomposer.org/):
-
-```sh
-php composer.phar require "doctrine/instantiator:~1.0.3"
-```
-
-## Usage
-
-The instantiator is able to create new instances of any class without using the constructor or any API of the class
-itself:
-
-```php
-$instantiator = new \Doctrine\Instantiator\Instantiator();
-
-$instance = $instantiator->instantiate('My\\ClassName\\Here');
-```
-
-## Contributing
-
-Please read the [CONTRIBUTING.md](CONTRIBUTING.md) contents if you wish to help out!
-
-## Credits
-
-This library was migrated from [ocramius/instantiator](https://github.com/Ocramius/Instantiator), which
-has been donated to the doctrine organization, and which is now deprecated in favour of this package.
diff --git a/core/vendor/doctrine/instantiator/composer.json b/core/vendor/doctrine/instantiator/composer.json
deleted file mode 100644
index 89d59f6..0000000
--- a/core/vendor/doctrine/instantiator/composer.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-    "name":              "doctrine/instantiator",
-    "description":       "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
-    "type":              "library",
-    "license":           "MIT",
-    "homepage":          "https://github.com/doctrine/instantiator",
-    "keywords":          [
-        "instantiate",
-        "constructor"
-    ],
-    "authors": [
-        {
-            "name":     "Marco Pivetta",
-            "email":    "ocramius@gmail.com",
-            "homepage": "http://ocramius.github.com/"
-        }
-    ],
-    "require": {
-        "php": ">=5.3,<8.0-DEV"
-    },
-    "require-dev": {
-        "ext-phar":                  "*",
-        "ext-pdo":                   "*",
-        "phpunit/phpunit":           "~4.0",
-        "squizlabs/php_codesniffer": "2.0.*@ALPHA",
-        "athletic/athletic":         "~0.1.8"
-    },
-    "autoload": {
-        "psr-0": {
-            "Doctrine\\Instantiator\\": "src"
-        }
-    },
-    "autoload-dev": {
-        "psr-0": {
-            "DoctrineTest\\InstantiatorPerformance\\": "tests",
-            "DoctrineTest\\InstantiatorTest\\": "tests",
-            "DoctrineTest\\InstantiatorTestAsset\\": "tests"
-        }
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.0.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/phpmd.xml.dist b/core/vendor/doctrine/instantiator/phpmd.xml.dist
deleted file mode 100644
index 8254105..0000000
--- a/core/vendor/doctrine/instantiator/phpmd.xml.dist
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<ruleset
-    name="Instantiator rules"
-    xmlns="http://pmd.sf.net/ruleset/1.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
-    xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"
->
-    <rule ref="rulesets/cleancode.xml">
-        <!-- static access is used for caching purposes -->
-        <exclude name="StaticAccess"/>
-    </rule>
-    <rule ref="rulesets/codesize.xml"/>
-    <rule ref="rulesets/controversial.xml"/>
-    <rule ref="rulesets/design.xml"/>
-    <rule ref="rulesets/naming.xml"/>
-    <rule ref="rulesets/unusedcode.xml"/>
-    <rule
-        name="NPathComplexity"
-        message="The {0} {1}() has an NPath complexity of {2}. The configured NPath complexity threshold is {3}."
-        class="PHP_PMD_Rule_Design_NpathComplexity"
-    >
-        <properties>
-            <property name="minimum" description="The npath reporting threshold" value="10"/>
-        </properties>
-    </rule>
-</ruleset>
diff --git a/core/vendor/doctrine/instantiator/phpunit.xml.dist b/core/vendor/doctrine/instantiator/phpunit.xml.dist
deleted file mode 100644
index 178ba17..0000000
--- a/core/vendor/doctrine/instantiator/phpunit.xml.dist
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<phpunit
-    bootstrap="./vendor/autoload.php"
-    colors="true"
-    convertErrorsToExceptions="true"
-    convertNoticesToExceptions="true"
-    convertWarningsToExceptions="true"
-    verbose="true"
-    stopOnFailure="false"
-    processIsolation="false"
-    backupGlobals="false"
-    syntaxCheck="true"
->
-    <testsuite name="Doctrine\Instantiator tests">
-        <directory>./tests/DoctrineTest/InstantiatorTest</directory>
-    </testsuite>
-    <filter>
-        <whitelist addUncoveredFilesFromWhitelist="true">
-            <directory suffix=".php">./src</directory>
-        </whitelist>
-    </filter>
-    <logging>
-        <log type="coverage-clover" target="./coverage.clover"/>
-    </logging>
-</phpunit>
diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php b/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
deleted file mode 100644
index 3065375..0000000
--- a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace Doctrine\Instantiator\Exception;
-
-/**
- * Base exception marker interface for the instantiator component
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-interface ExceptionInterface
-{
-}
diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php b/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php
deleted file mode 100644
index ea8d28c..0000000
--- a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace Doctrine\Instantiator\Exception;
-
-use InvalidArgumentException as BaseInvalidArgumentException;
-use ReflectionClass;
-
-/**
- * Exception for invalid arguments provided to the instantiator
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class InvalidArgumentException extends BaseInvalidArgumentException implements ExceptionInterface
-{
-    /**
-     * @param string $className
-     *
-     * @return self
-     */
-    public static function fromNonExistingClass($className)
-    {
-        if (interface_exists($className)) {
-            return new self(sprintf('The provided type "%s" is an interface, and can not be instantiated', $className));
-        }
-
-        if (PHP_VERSION_ID >= 50400 && trait_exists($className)) {
-            return new self(sprintf('The provided type "%s" is a trait, and can not be instantiated', $className));
-        }
-
-        return new self(sprintf('The provided class "%s" does not exist', $className));
-    }
-
-    /**
-     * @param ReflectionClass $reflectionClass
-     *
-     * @return self
-     */
-    public static function fromAbstractClass(ReflectionClass $reflectionClass)
-    {
-        return new self(sprintf(
-            'The provided class "%s" is abstract, and can not be instantiated',
-            $reflectionClass->getName()
-        ));
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php b/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
deleted file mode 100644
index 1681e56..0000000
--- a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace Doctrine\Instantiator\Exception;
-
-use Exception;
-use ReflectionClass;
-use UnexpectedValueException as BaseUnexpectedValueException;
-
-/**
- * Exception for given parameters causing invalid/unexpected state on instantiation
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class UnexpectedValueException extends BaseUnexpectedValueException implements ExceptionInterface
-{
-    /**
-     * @param ReflectionClass $reflectionClass
-     * @param Exception       $exception
-     *
-     * @return self
-     */
-    public static function fromSerializationTriggeredException(ReflectionClass $reflectionClass, Exception $exception)
-    {
-        return new self(
-            sprintf(
-                'An exception was raised while trying to instantiate an instance of "%s" via un-serialization',
-                $reflectionClass->getName()
-            ),
-            0,
-            $exception
-        );
-    }
-
-    /**
-     * @param ReflectionClass $reflectionClass
-     * @param string          $errorString
-     * @param int             $errorCode
-     * @param string          $errorFile
-     * @param int             $errorLine
-     *
-     * @return UnexpectedValueException
-     */
-    public static function fromUncleanUnSerialization(
-        ReflectionClass $reflectionClass,
-        $errorString,
-        $errorCode,
-        $errorFile,
-        $errorLine
-    ) {
-        return new self(
-            sprintf(
-                'Could not produce an instance of "%s" via un-serialization, since an error was triggered '
-                . 'in file "%s" at line "%d"',
-                $reflectionClass->getName(),
-                $errorFile,
-                $errorLine
-            ),
-            0,
-            new Exception($errorString, $errorCode)
-        );
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php b/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
deleted file mode 100644
index 98868cf..0000000
--- a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
+++ /dev/null
@@ -1,254 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace Doctrine\Instantiator;
-
-use Closure;
-use Doctrine\Instantiator\Exception\InvalidArgumentException;
-use Doctrine\Instantiator\Exception\UnexpectedValueException;
-use Exception;
-use ReflectionClass;
-
-/**
- * {@inheritDoc}
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-final class Instantiator implements InstantiatorInterface
-{
-    /**
-     * Markers used internally by PHP to define whether {@see \unserialize} should invoke
-     * the method {@see \Serializable::unserialize()} when dealing with classes implementing
-     * the {@see \Serializable} interface.
-     */
-    const SERIALIZATION_FORMAT_USE_UNSERIALIZER   = 'C';
-    const SERIALIZATION_FORMAT_AVOID_UNSERIALIZER = 'O';
-
-    /**
-     * @var \Closure[] of {@see \Closure} instances used to instantiate specific classes
-     */
-    private static $cachedInstantiators = array();
-
-    /**
-     * @var object[] of objects that can directly be cloned
-     */
-    private static $cachedCloneables = array();
-
-    /**
-     * {@inheritDoc}
-     */
-    public function instantiate($className)
-    {
-        if (isset(self::$cachedCloneables[$className])) {
-            return clone self::$cachedCloneables[$className];
-        }
-
-        if (isset(self::$cachedInstantiators[$className])) {
-            $factory = self::$cachedInstantiators[$className];
-
-            return $factory();
-        }
-
-        $factory    = self::$cachedInstantiators[$className] = $this->buildFactory($className);
-        $instance   = $factory();
-        $reflection = new ReflectionClass($instance);
-
-        if ($this->isSafeToClone($reflection)) {
-            self::$cachedCloneables[$className] = clone $instance;
-        }
-
-        return $instance;
-    }
-
-    /**
-     * @internal
-     * @private
-     *
-     * Builds a {@see \Closure} capable of instantiating the given $className without
-     * invoking its constructor.
-     * This method is only exposed as public because of PHP 5.3 compatibility. Do not
-     * use this method in your own code
-     *
-     * @param string $className
-     *
-     * @return Closure
-     */
-    public function buildFactory($className)
-    {
-        $reflectionClass = $this->getReflectionClass($className);
-
-        if ($this->isInstantiableViaReflection($reflectionClass)) {
-            return function () use ($reflectionClass) {
-                return $reflectionClass->newInstanceWithoutConstructor();
-            };
-        }
-
-        $serializedString = sprintf(
-            '%s:%d:"%s":0:{}',
-            $this->getSerializationFormat($reflectionClass),
-            strlen($className),
-            $className
-        );
-
-        $this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString);
-
-        return function () use ($serializedString) {
-            return unserialize($serializedString);
-        };
-    }
-
-    /**
-     * @param string $className
-     *
-     * @return ReflectionClass
-     *
-     * @throws InvalidArgumentException
-     */
-    private function getReflectionClass($className)
-    {
-        if (! class_exists($className)) {
-            throw InvalidArgumentException::fromNonExistingClass($className);
-        }
-
-        $reflection = new ReflectionClass($className);
-
-        if ($reflection->isAbstract()) {
-            throw InvalidArgumentException::fromAbstractClass($reflection);
-        }
-
-        return $reflection;
-    }
-
-    /**
-     * @param ReflectionClass $reflectionClass
-     * @param string          $serializedString
-     *
-     * @throws UnexpectedValueException
-     *
-     * @return void
-     */
-    private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, $serializedString)
-    {
-        set_error_handler(function ($code, $message, $file, $line) use ($reflectionClass, & $error) {
-            $error = UnexpectedValueException::fromUncleanUnSerialization(
-                $reflectionClass,
-                $message,
-                $code,
-                $file,
-                $line
-            );
-        });
-
-        try {
-            unserialize($serializedString);
-        } catch (Exception $exception) {
-            restore_error_handler();
-
-            throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception);
-        }
-
-        restore_error_handler();
-
-        if ($error) {
-            throw $error;
-        }
-    }
-
-    /**
-     * @param ReflectionClass $reflectionClass
-     *
-     * @return bool
-     */
-    private function isInstantiableViaReflection(ReflectionClass $reflectionClass)
-    {
-        if (\PHP_VERSION_ID >= 50600) {
-            return ! ($reflectionClass->isInternal() && $reflectionClass->isFinal());
-        }
-
-        return \PHP_VERSION_ID >= 50400 && ! $this->hasInternalAncestors($reflectionClass);
-    }
-
-    /**
-     * Verifies whether the given class is to be considered internal
-     *
-     * @param ReflectionClass $reflectionClass
-     *
-     * @return bool
-     */
-    private function hasInternalAncestors(ReflectionClass $reflectionClass)
-    {
-        do {
-            if ($reflectionClass->isInternal()) {
-                return true;
-            }
-        } while ($reflectionClass = $reflectionClass->getParentClass());
-
-        return false;
-    }
-
-    /**
-     * Verifies if the given PHP version implements the `Serializable` interface serialization
-     * with an incompatible serialization format. If that's the case, use serialization marker
-     * "C" instead of "O".
-     *
-     * @link http://news.php.net/php.internals/74654
-     *
-     * @param ReflectionClass $reflectionClass
-     *
-     * @return string the serialization format marker, either self::SERIALIZATION_FORMAT_USE_UNSERIALIZER
-     *                or self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER
-     */
-    private function getSerializationFormat(ReflectionClass $reflectionClass)
-    {
-        if ($this->isPhpVersionWithBrokenSerializationFormat()
-            && $reflectionClass->implementsInterface('Serializable')
-        ) {
-            return self::SERIALIZATION_FORMAT_USE_UNSERIALIZER;
-        }
-
-        return self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER;
-    }
-
-    /**
-     * Checks whether the current PHP runtime uses an incompatible serialization format
-     *
-     * @return bool
-     */
-    private function isPhpVersionWithBrokenSerializationFormat()
-    {
-        return PHP_VERSION_ID === 50429 || PHP_VERSION_ID === 50513;
-    }
-
-    /**
-     * Checks if a class is cloneable
-     *
-     * @param ReflectionClass $reflection
-     *
-     * @return bool
-     */
-    private function isSafeToClone(ReflectionClass $reflection)
-    {
-        if (method_exists($reflection, 'isCloneable') && ! $reflection->isCloneable()) {
-            return false;
-        }
-
-        // not cloneable if it implements `__clone`, as we want to avoid calling it
-        return ! $reflection->hasMethod('__clone');
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php b/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
deleted file mode 100644
index b665bea..0000000
--- a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace Doctrine\Instantiator;
-
-/**
- * Instantiator provides utility methods to build objects without invoking their constructors
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-interface InstantiatorInterface
-{
-    /**
-     * @param string $className
-     *
-     * @return object
-     *
-     * @throws \Doctrine\Instantiator\Exception\ExceptionInterface
-     */
-    public function instantiate($className);
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php
deleted file mode 100644
index 3e8fc6f..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorPerformance;
-
-use Athletic\AthleticEvent;
-use Doctrine\Instantiator\Instantiator;
-
-/**
- * Performance tests for {@see \Doctrine\Instantiator\Instantiator}
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class InstantiatorPerformanceEvent extends AthleticEvent
-{
-    /**
-     * @var \Doctrine\Instantiator\Instantiator
-     */
-    private $instantiator;
-
-    /**
-     * {@inheritDoc}
-     */
-    protected function setUp()
-    {
-        $this->instantiator = new Instantiator();
-
-        $this->instantiator->instantiate(__CLASS__);
-        $this->instantiator->instantiate('ArrayObject');
-        $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SimpleSerializableAsset');
-        $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset');
-        $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\UnCloneableAsset');
-    }
-
-    /**
-     * @iterations 20000
-     * @baseline
-     * @group instantiation
-     */
-    public function testInstantiateSelf()
-    {
-        $this->instantiator->instantiate(__CLASS__);
-    }
-
-    /**
-     * @iterations 20000
-     * @group instantiation
-     */
-    public function testInstantiateInternalClass()
-    {
-        $this->instantiator->instantiate('ArrayObject');
-    }
-
-    /**
-     * @iterations 20000
-     * @group instantiation
-     */
-    public function testInstantiateSimpleSerializableAssetClass()
-    {
-        $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SimpleSerializableAsset');
-    }
-
-    /**
-     * @iterations 20000
-     * @group instantiation
-     */
-    public function testInstantiateSerializableArrayObjectAsset()
-    {
-        $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset');
-    }
-
-    /**
-     * @iterations 20000
-     * @group instantiation
-     */
-    public function testInstantiateUnCloneableAsset()
-    {
-        $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\UnCloneableAsset');
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php
deleted file mode 100644
index 39d9b94..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTest\Exception;
-
-use Doctrine\Instantiator\Exception\InvalidArgumentException;
-use PHPUnit_Framework_TestCase;
-use ReflectionClass;
-
-/**
- * Tests for {@see \Doctrine\Instantiator\Exception\InvalidArgumentException}
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- *
- * @covers \Doctrine\Instantiator\Exception\InvalidArgumentException
- */
-class InvalidArgumentExceptionTest extends PHPUnit_Framework_TestCase
-{
-    public function testFromNonExistingTypeWithNonExistingClass()
-    {
-        $className = __CLASS__ . uniqid();
-        $exception = InvalidArgumentException::fromNonExistingClass($className);
-
-        $this->assertInstanceOf('Doctrine\\Instantiator\\Exception\\InvalidArgumentException', $exception);
-        $this->assertSame('The provided class "' . $className . '" does not exist', $exception->getMessage());
-    }
-
-    public function testFromNonExistingTypeWithTrait()
-    {
-        if (PHP_VERSION_ID < 50400) {
-            $this->markTestSkipped('Need at least PHP 5.4.0, as this test requires traits support to run');
-        }
-
-        $exception = InvalidArgumentException::fromNonExistingClass(
-            'DoctrineTest\\InstantiatorTestAsset\\SimpleTraitAsset'
-        );
-
-        $this->assertSame(
-            'The provided type "DoctrineTest\\InstantiatorTestAsset\\SimpleTraitAsset" is a trait, '
-            . 'and can not be instantiated',
-            $exception->getMessage()
-        );
-    }
-
-    public function testFromNonExistingTypeWithInterface()
-    {
-        $exception = InvalidArgumentException::fromNonExistingClass('Doctrine\\Instantiator\\InstantiatorInterface');
-
-        $this->assertSame(
-            'The provided type "Doctrine\\Instantiator\\InstantiatorInterface" is an interface, '
-            . 'and can not be instantiated',
-            $exception->getMessage()
-        );
-    }
-
-    public function testFromAbstractClass()
-    {
-        $reflection = new ReflectionClass('DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset');
-        $exception  = InvalidArgumentException::fromAbstractClass($reflection);
-
-        $this->assertSame(
-            'The provided class "DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset" is abstract, '
-            . 'and can not be instantiated',
-            $exception->getMessage()
-        );
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php
deleted file mode 100644
index 84154e7..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTest\Exception;
-
-use Doctrine\Instantiator\Exception\UnexpectedValueException;
-use Exception;
-use PHPUnit_Framework_TestCase;
-use ReflectionClass;
-
-/**
- * Tests for {@see \Doctrine\Instantiator\Exception\UnexpectedValueException}
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- *
- * @covers \Doctrine\Instantiator\Exception\UnexpectedValueException
- */
-class UnexpectedValueExceptionTest extends PHPUnit_Framework_TestCase
-{
-    public function testFromSerializationTriggeredException()
-    {
-        $reflectionClass = new ReflectionClass($this);
-        $previous        = new Exception();
-        $exception       = UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $previous);
-
-        $this->assertInstanceOf('Doctrine\\Instantiator\\Exception\\UnexpectedValueException', $exception);
-        $this->assertSame($previous, $exception->getPrevious());
-        $this->assertSame(
-            'An exception was raised while trying to instantiate an instance of "'
-            . __CLASS__  . '" via un-serialization',
-            $exception->getMessage()
-        );
-    }
-
-    public function testFromUncleanUnSerialization()
-    {
-        $reflection = new ReflectionClass('DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset');
-        $exception  = UnexpectedValueException::fromUncleanUnSerialization($reflection, 'foo', 123, 'bar', 456);
-
-        $this->assertInstanceOf('Doctrine\\Instantiator\\Exception\\UnexpectedValueException', $exception);
-        $this->assertSame(
-            'Could not produce an instance of "DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset" '
-            . 'via un-serialization, since an error was triggered in file "bar" at line "456"',
-            $exception->getMessage()
-        );
-
-        $previous = $exception->getPrevious();
-
-        $this->assertInstanceOf('Exception', $previous);
-        $this->assertSame('foo', $previous->getMessage());
-        $this->assertSame(123, $previous->getCode());
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php
deleted file mode 100644
index e7f6e94..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTest;
-
-use Doctrine\Instantiator\Exception\UnexpectedValueException;
-use Doctrine\Instantiator\Instantiator;
-use PHPUnit_Framework_TestCase;
-use ReflectionClass;
-
-/**
- * Tests for {@see \Doctrine\Instantiator\Instantiator}
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- *
- * @covers \Doctrine\Instantiator\Instantiator
- */
-class InstantiatorTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var Instantiator
-     */
-    private $instantiator;
-
-    /**
-     * {@inheritDoc}
-     */
-    protected function setUp()
-    {
-        $this->instantiator = new Instantiator();
-    }
-
-    /**
-     * @param string $className
-     *
-     * @dataProvider getInstantiableClasses
-     */
-    public function testCanInstantiate($className)
-    {
-        $this->assertInstanceOf($className, $this->instantiator->instantiate($className));
-    }
-
-    /**
-     * @param string $className
-     *
-     * @dataProvider getInstantiableClasses
-     */
-    public function testInstantiatesSeparateInstances($className)
-    {
-        $instance1 = $this->instantiator->instantiate($className);
-        $instance2 = $this->instantiator->instantiate($className);
-
-        $this->assertEquals($instance1, $instance2);
-        $this->assertNotSame($instance1, $instance2);
-    }
-
-    public function testExceptionOnUnSerializationException()
-    {
-        if (defined('HHVM_VERSION')) {
-            $this->markTestSkipped(
-                'As of facebook/hhvm#3432, HHVM has no PDORow, and therefore '
-                . ' no internal final classes that cannot be instantiated'
-            );
-        }
-
-        $className = 'DoctrineTest\\InstantiatorTestAsset\\UnserializeExceptionArrayObjectAsset';
-
-        if (\PHP_VERSION_ID >= 50600) {
-            $className = 'PDORow';
-        }
-
-        if (\PHP_VERSION_ID === 50429 || \PHP_VERSION_ID === 50513) {
-            $className = 'DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset';
-        }
-
-        $this->setExpectedException('Doctrine\\Instantiator\\Exception\\UnexpectedValueException');
-
-        $this->instantiator->instantiate($className);
-    }
-
-    public function testNoticeOnUnSerializationException()
-    {
-        if (\PHP_VERSION_ID >= 50600) {
-            $this->markTestSkipped(
-                'PHP 5.6 supports `ReflectionClass#newInstanceWithoutConstructor()` for some internal classes'
-            );
-        }
-
-        try {
-            $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\WakeUpNoticesAsset');
-
-            $this->fail('No exception was raised');
-        } catch (UnexpectedValueException $exception) {
-            $wakeUpNoticesReflection = new ReflectionClass('DoctrineTest\\InstantiatorTestAsset\\WakeUpNoticesAsset');
-            $previous                = $exception->getPrevious();
-
-            $this->assertInstanceOf('Exception', $previous);
-
-            // in PHP 5.4.29 and PHP 5.5.13, this case is not a notice, but an exception being thrown
-            if (! (\PHP_VERSION_ID === 50429 || \PHP_VERSION_ID === 50513)) {
-                $this->assertSame(
-                    'Could not produce an instance of "DoctrineTest\\InstantiatorTestAsset\WakeUpNoticesAsset" '
-                    . 'via un-serialization, since an error was triggered in file "'
-                    . $wakeUpNoticesReflection->getFileName() . '" at line "36"',
-                    $exception->getMessage()
-                );
-
-                $this->assertSame('Something went bananas while un-serializing this instance', $previous->getMessage());
-                $this->assertSame(\E_USER_NOTICE, $previous->getCode());
-            }
-        }
-    }
-
-    /**
-     * @param string $invalidClassName
-     *
-     * @dataProvider getInvalidClassNames
-     */
-    public function testInstantiationFromNonExistingClass($invalidClassName)
-    {
-        $this->setExpectedException('Doctrine\\Instantiator\\Exception\\InvalidArgumentException');
-
-        $this->instantiator->instantiate($invalidClassName);
-    }
-
-    public function testInstancesAreNotCloned()
-    {
-        $className = 'TemporaryClass' . uniqid();
-
-        eval('namespace ' . __NAMESPACE__ . '; class ' . $className . '{}');
-
-        $instance = $this->instantiator->instantiate(__NAMESPACE__ . '\\' . $className);
-
-        $instance->foo = 'bar';
-
-        $instance2 = $this->instantiator->instantiate(__NAMESPACE__ . '\\' . $className);
-
-        $this->assertObjectNotHasAttribute('foo', $instance2);
-    }
-
-    /**
-     * Provides a list of instantiable classes (existing)
-     *
-     * @return string[][]
-     */
-    public function getInstantiableClasses()
-    {
-        $classes = array(
-            array('stdClass'),
-            array(__CLASS__),
-            array('Doctrine\\Instantiator\\Instantiator'),
-            array('PharException'),
-            array('DoctrineTest\\InstantiatorTestAsset\\SimpleSerializableAsset'),
-            array('DoctrineTest\\InstantiatorTestAsset\\PharExceptionAsset'),
-            array('DoctrineTest\\InstantiatorTestAsset\\UnCloneableAsset'),
-            array('DoctrineTest\\InstantiatorTestAsset\\XMLReaderAsset'),
-        );
-
-        if (\PHP_VERSION_ID === 50429 || \PHP_VERSION_ID === 50513) {
-            return $classes;
-        }
-
-        $classes = array_merge(
-            $classes,
-            array(
-                array('PharException'),
-                array('ArrayObject'),
-                array('DoctrineTest\\InstantiatorTestAsset\\ArrayObjectAsset'),
-                array('DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset'),
-            )
-        );
-
-        if (\PHP_VERSION_ID >= 50600) {
-            $classes[] = array('DoctrineTest\\InstantiatorTestAsset\\WakeUpNoticesAsset');
-            $classes[] = array('DoctrineTest\\InstantiatorTestAsset\\UnserializeExceptionArrayObjectAsset');
-        }
-
-        return $classes;
-    }
-
-    /**
-     * Provides a list of instantiable classes (existing)
-     *
-     * @return string[][]
-     */
-    public function getInvalidClassNames()
-    {
-        $classNames = array(
-            array(__CLASS__ . uniqid()),
-            array('Doctrine\\Instantiator\\InstantiatorInterface'),
-            array('DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset'),
-        );
-
-        if (\PHP_VERSION_ID >= 50400) {
-            $classNames[] = array('DoctrineTest\\InstantiatorTestAsset\\SimpleTraitAsset');
-        }
-
-        return $classNames;
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php
deleted file mode 100644
index fbe28dd..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-/**
- * A simple asset for an abstract class
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-abstract class AbstractClassAsset
-{
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php
deleted file mode 100644
index 56146d7..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-use ArrayObject;
-use BadMethodCallException;
-
-/**
- * Test asset that extends an internal PHP class
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class ArrayObjectAsset extends ArrayObject
-{
-    /**
-     * Constructor - should not be called
-     *
-     * @throws BadMethodCallException
-     */
-    public function __construct()
-    {
-        throw new BadMethodCallException('Not supposed to be called!');
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php
deleted file mode 100644
index 553fd56..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-use BadMethodCallException;
-use Phar;
-
-/**
- * Test asset that extends an internal PHP class
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class PharAsset extends Phar
-{
-    /**
-     * Constructor - should not be called
-     *
-     * @throws BadMethodCallException
-     */
-    public function __construct()
-    {
-        throw new BadMethodCallException('Not supposed to be called!');
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php
deleted file mode 100644
index 42bf73e..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-use BadMethodCallException;
-use PharException;
-
-/**
- * Test asset that extends an internal PHP class
- * This class should be serializable without problems
- * and without getting the "Erroneous data format for unserializing"
- * error
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class PharExceptionAsset extends PharException
-{
-    /**
-     * Constructor - should not be called
-     *
-     * @throws BadMethodCallException
-     */
-    public function __construct()
-    {
-        throw new BadMethodCallException('Not supposed to be called!');
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php
deleted file mode 100644
index ba19aaf..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-use ArrayObject;
-use BadMethodCallException;
-use Serializable;
-
-/**
- * Serializable test asset that also extends an internal class
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class SerializableArrayObjectAsset extends ArrayObject implements Serializable
-{
-    /**
-     * Constructor - should not be called
-     *
-     * @throws BadMethodCallException
-     */
-    public function __construct()
-    {
-        throw new BadMethodCallException('Not supposed to be called!');
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function serialize()
-    {
-        return '';
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Should not be called
-     *
-     * @throws BadMethodCallException
-     */
-    public function unserialize($serialized)
-    {
-        throw new BadMethodCallException('Not supposed to be called!');
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php
deleted file mode 100644
index 39f84a6..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-use BadMethodCallException;
-use Serializable;
-
-/**
- * Base serializable test asset
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class SimpleSerializableAsset implements Serializable
-{
-    /**
-     * Constructor - should not be called
-     *
-     * @throws BadMethodCallException
-     */
-    public function __construct()
-    {
-        throw new BadMethodCallException('Not supposed to be called!');
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function serialize()
-    {
-        return '';
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Should not be called
-     *
-     * @throws BadMethodCallException
-     */
-    public function unserialize($serialized)
-    {
-        throw new BadMethodCallException('Not supposed to be called!');
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php
deleted file mode 100644
index 04e7806..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-/**
- * A simple trait with no attached logic
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-trait SimpleTraitAsset
-{
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php
deleted file mode 100644
index 7d03bda..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-use BadMethodCallException;
-
-/**
- * Base un-cloneable asset
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class UnCloneableAsset
-{
-    /**
-     * Constructor - should not be called
-     *
-     * @throws BadMethodCallException
-     */
-    public function __construct()
-    {
-        throw new BadMethodCallException('Not supposed to be called!');
-    }
-
-    /**
-     * Magic `__clone` - should not be invoked
-     *
-     * @throws BadMethodCallException
-     */
-    public function __clone()
-    {
-        throw new BadMethodCallException('Not supposed to be called!');
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php
deleted file mode 100644
index b348a40..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-use ArrayObject;
-use BadMethodCallException;
-
-/**
- * A simple asset for an abstract class
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class UnserializeExceptionArrayObjectAsset extends ArrayObject
-{
-    /**
-     * {@inheritDoc}
-     */
-    public function __wakeup()
-    {
-        throw new BadMethodCallException();
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php
deleted file mode 100644
index 18dc671..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-use ArrayObject;
-
-/**
- * A simple asset for an abstract class
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class WakeUpNoticesAsset extends ArrayObject
-{
-    /**
-     * Wakeup method called after un-serialization
-     */
-    public function __wakeup()
-    {
-        trigger_error('Something went bananas while un-serializing this instance');
-    }
-}
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php b/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php
deleted file mode 100644
index 39ee699..0000000
--- a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace DoctrineTest\InstantiatorTestAsset;
-
-use BadMethodCallException;
-use XMLReader;
-
-/**
- * Test asset that extends an internal PHP class
- *
- * @author Dave Marshall <dave@atst.io>
- */
-class XMLReaderAsset extends XMLReader
-{
-    /**
-     * Constructor - should not be called
-     *
-     * @throws BadMethodCallException
-     */
-    public function __construct()
-    {
-        throw new BadMethodCallException('Not supposed to be called!');
-    }
-}
diff --git a/core/vendor/mikey179/vfsStream/CHANGELOG.md b/core/vendor/mikey179/vfsStream/CHANGELOG.md
deleted file mode 100644
index b3f2eb1..0000000
--- a/core/vendor/mikey179/vfsStream/CHANGELOG.md
+++ /dev/null
@@ -1,192 +0,0 @@
-1.5.0 (2015-03-29)
-------------------
-
-   * implemented #91: `vfsStream::copyFromFileSystem()` should create large file instances
-   * implemented #92: `vfsStream::copyFromFileSystem()` should respect block devices
-   * fixed #107: `touch()` does not respect file permissions
-   * fixed #105: vfs directory structure is not reset after each test
-   * fixed #104: vfsStream can't handle url encoded pathes
-
-
-1.4.0 (2014-09-14)
-------------------
-
-   * implemented #85: Added support for emulating block devices in the virtual filesystem, feature provided by Harris Borawski
-   * fixed #68: Unlink a non-existing file now triggers a PHP warning
-
-
-1.3.0 (2014-07-21)
-------------------
-
-   * implemented #79: possibility to mock large files without large memory footprint, see https://github.com/mikey179/vfsStream/wiki/MockingLargeFiles
-   * implemented #67: added partial support for text-mode translation flag (i.e., no actual translation of line endings takes place) so it no longer throws an exception (provided by Anthon Pang)
-   * fixed issue #74: issue with trailing windows path separators (provided by Sebastian Krüger)
-   * fixed issue #50: difference between real file system and vfs with `RecursiveDirectoryIterator`
-   * fixed issue #80: touch with no arguments for modification and access time behave incorrect
-   * deprecated `org\bovigo\vfs\vfsStreamFile::readUntilEnd()`
-   * deprecated `org\bovigo\vfs\vfsStreamFile::getBytesRead()`
-
-
-1.2.0 (2013-04-01)
-------------------
-
-   * implemented issue #34: provide `url()` method on all `vfsStreamContent` instances
-     * added `org\bovigo\vfs\vfsStreamContent::url()`
-     * added `org\bovigo\vfs\vfsStreamContent::path()`
-   * fixed issue #40: flock implementation doesn't work correctly, patch provided by Kamil Dziedzic
-   * fixed issue #49: call to member function on a non-object when trying to delete a file one above root where a file with same name in root exists
-   * fixed issue #51: `unlink()` must consider permissions of directory where file is inside, not of the file to unlink itself
-   * fixed issue #52: `chmod()`, `chown()` and `chgrp()` must consider permissions of directory where file/directory is inside
-   * fixed issue #53: `chmod()`, `chown()` and `chgrp()` must consider current user and current owner of file/directoy to change
-
-
-1.1.0 (2012-08-25)
-------------------
-
-   * implemented issue #11: add support for `streamWrapper::stream_metadata()` vfsStream now supports `touch()`, `chown()`, `chgrp()` and `chmod()`
-   * implemented issue #33: add support for `stream_truncate()` (provided by https://github.com/nikcorg)
-   * implemented issue #35: size limit (quota) for VFS
-
-
-1.0.0 (2012-05-15)
-------------------
-
-   * raised requirement for PHP version to 5.3.0
-   * migrated codebase to use namespaces
-   * changed distribution from PEAR to Composer
-   * implemented issue #30: support "c" mode for `fopen()`
-   * fixed issue #31: prohibit aquiring locks when already locked / release lock on `fclose()`
-   * fixed issue #32: problems when subfolder has same name as folder
-   * fixed issue #36: `vfsStreamWrapper::stream_open()` should return false while trying to open existing non-writable file, patch provided by Alexander Peresypkin
-
-
-0.11.2 (2012-01-14)
--------------------
-
-   * fixed issue #29: set permissions properly when using `vfsStream::copyFromFileSystem()`, patch provided by predakanga
-   * fixed failing tests under PHP > 5.3.2
-
-
-0.11.1 (2011-12-04)
--------------------
-
-   * fixed issue #28: `mkdir()` overwrites existing directories/files
-
-
-0.11.0 (2011-11-29)
--------------------
-
-   * implemented issue #20: `vfsStream::create()` removes old structure
-   * implemented issue #4: possibility to copy structure from existing file system
-   * fixed issue #23: `unlink()` should not remove any directory
-   * fixed issue #25: `vfsStreamDirectory::hasChild()` gives false positives for nested paths, patch provided by Andrew Coulton
-   * fixed issue #26: opening a file for reading only should not update its modification time, reported and initial patch provided by Ludovic Chabant
-
-
-0.10.1 (2011-08-22)
--------------------
-
-   * fixed issue #16: replace `vfsStreamContent` to `vfsStreamContainer` for autocompletion
-   * fixed issue #17: `vfsStream::create()` has issues with numeric directories, patch provided by mathieuk
-
-
-0.10.0 (2011-07-22)
--------------------
-
-   * added new method `vfsStreamContainer::hasChildren()` and `vfsStreamDirectory::hasChildren()`
-   * implemented issue #14: less verbose way to initialize vfsStream
-   * implemented issue #13: remove deprecated method `vfsStreamContent::setFilemtime()`
-   * implemented issue #6: locking meachanism for files
-   * ensured that `stream_set_blocking()`, `stream_set_timeout()` and `stream_set_write_buffer()` on vfsStream urls have the same behaviour with PHP 5.2 and 5.3
-   * implemented issue #10: method to print directory structure
-
-
-0.9.0 (2011-07-13)
-------------------
-
-   * implemented feature request issue #7: add support for `fileatime()` and `filectime()`
-   * fixed issue #3: add support for `streamWrapper::stream_cast()`
-   * fixed issue #9: resolve path not called everywhere its needed
-   * deprecated `vfsStreamAbstractContent::setFilemtime()`, use `vfsStreamAbstractContent::lastModified()` instead, will be removed with 0.10.0
-
-
-0.8.0 (2010-10-08)
-------------------
-
-   * implemented enhancement #6: use `vfsStream::umask()` to influence initial file mode for files and directories
-   * implemented enhancement #19: support of .. in the url, patch provided by Guislain Duthieuw
-   * fixed issue #18: `getChild()` returns NULL when child's name contains parent name
-   * fixed bug with incomplete error message when accessing non-existing files on root level
-
-
-0.7.0 (2010-06-08)
-------------------
-
-   * added new `vfsStream::setup()` method to simplify vfsStream usage
-   * fixed issue #15: `mkdir()` creates a subfolder in a folder without permissions
-
-
-0.6.0 (2010-02-15)
-------------------
-
-   * added support for `$mode` param when opening files, implements enhancement #7 and fixes issue #13
-   * `vfsStreamWrapper::stream_open()` now evaluates `$options` for `STREAM_REPORT_ERRORS`
-
-
-0.5.0 (2010-01-25)
-------------------
-
-   * added support for `rename()`, patch provided by Benoit Aubuchon
-   * added support for . as directory alias so that `vfs://foo/.` resolves to `vfs://foo`, can be used as workaround for bug #8
-
-
-0.4.0 (2009-07-13)
-------------------
-
-   * added support for file modes, users and groups (with restrictions, see http://code.google.com/p/bovigo/wiki/vfsStreamDocsKnownIssues)
-   * fixed bug #5: `vfsStreamDirectory::addChild()` does not replace child with same name
-   * fixed bug with `is_writable()` because of missing `stat()` fields, patch provided by Sergey Galkin
-
-
-0.3.2 (2009-02-16)
-------------------
-
-   * support trailing slashes on directories in vfsStream urls, patch provided by Gabriel Birke
-   * fixed bug #4: vfsstream can only be read once, reported by Christoph Bloemer
-   * enabled multiple iterations at the same time over the same directory
-
-
-0.3.1 (2008-02-18)
-------------------
-
-   * fixed path/directory separator issues under linux systems
-   * fixed uid/gid issues under linux systems
-
-
-0.3.0 (2008-01-02)
-------------------
-
-   * added support for `rmdir()`
-   * added `vfsStream::newDirectory()`, dropped `vfsStreamDirectory::ceate()`
-   * added new interface `vfsStreamContainer`
-   * added `vfsStreamContent::at()` which allows code like `$file = vfsStream::newFile('file.txt.')->withContent('foo')->at($otherDir);`
-   * added `vfsStreamContent::lastModified()`, made `vfsStreamContent::setFilemtime()` an alias for this
-   * moved from Stubbles development environment to bovigo
-   * refactorings to reduce crap index of various methods
-
-
-0.2.0 (2007-12-29)
-------------------
-
-   * moved `vfsStreamWrapper::PROTOCOL` to `vfsStream::SCHEME`
-   * added new `vfsStream::url()` method to assist in creating correct vfsStream urls
-   * added `vfsStream::path()` method as opposite to `vfsStream::url()`
-   * a call to `vfsStreamWrapper::register()` will now reset the root to null, implemented on request from David Zuelke
-   * added support for `is_readable()`, `is_dir()`, `is_file()`
-   * added `vfsStream::newFile()` to be able to do `$file = vfsStream::newFile("foo.txt")->withContent("bar");`
-
-
-0.1.0 (2007-12-14)
-------------------
-
-   * Initial release.
diff --git a/core/vendor/mikey179/vfsStream/LICENSE b/core/vendor/mikey179/vfsStream/LICENSE
deleted file mode 100644
index 1d41ab9..0000000
--- a/core/vendor/mikey179/vfsStream/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright (c) 2007-2015, Frank Kleine
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright
-  notice, this list of conditions and the following disclaimer in the
-  documentation and/or other materials provided with the distribution.
-* Neither the name of Stubbles nor the names of its
-  contributors may be used to endorse or promote products derived
-  from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/mikey179/vfsStream/composer.json b/core/vendor/mikey179/vfsStream/composer.json
deleted file mode 100644
index c87f5fe..0000000
--- a/core/vendor/mikey179/vfsStream/composer.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
-    "name": "mikey179/vfsStream",
-    "type": "library",
-    "homepage": "http://vfs.bovigo.org/",
-    "description": "Virtual file system to mock the real file system in unit tests.",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Frank Kleine",
-            "homepage": "http://frankkleine.de/",
-            "role": "Developer"
-        }
-    ],
-    "support": {
-        "issues": "https://github.com/mikey179/vfsStream/issues",
-        "source": "https://github.com/mikey179/vfsStream/tree/master",
-        "wiki": "https://github.com/mikey179/vfsStream/wiki"
-    },
-    "require": {
-        "php": ">=5.3.0"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4.5"
-    },
-    "autoload": {
-        "psr-0": { "org\\bovigo\\vfs\\": "src/main/php" }
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.5.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/mikey179/vfsStream/readme.md b/core/vendor/mikey179/vfsStream/readme.md
deleted file mode 100644
index 9eb78c5..0000000
--- a/core/vendor/mikey179/vfsStream/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-For more information have a look in the [wiki](https://github.com/mikey179/vfsStream/wiki).
-
-[![Build Status](https://secure.travis-ci.org/mikey179/vfsStream.png)](http://travis-ci.org/mikey179/vfsStream) [![Coverage Status](https://coveralls.io/repos/mikey179/vfsStream/badge.png?branch=master)](https://coveralls.io/r/mikey179/vfsStream?branch=master)
-
-[![Latest Stable Version](https://poser.pugx.org/mikey179/vfsStream/version.png)](https://packagist.org/packages/mikey179/vfsStream) [![Latest Unstable Version](https://poser.pugx.org/mikey179/vfsStream/v/unstable.png)](//packagist.org/packages/mikey179/vfsStream)
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/DotDirectory.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/DotDirectory.php
deleted file mode 100644
index e9bc215..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/DotDirectory.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-/**
- * Directory container.
- */
-class DotDirectory extends vfsStreamDirectory
-{
-    /**
-     * returns iterator for the children
-     *
-     * @return  vfsStreamContainerIterator
-     */
-    public function getIterator()
-    {
-        return new \ArrayIterator(array());
-    }
-
-    /**
-     * checks whether dir is a dot dir
-     *
-     * @return  bool
-     */
-    public function isDot()
-    {
-        return true;
-    }
-}
-?>
\ No newline at end of file
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php
deleted file mode 100644
index b86ad8c..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-/**
- * Represents a quota for disk space.
- *
- * @since     1.1.0
- * @internal
- */
-class Quota
-{
-    /**
-     * unlimited quota
-     */
-    const UNLIMITED   = -1;
-    /**
-     * quota in bytes
-     *
-     * A value of -1 is treated as unlimited.
-     *
-     * @type  int
-     */
-    private $amount;
-
-    /**
-     * constructor
-     *
-     * @param  int  $amount  quota in bytes
-     */
-    public function __construct($amount)
-    {
-        $this->amount = $amount;
-    }
-
-    /**
-     * create with unlimited space
-     *
-     * @return  Quota
-     */
-    public static function unlimited()
-    {
-        return new self(self::UNLIMITED);
-    }
-
-    /**
-     * checks if a quota is set
-     *
-     * @return  bool
-     */
-    public function isLimited()
-    {
-        return self::UNLIMITED < $this->amount;
-    }
-
-    /**
-     * checks if given used space exceeda quota limit
-     *
-     *
-     * @param     int   $usedSpace
-     * @return    int
-     */
-    public function spaceLeft($usedSpace)
-    {
-        if (self::UNLIMITED === $this->amount) {
-            return $usedSpace;
-        }
-
-        if ($usedSpace >= $this->amount) {
-            return 0;
-        }
-
-        $spaceLeft = $this->amount - $usedSpace;
-        if (0 >= $spaceLeft) {
-            return 0;
-        }
-
-        return $spaceLeft;
-    }
-}
-?>
\ No newline at end of file
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/FileContent.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/FileContent.php
deleted file mode 100644
index de649a8..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/FileContent.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs\content;
-/**
- * Interface for actual file contents.
- *
- * @since  1.3.0
- */
-interface FileContent
-{
-    /**
-     * returns actual content
-     *
-     * @return  string
-     */
-    public function content();
-
-    /**
-     * returns size of content
-     *
-     * @return  int
-     */
-    public function size();
-
-    /**
-     * reads the given amount of bytes from content
-     *
-     * @param   int     $count
-     * @return  string
-     */
-    public function read($count);
-
-    /**
-     * seeks to the given offset
-     *
-     * @param   int   $offset
-     * @param   int   $whence
-     * @return  bool
-     */
-    public function seek($offset, $whence);
-
-    /**
-     * checks whether pointer is at end of file
-     *
-     * @return  bool
-     */
-    public function eof();
-
-    /**
-     * writes an amount of data
-     *
-     * @param   string  $data
-     * @return  amount of written bytes
-     */
-    public function write($data);
-
-    /**
-     * Truncates a file to a given length
-     *
-     * @param   int  $size length to truncate file to
-     * @return  bool
-     */
-    public function truncate($size);
-}
\ No newline at end of file
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/LargeFileContent.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/LargeFileContent.php
deleted file mode 100644
index 6bc0afc..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/LargeFileContent.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs\content;
-/**
- * File content implementation to mock large files.
- *
- * When content is written via write() the data will be written into the
- * positions according to the current offset.
- * When content is read via read() it will use the already written data. If no
- * data is written at the offsets to read those offsets will be filled with
- * spaces.
- * Please note that accessing the whole content via content() will deliver a
- * string with the length of the originally defined size. It is not advisable to
- * do so with large sizes, except you have enough memory and time. :-)
- *
- * @since  1.3.0
- */
-class LargeFileContent extends SeekableFileContent implements FileContent
-{
-    /**
-     * byte array of written content
-     *
-     * @type  char[]
-     */
-    private $content = array();
-    /**
-     * file size in bytes
-     *
-     * @type  int
-     */
-    private $size;
-
-    /**
-     * constructor
-     *
-     * @param  int  $size  file size in bytes
-     */
-    public function __construct($size)
-    {
-        $this->size = $size;
-    }
-
-    /**
-     * create large file with given size in kilobyte
-     *
-     * @param   int  $kilobyte
-     * @return  LargeFileContent
-     */
-    public static function withKilobytes($kilobyte)
-    {
-        return new self($kilobyte * 1024);
-    }
-
-    /**
-     * create large file with given size in megabyte
-     *
-     * @param   int  $megabyte
-     * @return  LargeFileContent
-     */
-    public static function withMegabytes($megabyte)
-    {
-        return self::withKilobytes($megabyte * 1024);
-    }
-
-    /**
-     * create large file with given size in gigabyte
-     *
-     * @param   int  $gigabyte
-     * @return  LargeFileContent
-     */
-    public static function withGigabytes($gigabyte)
-    {
-        return self::withMegabytes($gigabyte * 1024);
-    }
-
-    /**
-     * returns actual content
-     *
-     * @return  string
-     */
-    public function content()
-    {
-        return $this->doRead(0, $this->size);
-    }
-
-    /**
-     * returns size of content
-     *
-     * @return  int
-     */
-    public function size()
-    {
-        return $this->size;
-    }
-
-    /**
-     * actual reading of given byte count starting at given offset
-     *
-     * @param  int  $offset
-     * @param  int  $count
-     */
-    protected function doRead($offset, $count)
-    {
-        if (($offset + $count) > $this->size) {
-            $count = $this->size - $offset;
-        }
-
-        $result = '';
-        for ($i = 0; $i < $count; $i++) {
-            if (isset($this->content[$i + $offset])) {
-                $result .= $this->content[$i + $offset];
-            } else {
-                $result .= ' ';
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * actual writing of data with specified length at given offset
-     *
-     * @param   string  $data
-     * @param   int     $offset
-     * @param   int     $length
-     */
-    protected function doWrite($data, $offset, $length)
-    {
-        for ($i = 0; $i < $length; $i++) {
-            $this->content[$i + $offset] = $data{$i};
-        }
-
-        if ($offset >= $this->size) {
-            $this->size += $length;
-        } elseif (($offset + $length) > $this->size) {
-            $this->size = $offset + $length;
-        }
-    }
-
-    /**
-     * Truncates a file to a given length
-     *
-     * @param   int  $size length to truncate file to
-     * @return  bool
-     */
-    public function truncate($size)
-    {
-        $this->size = $size;
-        foreach (array_filter(array_keys($this->content),
-                              function($pos) use ($size)
-                              {
-                                  return $pos >= $size;
-                              }
-                ) as $removePos) {
-            unset($this->content[$removePos]);
-        }
-
-        return true;
-    }
-}
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/SeekableFileContent.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/SeekableFileContent.php
deleted file mode 100644
index e748000..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/SeekableFileContent.php
+++ /dev/null
@@ -1,129 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs\content;
-/**
- * Default implementation for file contents based on simple strings.
- *
- * @since  1.3.0
- */
-abstract class SeekableFileContent implements FileContent
-{
-    /**
-     * current position within content
-     *
-     * @type  int
-     */
-    private $offset = 0;
-
-    /**
-     * reads the given amount of bytes from content
-     *
-     * @param   int     $count
-     * @return  string
-     */
-    public function read($count)
-    {
-        $data = $this->doRead($this->offset, $count);
-        $this->offset += $count;
-        return $data;
-    }
-
-    /**
-     * actual reading of given byte count starting at given offset
-     *
-     * @param  int  $offset
-     * @param  int  $count
-     */
-    protected abstract function doRead($offset, $count);
-
-    /**
-     * seeks to the given offset
-     *
-     * @param   int   $offset
-     * @param   int   $whence
-     * @return  bool
-     */
-    public function seek($offset, $whence)
-    {
-        switch ($whence) {
-            case SEEK_CUR:
-                $this->offset += $offset;
-                return true;
-
-            case SEEK_END:
-                $this->offset = $this->size() + $offset;
-                return true;
-
-            case SEEK_SET:
-                $this->offset = $offset;
-                return true;
-
-            default:
-                return false;
-        }
-
-        return false;
-    }
-
-    /**
-     * checks whether pointer is at end of file
-     *
-     * @return  bool
-     */
-    public function eof()
-    {
-        return $this->size() <= $this->offset;
-    }
-
-    /**
-     * writes an amount of data
-     *
-     * @param   string  $data
-     * @return  amount of written bytes
-     */
-    public function write($data)
-    {
-        $dataLength    = strlen($data);
-        $this->doWrite($data, $this->offset, $dataLength);
-        $this->offset += $dataLength;
-        return $dataLength;
-    }
-
-    /**
-     * actual writing of data with specified length at given offset
-     *
-     * @param   string  $data
-     * @param   int     $offset
-     * @param   int     $length
-     */
-    protected abstract function doWrite($data, $offset, $length);
-
-    /**
-     * for backwards compatibility with vfsStreamFile::bytesRead()
-     *
-     * @return  int
-     * @deprecated
-     */
-    public function bytesRead()
-    {
-        return $this->offset;
-    }
-
-    /**
-     * for backwards compatibility with vfsStreamFile::readUntilEnd()
-     *
-     * @return  string
-     * @deprecated
-     */
-    public function readUntilEnd()
-    {
-        return substr($this->content(), $this->offset);
-    }
-}
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/StringBasedFileContent.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/StringBasedFileContent.php
deleted file mode 100644
index 58bd214..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/StringBasedFileContent.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs\content;
-/**
- * Default implementation for file contents based on simple strings.
- *
- * @since  1.3.0
- */
-class StringBasedFileContent extends SeekableFileContent implements FileContent
-{
-    /**
-     * actual content
-     *
-     * @type  string
-     */
-    private $content;
-
-    /**
-     * constructor
-     *
-     * @param  string  $content
-     */
-    public function __construct($content)
-    {
-        $this->content = $content;
-    }
-
-    /**
-     * returns actual content
-     *
-     * @return  string
-     */
-    public function content()
-    {
-        return $this->content;
-    }
-
-    /**
-     * returns size of content
-     *
-     * @return  int
-     */
-    public function size()
-    {
-        return strlen($this->content);
-    }
-
-    /**
-     * actual reading of length starting at given offset
-     *
-     * @param  int  $offset
-     * @param  int  $count
-     */
-    protected function doRead($offset, $count)
-    {
-        return substr($this->content, $offset, $count);
-    }
-
-    /**
-     * actual writing of data with specified length at given offset
-     *
-     * @param   string  $data
-     * @param   int     $offset
-     * @param   int     $length
-     */
-    protected function doWrite($data, $offset, $length)
-    {
-        $this->content = substr($this->content, 0, $offset)
-                       . $data
-                       . substr($this->content, $offset + $length);
-    }
-
-    /**
-     * Truncates a file to a given length
-     *
-     * @param   int  $size length to truncate file to
-     * @return  bool
-     */
-    public function truncate($size)
-    {
-        if ($size > $this->size()) {
-            // Pad with null-chars if we're "truncating up"
-            $this->content .= str_repeat("\0", $size - $this->size());
-        } else {
-            $this->content = substr($this->content, 0, $size);
-        }
-
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStream.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStream.php
deleted file mode 100644
index f7f13cb..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStream.php
+++ /dev/null
@@ -1,462 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-use org\bovigo\vfs\content\LargeFileContent;
-use org\bovigo\vfs\visitor\vfsStreamVisitor;
-/**
- * Some utility methods for vfsStream.
- *
- * @api
- */
-class vfsStream
-{
-    /**
-     * url scheme
-     */
-    const SCHEME            = 'vfs';
-    /**
-     * owner: root
-     */
-    const OWNER_ROOT        = 0;
-    /**
-     * owner: user 1
-     */
-    const OWNER_USER_1       = 1;
-    /**
-     * owner: user 2
-     */
-    const OWNER_USER_2       = 2;
-    /**
-     * group: root
-     */
-    const GROUP_ROOT         = 0;
-    /**
-     * group: user 1
-     */
-    const GROUP_USER_1       = 1;
-    /**
-     * group: user 2
-     */
-    const GROUP_USER_2       = 2;
-    /**
-     * initial umask setting
-     *
-     * @type  int
-     */
-    protected static $umask  = 0000;
-    /**
-     * switch whether dotfiles are enabled in directory listings
-     *
-     * @type  bool
-     */
-    private static $dotFiles = true;
-
-    /**
-     * prepends the scheme to the given URL
-     *
-     * @param   string  $path  path to translate to vfsStream url
-     * @return  string
-     */
-    public static function url($path)
-    {
-        return self::SCHEME . '://' . str_replace('\\', '/', $path);
-    }
-
-    /**
-     * restores the path from the url
-     *
-     * @param   string  $url  vfsStream url to translate into path
-     * @return  string
-     */
-    public static function path($url)
-    {
-        // remove line feeds and trailing whitespaces and path separators
-        $path = trim($url, " \t\r\n\0\x0B/\\");
-        $path = substr($path, strlen(self::SCHEME . '://'));
-        $path = str_replace('\\', '/', $path);
-        // replace double slashes with single slashes
-        $path = str_replace('//', '/', $path);
-        return urldecode($path);
-    }
-
-    /**
-     * sets new umask setting and returns previous umask setting
-     *
-     * If no value is given only the current umask setting is returned.
-     *
-     * @param   int  $umask  new umask setting
-     * @return  int
-     * @since   0.8.0
-     */
-    public static function umask($umask = null)
-    {
-        $oldUmask = self::$umask;
-        if (null !== $umask) {
-            self::$umask = $umask;
-        }
-
-        return $oldUmask;
-    }
-
-    /**
-     * helper method for setting up vfsStream in unit tests
-     *
-     * Instead of
-     * vfsStreamWrapper::register();
-     * vfsStreamWrapper::setRoot(vfsStream::newDirectory('root'));
-     * you can simply do
-     * vfsStream::setup()
-     * which yields the same result. Additionally, the method returns the
-     * freshly created root directory which you can use to make further
-     * adjustments to it.
-     *
-     * Assumed $structure contains an array like this:
-     * <code>
-     * array('Core' = array('AbstractFactory' => array('test.php'    => 'some text content',
-     *                                                 'other.php'   => 'Some more text content',
-     *                                                 'Invalid.csv' => 'Something else',
-     *                                           ),
-     *                      'AnEmptyFolder'   => array(),
-     *                      'badlocation.php' => 'some bad content',
-     *                )
-     * )
-     * </code>
-     * the resulting directory tree will look like this:
-     * <pre>
-     * root
-     * \- Core
-     *  |- badlocation.php
-     *  |- AbstractFactory
-     *  | |- test.php
-     *  | |- other.php
-     *  | \- Invalid.csv
-     *  \- AnEmptyFolder
-     * </pre>
-     * Arrays will become directories with their key as directory name, and
-     * strings becomes files with their key as file name and their value as file
-     * content.
-     *
-     * @param   string  $rootDirName  name of root directory
-     * @param   int     $permissions  file permissions of root directory
-     * @param   array   $structure    directory structure to add under root directory
-     * @return  \org\bovigo\vfs\vfsStreamDirectory
-     * @since   0.7.0
-     * @see     https://github.com/mikey179/vfsStream/issues/14
-     * @see     https://github.com/mikey179/vfsStream/issues/20
-     */
-    public static function setup($rootDirName = 'root', $permissions = null, array $structure = array())
-    {
-        vfsStreamWrapper::register();
-        return self::create($structure, vfsStreamWrapper::setRoot(self::newDirectory($rootDirName, $permissions)));
-    }
-
-    /**
-     * creates vfsStream directory structure from an array and adds it to given base dir
-     *
-     * Assumed $structure contains an array like this:
-     * <code>
-     * array('Core' = array('AbstractFactory' => array('test.php'    => 'some text content',
-     *                                                 'other.php'   => 'Some more text content',
-     *                                                 'Invalid.csv' => 'Something else',
-     *                                           ),
-     *                      'AnEmptyFolder'   => array(),
-     *                      'badlocation.php' => 'some bad content',
-     *                )
-     * )
-     * </code>
-     * the resulting directory tree will look like this:
-     * <pre>
-     * baseDir
-     * \- Core
-     *  |- badlocation.php
-     *  |- AbstractFactory
-     *  | |- test.php
-     *  | |- other.php
-     *  | \- Invalid.csv
-     *  \- AnEmptyFolder
-     * </pre>
-     * Arrays will become directories with their key as directory name, and
-     * strings becomes files with their key as file name and their value as file
-     * content.
-     *
-     * If no baseDir is given it will try to add the structure to the existing
-     * root directory without replacing existing childs except those with equal
-     * names.
-     *
-     * @param   array               $structure  directory structure to add under root directory
-     * @param   vfsStreamDirectory  $baseDir    base directory to add structure to
-     * @return  vfsStreamDirectory
-     * @throws  \InvalidArgumentException
-     * @since   0.10.0
-     * @see     https://github.com/mikey179/vfsStream/issues/14
-     * @see     https://github.com/mikey179/vfsStream/issues/20
-     */
-    public static function create(array $structure, vfsStreamDirectory $baseDir = null)
-    {
-        if (null === $baseDir) {
-            $baseDir = vfsStreamWrapper::getRoot();
-        }
-
-        if (null === $baseDir) {
-            throw new \InvalidArgumentException('No baseDir given and no root directory set.');
-        }
-
-        return self::addStructure($structure, $baseDir);
-    }
-
-    /**
-     * helper method to create subdirectories recursively
-     *
-     * @param   array               $structure  subdirectory structure to add
-     * @param   vfsStreamDirectory  $baseDir    directory to add the structure to
-     * @return  vfsStreamDirectory
-     */
-    protected static function addStructure(array $structure, vfsStreamDirectory $baseDir)
-    {
-        foreach ($structure as $name => $data) {
-            $name = (string) $name;
-            if (is_array($data) === true) {
-                self::addStructure($data, self::newDirectory($name)->at($baseDir));
-            } elseif (is_string($data) === true) {
-                $matches = null;
-                preg_match('/^\[(.*)\]$/', $name, $matches);
-                if ($matches !== array()) {
-                    self::newBlock($matches[1])->withContent($data)->at($baseDir);
-                } else {
-                    self::newFile($name)->withContent($data)->at($baseDir);
-                }
-            }
-        }
-
-        return $baseDir;
-    }
-
-    /**
-     * copies the file system structure from given path into the base dir
-     *
-     * If no baseDir is given it will try to add the structure to the existing
-     * root directory without replacing existing childs except those with equal
-     * names.
-     * File permissions are copied as well.
-     * Please note that file contents will only be copied if their file size
-     * does not exceed the given $maxFileSize which defaults to 1024 KB. In case
-     * the file is larger file content will be mocked, see
-     * https://github.com/mikey179/vfsStream/wiki/MockingLargeFiles.
-     *
-     * @param   string              $path         path to copy the structure from
-     * @param   vfsStreamDirectory  $baseDir      directory to add the structure to
-     * @param   int                 $maxFileSize  maximum file size of files to copy content from
-     * @return  vfsStreamDirectory
-     * @throws  \InvalidArgumentException
-     * @since   0.11.0
-     * @see     https://github.com/mikey179/vfsStream/issues/4
-     */
-    public static function copyFromFileSystem($path, vfsStreamDirectory $baseDir = null, $maxFileSize = 1048576)
-    {
-        if (null === $baseDir) {
-            $baseDir = vfsStreamWrapper::getRoot();
-        }
-
-        if (null === $baseDir) {
-            throw new \InvalidArgumentException('No baseDir given and no root directory set.');
-        }
-
-        $dir = new \DirectoryIterator($path);
-        foreach ($dir as $fileinfo) {
-            switch (filetype($fileinfo->getPathname())) {
-                case 'file':
-                    if ($fileinfo->getSize() <= $maxFileSize) {
-                        $content = file_get_contents($fileinfo->getPathname());
-                    } else {
-                        $content = new LargeFileContent($fileinfo->getSize());
-                    }
-
-                    self::newFile(
-                            $fileinfo->getFilename(),
-                            octdec(substr(sprintf('%o', $fileinfo->getPerms()), -4))
-                        )
-                        ->withContent($content)
-                        ->at($baseDir);
-                    break;
-
-                case 'dir':
-                    if (!$fileinfo->isDot()) {
-                        self::copyFromFileSystem(
-                                $fileinfo->getPathname(),
-                                self::newDirectory(
-                                        $fileinfo->getFilename(),
-                                        octdec(substr(sprintf('%o', $fileinfo->getPerms()), -4))
-                                )->at($baseDir),
-                                $maxFileSize
-                        );
-                    }
-
-                    break;
-
-                case 'block':
-                    self::newBlock(
-                            $fileinfo->getFilename(),
-                            octdec(substr(sprintf('%o', $fileinfo->getPerms()), -4))
-                        )->at($baseDir);
-                    break;
-            }
-        }
-
-        return $baseDir;
-    }
-
-    /**
-     * returns a new file with given name
-     *
-     * @param   string  $name         name of file to create
-     * @param   int     $permissions  permissions of file to create
-     * @return  vfsStreamFile
-     */
-    public static function newFile($name, $permissions = null)
-    {
-        return new vfsStreamFile($name, $permissions);
-    }
-
-    /**
-     * returns a new directory with given name
-     *
-     * If the name contains slashes, a new directory structure will be created.
-     * The returned directory will always be the parent directory of this
-     * directory structure.
-     *
-     * @param   string  $name         name of directory to create
-     * @param   int     $permissions  permissions of directory to create
-     * @return  vfsStreamDirectory
-     */
-    public static function newDirectory($name, $permissions = null)
-    {
-        if ('/' === $name{0}) {
-            $name = substr($name, 1);
-        }
-
-        $firstSlash = strpos($name, '/');
-        if (false === $firstSlash) {
-            return new vfsStreamDirectory($name, $permissions);
-        }
-
-        $ownName   = substr($name, 0, $firstSlash);
-        $subDirs   = substr($name, $firstSlash + 1);
-        $directory = new vfsStreamDirectory($ownName, $permissions);
-        self::newDirectory($subDirs, $permissions)->at($directory);
-        return $directory;
-    }
-
-    /**
-     * returns a new block with the given name
-     *
-     * @param   string  $name           name of the block device
-     * @param   int     $permissions    permissions of block to create
-     * @return vfsStreamBlock
-     */
-    public static function newBlock($name, $permissions = null)
-    {
-        return new vfsStreamBlock($name, $permissions);
-    }
-
-    /**
-     * returns current user
-     *
-     * If the system does not support posix_getuid() the current user will be root (0).
-     *
-     * @return  int
-     */
-    public static function getCurrentUser()
-    {
-        return function_exists('posix_getuid') ? posix_getuid() : self::OWNER_ROOT;
-    }
-
-    /**
-     * returns current group
-     *
-     * If the system does not support posix_getgid() the current group will be root (0).
-     *
-     * @return  int
-     */
-    public static function getCurrentGroup()
-    {
-        return function_exists('posix_getgid') ? posix_getgid() : self::GROUP_ROOT;
-    }
-
-    /**
-     * use visitor to inspect a content structure
-     *
-     * If the given content is null it will fall back to use the current root
-     * directory of the stream wrapper.
-     *
-     * Returns given visitor for method chaining comfort.
-     *
-     * @param   vfsStreamVisitor  $visitor  the visitor who inspects
-     * @param   vfsStreamContent  $content  directory structure to inspect
-     * @return  vfsStreamVisitor
-     * @throws  \InvalidArgumentException
-     * @since   0.10.0
-     * @see     https://github.com/mikey179/vfsStream/issues/10
-     */
-    public static function inspect(vfsStreamVisitor $visitor, vfsStreamContent $content = null)
-    {
-        if (null !== $content) {
-            return $visitor->visit($content);
-        }
-
-        $root = vfsStreamWrapper::getRoot();
-        if (null === $root) {
-            throw new \InvalidArgumentException('No content given and no root directory set.');
-        }
-
-        return $visitor->visitDirectory($root);
-    }
-
-    /**
-     * sets quota to given amount of bytes
-     *
-     * @param  int  $bytes
-     * @since  1.1.0
-     */
-    public static function setQuota($bytes)
-    {
-        vfsStreamWrapper::setQuota(new Quota($bytes));
-    }
-
-    /**
-     * checks if vfsStream lists dotfiles in directory listings
-     *
-     * @return  bool
-     * @since   1.3.0
-     */
-    public static function useDotfiles()
-    {
-        return self::$dotFiles;
-    }
-
-    /**
-     * disable dotfiles in directory listings
-     *
-     * @since  1.3.0
-     */
-    public static function disableDotfiles()
-    {
-        self::$dotFiles = false;
-    }
-
-    /**
-     * enable dotfiles in directory listings
-     *
-     * @since  1.3.0
-     */
-    public static function enableDotfiles()
-    {
-        self::$dotFiles = true;
-    }
-}
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamAbstractContent.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamAbstractContent.php
deleted file mode 100644
index 5ec4352..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamAbstractContent.php
+++ /dev/null
@@ -1,419 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-/**
- * Base stream contents container.
- */
-abstract class vfsStreamAbstractContent implements vfsStreamContent
-{
-    /**
-     * name of the container
-     *
-     * @type  string
-     */
-    protected $name;
-    /**
-     * type of the container
-     *
-     * @type  string
-     */
-    protected $type;
-    /**
-     * timestamp of last access
-     *
-     * @type  int
-     */
-    protected $lastAccessed;
-    /**
-     * timestamp of last attribute modification
-     *
-     * @type  int
-     */
-    protected $lastAttributeModified;
-    /**
-     * timestamp of last modification
-     *
-     * @type  int
-     */
-    protected $lastModified;
-    /**
-     * permissions for content
-     *
-     * @type  int
-     */
-    protected $permissions;
-    /**
-     * owner of the file
-     *
-     * @type  int
-     */
-    protected $user;
-    /**
-     * owner group of the file
-     *
-     * @type  int
-     */
-    protected $group;
-    /**
-     * path to to this content
-     *
-     * @type  string
-     */
-    private $parentPath;
-
-    /**
-     * constructor
-     *
-     * @param  string  $name
-     * @param  int     $permissions  optional
-     */
-    public function __construct($name, $permissions = null)
-    {
-        $this->name = $name;
-        $time       = time();
-        if (null === $permissions) {
-            $permissions = $this->getDefaultPermissions() & ~vfsStream::umask();
-        }
-
-        $this->lastAccessed          = $time;
-        $this->lastAttributeModified = $time;
-        $this->lastModified          = $time;
-        $this->permissions           = $permissions;
-        $this->user                  = vfsStream::getCurrentUser();
-        $this->group                 = vfsStream::getCurrentGroup();
-    }
-
-    /**
-     * returns default permissions for concrete implementation
-     *
-     * @return  int
-     * @since   0.8.0
-     */
-    protected abstract function getDefaultPermissions();
-
-    /**
-     * returns the file name of the content
-     *
-     * @return  string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * renames the content
-     *
-     * @param  string  $newName
-     */
-    public function rename($newName)
-    {
-        $this->name = $newName;
-    }
-
-    /**
-     * checks whether the container can be applied to given name
-     *
-     * @param   string  $name
-     * @return  bool
-     */
-    public function appliesTo($name)
-    {
-        if ($name === $this->name) {
-            return true;
-        }
-
-        $segment_name = $this->name.'/';
-        return (strncmp($segment_name, $name, strlen($segment_name)) == 0);
-    }
-
-    /**
-     * returns the type of the container
-     *
-     * @return  int
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    /**
-     * sets the last modification time of the stream content
-     *
-     * @param   int  $filemtime
-     * @return  vfsStreamContent
-     */
-    public function lastModified($filemtime)
-    {
-        $this->lastModified = $filemtime;
-        return $this;
-    }
-
-    /**
-     * returns the last modification time of the stream content
-     *
-     * @return  int
-     */
-    public function filemtime()
-    {
-        return $this->lastModified;
-    }
-
-    /**
-     * sets last access time of the stream content
-     *
-     * @param   int  $fileatime
-     * @return  vfsStreamContent
-     * @since   0.9
-     */
-    public function lastAccessed($fileatime)
-    {
-        $this->lastAccessed = $fileatime;
-        return $this;
-    }
-
-    /**
-     * returns the last access time of the stream content
-     *
-     * @return  int
-     * @since   0.9
-     */
-    public function fileatime()
-    {
-        return $this->lastAccessed;
-    }
-
-    /**
-     * sets the last attribute modification time of the stream content
-     *
-     * @param   int  $filectime
-     * @return  vfsStreamContent
-     * @since   0.9
-     */
-    public function lastAttributeModified($filectime)
-    {
-        $this->lastAttributeModified = $filectime;
-        return $this;
-    }
-
-    /**
-     * returns the last attribute modification time of the stream content
-     *
-     * @return  int
-     * @since   0.9
-     */
-    public function filectime()
-    {
-        return $this->lastAttributeModified;
-    }
-
-    /**
-     * adds content to given container
-     *
-     * @param   vfsStreamContainer  $container
-     * @return  vfsStreamContent
-     */
-    public function at(vfsStreamContainer $container)
-    {
-        $container->addChild($this);
-        return $this;
-    }
-
-    /**
-     * change file mode to given permissions
-     *
-     * @param   int  $permissions
-     * @return  vfsStreamContent
-     */
-    public function chmod($permissions)
-    {
-        $this->permissions           = $permissions;
-        $this->lastAttributeModified = time();
-        clearstatcache();
-        return $this;
-    }
-
-    /**
-     * returns permissions
-     *
-     * @return  int
-     */
-    public function getPermissions()
-    {
-        return $this->permissions;
-    }
-
-    /**
-     * checks whether content is readable
-     *
-     * @param   int   $user   id of user to check for
-     * @param   int   $group  id of group to check for
-     * @return  bool
-     */
-    public function isReadable($user, $group)
-    {
-        if ($this->user === $user) {
-            $check = 0400;
-        } elseif ($this->group === $group) {
-            $check = 0040;
-        } else {
-            $check = 0004;
-        }
-
-        return (bool) ($this->permissions & $check);
-    }
-
-    /**
-     * checks whether content is writable
-     *
-     * @param   int   $user   id of user to check for
-     * @param   int   $group  id of group to check for
-     * @return  bool
-     */
-    public function isWritable($user, $group)
-    {
-        if ($this->user === $user) {
-            $check = 0200;
-        } elseif ($this->group === $group) {
-            $check = 0020;
-        } else {
-            $check = 0002;
-        }
-
-        return (bool) ($this->permissions & $check);
-    }
-
-    /**
-     * checks whether content is executable
-     *
-     * @param   int   $user   id of user to check for
-     * @param   int   $group  id of group to check for
-     * @return  bool
-     */
-    public function isExecutable($user, $group)
-    {
-        if ($this->user === $user) {
-            $check = 0100;
-        } elseif ($this->group === $group) {
-            $check = 0010;
-        } else {
-            $check = 0001;
-        }
-
-        return (bool) ($this->permissions & $check);
-    }
-
-    /**
-     * change owner of file to given user
-     *
-     * @param   int  $user
-     * @return  vfsStreamContent
-     */
-    public function chown($user)
-    {
-        $this->user                  = $user;
-        $this->lastAttributeModified = time();
-        return $this;
-    }
-
-    /**
-     * checks whether file is owned by given user
-     *
-     * @param   int  $user
-     * @return  bool
-     */
-    public function isOwnedByUser($user)
-    {
-        return $this->user === $user;
-    }
-
-    /**
-     * returns owner of file
-     *
-     * @return  int
-     */
-    public function getUser()
-    {
-        return $this->user;
-    }
-
-    /**
-     * change owner group of file to given group
-     *
-     * @param   int  $group
-     * @return  vfsStreamContent
-     */
-    public function chgrp($group)
-    {
-        $this->group                 = $group;
-        $this->lastAttributeModified = time();
-        return $this;
-    }
-
-    /**
-     * checks whether file is owned by group
-     *
-     * @param   int   $group
-     * @return  bool
-     */
-    public function isOwnedByGroup($group)
-    {
-        return $this->group === $group;
-    }
-
-    /**
-     * returns owner group of file
-     *
-     * @return  int
-     */
-    public function getGroup()
-    {
-        return $this->group;
-    }
-
-    /**
-     * sets parent path
-     *
-     * @param  string  $parentPath
-     * @internal  only to be set by parent
-     * @since   1.2.0
-     */
-    public function setParentPath($parentPath)
-    {
-        $this->parentPath = $parentPath;
-    }
-
-    /**
-     * returns path to this content
-     *
-     * @return  string
-     * @since   1.2.0
-     */
-    public function path()
-    {
-        if (null === $this->parentPath) {
-            return $this->name;
-        }
-
-        return $this->parentPath . '/' . $this->name;
-    }
-
-    /**
-     * returns complete vfsStream url for this content
-     *
-     * @return  string
-     * @since   1.2.0
-     */
-    public function url()
-    {
-        return vfsStream::url($this->path());
-    }
-}
-?>
\ No newline at end of file
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamBlock.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamBlock.php
deleted file mode 100644
index 128a96a..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamBlock.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-
-/**
- * Block container.
- *
- * @api
- */
-class vfsStreamBlock extends vfsStreamFile
-{
-    /**
-     * constructor
-     *
-     * @param  string  $name
-     * @param  int     $permissions  optional
-     */
-    public function __construct($name, $permissions = null)
-    {
-        if (empty($name)) {
-            throw new vfsStreamException('Name of Block device was empty');
-        }
-        parent::__construct($name, $permissions);
-
-        $this->type = vfsStreamContent::TYPE_BLOCK;
-    }
-}
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainer.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainer.php
deleted file mode 100644
index e27a581..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainer.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-/**
- * Interface for stream contents that are able to store other stream contents.
- */
-interface vfsStreamContainer extends \IteratorAggregate
-{
-    /**
-     * adds child to the directory
-     *
-     * @param  vfsStreamContent  $child
-     */
-    public function addChild(vfsStreamContent $child);
-
-    /**
-     * removes child from the directory
-     *
-     * @param   string  $name
-     * @return  bool
-     */
-    public function removeChild($name);
-
-    /**
-     * checks whether the container contains a child with the given name
-     *
-     * @param   string  $name
-     * @return  bool
-     */
-    public function hasChild($name);
-
-    /**
-     * returns the child with the given name
-     *
-     * @param   string  $name
-     * @return  vfsStreamContent
-     */
-    public function getChild($name);
-
-    /**
-     * checks whether directory contains any children
-     *
-     * @return  bool
-     * @since   0.10.0
-     */
-    public function hasChildren();
-
-    /**
-     * returns a list of children for this directory
-     *
-     * @return  vfsStreamContent[]
-     */
-    public function getChildren();
-}
-?>
\ No newline at end of file
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainerIterator.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainerIterator.php
deleted file mode 100644
index 83943dc..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainerIterator.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-/**
- * Iterator for children of a directory container.
- */
-class vfsStreamContainerIterator implements \Iterator
-{
-    /**
-     * list of children from container to iterate over
-     *
-     * @type  vfsStreamContent[]
-     */
-    protected $children;
-
-    /**
-     * constructor
-     *
-     * @param  vfsStreamContent[]  $children
-     */
-    public function __construct(array $children)
-    {
-        $this->children = $children;
-        if (vfsStream::useDotfiles()) {
-            array_unshift($this->children, new DotDirectory('.'), new DotDirectory('..'));
-        }
-
-        reset($this->children);
-    }
-
-    /**
-     * resets children pointer
-     */
-    public function rewind()
-    {
-        reset($this->children);
-    }
-
-    /**
-     * returns the current child
-     *
-     * @return  vfsStreamContent
-     */
-    public function current()
-    {
-        $child = current($this->children);
-        if (false === $child) {
-            return null;
-        }
-
-        return $child;
-    }
-
-    /**
-     * returns the name of the current child
-     *
-     * @return  string
-     */
-    public function key()
-    {
-        $child = current($this->children);
-        if (false === $child) {
-            return null;
-        }
-
-        return $child->getName();
-    }
-
-    /**
-     * iterates to next child
-     */
-    public function next()
-    {
-        next($this->children);
-    }
-
-    /**
-     * checks if the current value is valid
-     *
-     * @return  bool
-     */
-    public function valid()
-    {
-        return (false !== current($this->children));
-    }
-}
-?>
\ No newline at end of file
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php
deleted file mode 100644
index efcccce..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-/**
- * Interface for stream contents.
- */
-interface vfsStreamContent
-{
-    /**
-     * stream content type: file
-     *
-     * @see  getType()
-     */
-    const TYPE_FILE = 0100000;
-    /**
-     * stream content type: directory
-     *
-     * @see  getType()
-     */
-    const TYPE_DIR  = 0040000;
-    /**
-     * stream content type: symbolic link
-     *
-     * @see  getType();
-     */
-    #const TYPE_LINK = 0120000;
-
-    /**
-     * stream content type: block
-     *
-     * @see getType()
-     */
-    const TYPE_BLOCK = 0060000;
-
-    /**
-     * returns the file name of the content
-     *
-     * @return  string
-     */
-    public function getName();
-
-    /**
-     * renames the content
-     *
-     * @param  string  $newName
-     */
-    public function rename($newName);
-
-    /**
-     * checks whether the container can be applied to given name
-     *
-     * @param   string  $name
-     * @return  bool
-     */
-    public function appliesTo($name);
-
-    /**
-     * returns the type of the container
-     *
-     * @return  int
-     */
-    public function getType();
-
-    /**
-     * returns size of content
-     *
-     * @return  int
-     */
-    public function size();
-
-    /**
-     * sets the last modification time of the stream content
-     *
-     * @param   int  $filemtime
-     * @return  vfsStreamContent
-     */
-    public function lastModified($filemtime);
-
-    /**
-     * returns the last modification time of the stream content
-     *
-     * @return  int
-     */
-    public function filemtime();
-
-    /**
-     * adds content to given container
-     *
-     * @param   vfsStreamContainer  $container
-     * @return  vfsStreamContent
-     */
-    public function at(vfsStreamContainer $container);
-
-    /**
-     * change file mode to given permissions
-     *
-     * @param   int  $permissions
-     * @return  vfsStreamContent
-     */
-    public function chmod($permissions);
-
-    /**
-     * returns permissions
-     *
-     * @return  int
-     */
-    public function getPermissions();
-
-    /**
-     * checks whether content is readable
-     *
-     * @param   int   $user   id of user to check for
-     * @param   int   $group  id of group to check for
-     * @return  bool
-     */
-    public function isReadable($user, $group);
-
-    /**
-     * checks whether content is writable
-     *
-     * @param   int   $user   id of user to check for
-     * @param   int   $group  id of group to check for
-     * @return  bool
-     */
-    public function isWritable($user, $group);
-
-    /**
-     * checks whether content is executable
-     *
-     * @param   int   $user   id of user to check for
-     * @param   int   $group  id of group to check for
-     * @return  bool
-     */
-    public function isExecutable($user, $group);
-
-    /**
-     * change owner of file to given user
-     *
-     * @param   int  $user
-     * @return  vfsStreamContent
-     */
-    public function chown($user);
-
-    /**
-     * checks whether file is owned by given user
-     *
-     * @param   int  $user
-     * @return  bool
-     */
-    public function isOwnedByUser($user);
-
-    /**
-     * returns owner of file
-     *
-     * @return  int
-     */
-    public function getUser();
-
-    /**
-     * change owner group of file to given group
-     *
-     * @param   int  $group
-     * @return  vfsStreamContent
-     */
-    public function chgrp($group);
-
-    /**
-     * checks whether file is owned by group
-     *
-     * @param   int   $group
-     * @return  bool
-     */
-    public function isOwnedByGroup($group);
-
-    /**
-     * returns owner group of file
-     *
-     * @return  int
-     */
-    public function getGroup();
-
-    /**
-     * sets parent path
-     *
-     * @param  string  $parentPath
-     * @internal  only to be set by parent
-     * @since   1.2.0
-     */
-    public function setParentPath($parentPath);
-
-    /**
-     * returns path to this content
-     *
-     * @return  string
-     * @since   1.2.0
-     */
-    public function path();
-
-    /**
-     * returns complete vfsStream url for this content
-     *
-     * @return  string
-     * @since   1.2.0
-     */
-    public function url();
-}
-?>
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamDirectory.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamDirectory.php
deleted file mode 100644
index e17c835..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamDirectory.php
+++ /dev/null
@@ -1,267 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-/**
- * Directory container.
- *
- * @api
- */
-class vfsStreamDirectory extends vfsStreamAbstractContent implements vfsStreamContainer
-{
-    /**
-     * list of directory children
-     *
-     * @type  vfsStreamContent[]
-     */
-    protected $children = array();
-
-    /**
-     * constructor
-     *
-     * @param   string  $name
-     * @param   int     $permissions  optional
-     * @throws  vfsStreamException
-     */
-    public function __construct($name, $permissions = null)
-    {
-        if (strstr($name, '/') !== false) {
-            throw new vfsStreamException('Directory name can not contain /.');
-        }
-
-        $this->type = vfsStreamContent::TYPE_DIR;
-        parent::__construct($name, $permissions);
-    }
-
-    /**
-     * returns default permissions for concrete implementation
-     *
-     * @return  int
-     * @since   0.8.0
-     */
-    protected function getDefaultPermissions()
-    {
-        return 0777;
-    }
-
-    /**
-     * returns size of directory
-     *
-     * The size of a directory is always 0 bytes. To calculate the summarized
-     * size of all children in the directory use sizeSummarized().
-     *
-     * @return  int
-     */
-    public function size()
-    {
-        return 0;
-    }
-
-    /**
-     * returns summarized size of directory and its children
-     *
-     * @return  int
-     */
-    public function sizeSummarized()
-    {
-        $size = 0;
-        foreach ($this->children as $child) {
-            if ($child->getType() === vfsStreamContent::TYPE_DIR) {
-                $size += $child->sizeSummarized();
-            } else {
-                $size += $child->size();
-            }
-        }
-
-        return $size;
-    }
-
-    /**
-     * renames the content
-     *
-     * @param   string  $newName
-     * @throws  vfsStreamException
-     */
-    public function rename($newName)
-    {
-        if (strstr($newName, '/') !== false) {
-            throw new vfsStreamException('Directory name can not contain /.');
-        }
-
-        parent::rename($newName);
-    }
-
-
-    /**
-     * sets parent path
-     *
-     * @param  string  $parentPath
-     * @internal  only to be set by parent
-     * @since   1.2.0
-     */
-    public function setParentPath($parentPath)
-    {
-        parent::setParentPath($parentPath);
-        foreach ($this->children as $child) {
-            $child->setParentPath($this->path());
-        }
-    }
-
-    /**
-     * adds child to the directory
-     *
-     * @param  vfsStreamContent  $child
-     */
-    public function addChild(vfsStreamContent $child)
-    {
-        $child->setParentPath($this->path());
-        $this->children[$child->getName()] = $child;
-        $this->updateModifications();
-    }
-
-    /**
-     * removes child from the directory
-     *
-     * @param   string  $name
-     * @return  bool
-     */
-    public function removeChild($name)
-    {
-        foreach ($this->children as $key => $child) {
-            if ($child->appliesTo($name)) {
-                $child->setParentPath(null);
-                unset($this->children[$key]);
-                $this->updateModifications();
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * updates internal timestamps
-     */
-    protected function updateModifications()
-    {
-        $time = time();
-        $this->lastAttributeModified = $time;
-        $this->lastModified          = $time;
-    }
-
-    /**
-     * checks whether the container contains a child with the given name
-     *
-     * @param   string  $name
-     * @return  bool
-     */
-    public function hasChild($name)
-    {
-        return ($this->getChild($name) !== null);
-    }
-
-    /**
-     * returns the child with the given name
-     *
-     * @param   string  $name
-     * @return  vfsStreamContent
-     */
-    public function getChild($name)
-    {
-        $childName = $this->getRealChildName($name);
-        foreach ($this->children as $child) {
-            if ($child->getName() === $childName) {
-                return $child;
-            }
-
-            if ($child->appliesTo($childName) === true && $child->hasChild($childName) === true) {
-                return $child->getChild($childName);
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * helper method to detect the real child name
-     *
-     * @param   string  $name
-     * @return  string
-     */
-    protected function getRealChildName($name)
-    {
-        if ($this->appliesTo($name) === true) {
-            return self::getChildName($name, $this->name);
-        }
-
-        return $name;
-    }
-
-    /**
-     * helper method to calculate the child name
-     *
-     * @param   string  $name
-     * @param   string  $ownName
-     * @return  string
-     */
-    protected static function getChildName($name, $ownName)
-    {
-        if ($name === $ownName) {
-            return $name;
-        }
-
-        return substr($name, strlen($ownName) + 1);
-    }
-
-    /**
-     * checks whether directory contains any children
-     *
-     * @return  bool
-     * @since   0.10.0
-     */
-    public function hasChildren()
-    {
-        return (count($this->children) > 0);
-    }
-
-    /**
-     * returns a list of children for this directory
-     *
-     * @return  vfsStreamContent[]
-     */
-    public function getChildren()
-    {
-        return array_values($this->children);
-    }
-
-    /**
-     * returns iterator for the children
-     *
-     * @return  vfsStreamContainerIterator
-     */
-    public function getIterator()
-    {
-        return new vfsStreamContainerIterator($this->children);
-    }
-
-    /**
-     * checks whether dir is a dot dir
-     *
-     * @return  bool
-     */
-    public function isDot()
-    {
-        if ('.' === $this->name || '..' === $this->name) {
-            return true;
-        }
-
-        return false;
-    }
-}
-?>
\ No newline at end of file
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamException.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamException.php
deleted file mode 100644
index aa79d64..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamException.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-/**
- * Exception for vfsStream errors.
- *
- * @api
- */
-class vfsStreamException extends \Exception
-{
-    // intentionally empty
-}
-?>
\ No newline at end of file
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamFile.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamFile.php
deleted file mode 100644
index 7e5f065..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamFile.php
+++ /dev/null
@@ -1,394 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-use org\bovigo\vfs\content\FileContent;
-use org\bovigo\vfs\content\StringBasedFileContent;
-/**
- * File container.
- *
- * @api
- */
-class vfsStreamFile extends vfsStreamAbstractContent
-{
-    /**
-     * content of the file
-     *
-     * @type  FileContent
-     */
-    private $content;
-    /**
-     * Resource id which exclusively locked this file
-     *
-     * @type  string
-     */
-    protected $exclusiveLock;
-    /**
-     * Resources ids which currently holds shared lock to this file
-     *
-     * @type  bool[string]
-     */
-    protected $sharedLock = array();
-
-    /**
-     * constructor
-     *
-     * @param  string  $name
-     * @param  int     $permissions  optional
-     */
-    public function __construct($name, $permissions = null)
-    {
-        $this->content = new StringBasedFileContent(null);
-        $this->type    = vfsStreamContent::TYPE_FILE;
-        parent::__construct($name, $permissions);
-    }
-
-    /**
-     * returns default permissions for concrete implementation
-     *
-     * @return  int
-     * @since   0.8.0
-     */
-    protected function getDefaultPermissions()
-    {
-        return 0666;
-    }
-
-    /**
-     * checks whether the container can be applied to given name
-     *
-     * @param   string  $name
-     * @return  bool
-     */
-    public function appliesTo($name)
-    {
-        return ($name === $this->name);
-    }
-
-    /**
-     * alias for withContent()
-     *
-     * @param   string  $content
-     * @return  vfsStreamFile
-     * @see     withContent()
-     */
-    public function setContent($content)
-    {
-        return $this->withContent($content);
-    }
-
-    /**
-     * sets the contents of the file
-     *
-     * Setting content with this method does not change the time when the file
-     * was last modified.
-     *
-     * @param   string]FileContent  $content
-     * @return  vfsStreamFile
-     * @throws  \InvalidArgumentException
-     */
-    public function withContent($content)
-    {
-        if (is_string($content)) {
-            $this->content = new StringBasedFileContent($content);
-        } elseif ($content instanceof FileContent) {
-            $this->content = $content;
-        } else {
-            throw new \InvalidArgumentException('Given content must either be a string or an instance of org\bovigo\vfs\content\FileContent');
-        }
-
-        return $this;
-    }
-
-    /**
-     * returns the contents of the file
-     *
-     * Getting content does not change the time when the file
-     * was last accessed.
-     *
-     * @return  string
-     */
-    public function getContent()
-    {
-        return $this->content->content();
-    }
-
-    /**
-     * simply open the file
-     *
-     * @since  0.9
-     */
-    public function open()
-    {
-        $this->content->seek(0, SEEK_SET);
-        $this->lastAccessed = time();
-    }
-
-    /**
-     * open file and set pointer to end of file
-     *
-     * @since  0.9
-     */
-    public function openForAppend()
-    {
-        $this->content->seek(0, SEEK_END);
-        $this->lastAccessed = time();
-    }
-
-    /**
-     * open file and truncate content
-     *
-     * @since  0.9
-     */
-    public function openWithTruncate()
-    {
-        $this->open();
-        $this->content->truncate(0);
-        $time               = time();
-        $this->lastAccessed = $time;
-        $this->lastModified = $time;
-    }
-
-    /**
-     * reads the given amount of bytes from content
-     *
-     * Using this method changes the time when the file was last accessed.
-     *
-     * @param   int     $count
-     * @return  string
-     */
-    public function read($count)
-    {
-        $this->lastAccessed = time();
-        return $this->content->read($count);
-    }
-
-    /**
-     * returns the content until its end from current offset
-     *
-     * Using this method changes the time when the file was last accessed.
-     *
-     * @return  string
-     * @deprecated  since 1.3.0
-     */
-    public function readUntilEnd()
-    {
-        $this->lastAccessed = time();
-        return $this->content->readUntilEnd();
-    }
-
-    /**
-     * writes an amount of data
-     *
-     * Using this method changes the time when the file was last modified.
-     *
-     * @param   string  $data
-     * @return  amount of written bytes
-     */
-    public function write($data)
-    {
-        $this->lastModified = time();
-        return $this->content->write($data);
-    }
-
-    /**
-     * Truncates a file to a given length
-     *
-     * @param   int  $size length to truncate file to
-     * @return  bool
-     * @since   1.1.0
-     */
-    public function truncate($size)
-    {
-        $this->content->truncate($size);
-        $this->lastModified = time();
-        return true;
-    }
-
-    /**
-     * checks whether pointer is at end of file
-     *
-     * @return  bool
-     */
-    public function eof()
-    {
-        return $this->content->eof();
-    }
-
-    /**
-     * returns the current position within the file
-     *
-     * @return  int
-     * @deprecated  since 1.3.0
-     */
-    public function getBytesRead()
-    {
-        return $this->content->bytesRead();
-    }
-
-    /**
-     * seeks to the given offset
-     *
-     * @param   int   $offset
-     * @param   int   $whence
-     * @return  bool
-     */
-    public function seek($offset, $whence)
-    {
-        return $this->content->seek($offset, $whence);
-    }
-
-    /**
-     * returns size of content
-     *
-     * @return  int
-     */
-    public function size()
-    {
-        return $this->content->size();
-    }
-
-
-    /**
-     * locks file for
-     *
-     * @param   resource|vfsStreamWrapper $resource
-     * @param   int  $operation
-     * @return  bool
-     * @since   0.10.0
-     * @see     https://github.com/mikey179/vfsStream/issues/6
-     * @see     https://github.com/mikey179/vfsStream/issues/40
-     */
-    public function lock($resource, $operation)
-    {
-        if ((LOCK_NB & $operation) == LOCK_NB) {
-            $operation = $operation - LOCK_NB;
-        }
-
-        // call to lock file on the same file handler firstly releases the lock
-        $this->unlock($resource);
-
-        if (LOCK_EX === $operation) {
-            if ($this->isLocked()) {
-                return false;
-            }
-
-            $this->setExclusiveLock($resource);
-        } elseif(LOCK_SH === $operation) {
-            if ($this->hasExclusiveLock()) {
-                return false;
-            }
-
-            $this->addSharedLock($resource);
-        }
-
-        return true;
-    }
-
-    /**
-     * Removes lock from file acquired by given resource
-     *
-     * @param   resource|vfsStreamWrapper $resource
-     * @see     https://github.com/mikey179/vfsStream/issues/40
-     */
-    public function unlock($resource) {
-        if ($this->hasExclusiveLock($resource)) {
-            $this->exclusiveLock = null;
-        }
-        if ($this->hasSharedLock($resource)) {
-            unset($this->sharedLock[$this->getResourceId($resource)]);
-        }
-    }
-
-    /**
-     * Set exlusive lock on file by given resource
-     *
-     * @param   resource|vfsStreamWrapper $resource
-     * @see     https://github.com/mikey179/vfsStream/issues/40
-     */
-    protected function setExclusiveLock($resource) {
-        $this->exclusiveLock = $this->getResourceId($resource);
-    }
-
-    /**
-     * Add shared lock on file by given resource
-     *
-     * @param   resource|vfsStreamWrapper $resource
-     * @see     https://github.com/mikey179/vfsStream/issues/40
-     */
-    protected function addSharedLock($resource) {
-        $this->sharedLock[$this->getResourceId($resource)] = true;
-    }
-
-    /**
-     * checks whether file is locked
-     *
-     * @param   resource|vfsStreamWrapper $resource
-     * @return  bool
-     * @since   0.10.0
-     * @see     https://github.com/mikey179/vfsStream/issues/6
-     * @see     https://github.com/mikey179/vfsStream/issues/40
-     */
-    public function isLocked($resource = null)
-    {
-        return $this->hasSharedLock($resource) || $this->hasExclusiveLock($resource);
-    }
-
-    /**
-     * checks whether file is locked in shared mode
-     *
-     * @param   resource|vfsStreamWrapper $resource
-     * @return  bool
-     * @since   0.10.0
-     * @see     https://github.com/mikey179/vfsStream/issues/6
-     * @see     https://github.com/mikey179/vfsStream/issues/40
-     */
-    public function hasSharedLock($resource = null)
-    {
-        if (null !== $resource) {
-            return isset($this->sharedLock[$this->getResourceId($resource)]);
-        }
-
-        return !empty($this->sharedLock);
-    }
-
-    /**
-     * Returns unique resource id
-     *
-     * @param   resource|vfsStreamWrapper $resource
-     * @return  string
-     * @see     https://github.com/mikey179/vfsStream/issues/40
-     */
-    public function getResourceId($resource) {
-        if (is_resource($resource)) {
-            $data = stream_get_meta_data($resource);
-            $resource = $data['wrapper_data'];
-        }
-
-        return spl_object_hash($resource);
-    }
-
-    /**
-     * checks whether file is locked in exclusive mode
-     *
-     * @param   resource|vfsStreamWrapper $resource
-     * @return  bool
-     * @since   0.10.0
-     * @see     https://github.com/mikey179/vfsStream/issues/6
-     * @see     https://github.com/mikey179/vfsStream/issues/40
-     */
-    public function hasExclusiveLock($resource = null)
-    {
-        if (null !== $resource) {
-            return $this->exclusiveLock === $this->getResourceId($resource);
-        }
-
-        return null !== $this->exclusiveLock;
-    }
-}
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php
deleted file mode 100644
index 31c021e..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php
+++ /dev/null
@@ -1,986 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs;
-/**
- * Stream wrapper to mock file system requests.
- */
-class vfsStreamWrapper
-{
-    /**
-     * open file for reading
-     */
-    const READ                   = 'r';
-    /**
-     * truncate file
-     */
-    const TRUNCATE               = 'w';
-    /**
-     * set file pointer to end, append new data
-     */
-    const APPEND                 = 'a';
-    /**
-     * set file pointer to start, overwrite existing data
-     */
-    const WRITE                  = 'x';
-    /**
-     * set file pointer to start, overwrite existing data; or create file if
-     * does not exist
-     */
-    const WRITE_NEW              = 'c';
-    /**
-     * file mode: read only
-     */
-    const READONLY               = 0;
-    /**
-     * file mode: write only
-     */
-    const WRITEONLY              = 1;
-    /**
-     * file mode: read and write
-     */
-    const ALL                    = 2;
-    /**
-     * switch whether class has already been registered as stream wrapper or not
-     *
-     * @type  bool
-     */
-    protected static $registered = false;
-    /**
-     * root content
-     *
-     * @type  vfsStreamContent
-     */
-    protected static $root;
-    /**
-     * disk space quota
-     *
-     * @type  Quota
-     */
-    private static $quota;
-    /**
-     * file mode: read only, write only, all
-     *
-     * @type  int
-     */
-    protected $mode;
-    /**
-     * shortcut to file container
-     *
-     * @type  vfsStreamFile
-     */
-    protected $content;
-    /**
-     * shortcut to directory container
-     *
-     * @type  vfsStreamDirectory
-     */
-    protected $dir;
-    /**
-     * shortcut to directory container iterator
-     *
-     * @type  vfsStreamDirectory
-     */
-    protected $dirIterator;
-
-    /**
-     * method to register the stream wrapper
-     *
-     * Please be aware that a call to this method will reset the root element
-     * to null.
-     * If the stream is already registered the method returns silently. If there
-     * is already another stream wrapper registered for the scheme used by
-     * vfsStream a vfsStreamException will be thrown.
-     *
-     * @throws  vfsStreamException
-     */
-    public static function register()
-    {
-        self::$root  = null;
-        self::$quota = Quota::unlimited();
-        if (true === self::$registered) {
-            return;
-        }
-
-        if (@stream_wrapper_register(vfsStream::SCHEME, __CLASS__) === false) {
-            throw new vfsStreamException('A handler has already been registered for the ' . vfsStream::SCHEME . ' protocol.');
-        }
-
-        self::$registered = true;
-    }
-
-    /**
-     * sets the root content
-     *
-     * @param   vfsStreamContainer  $root
-     * @return  vfsStreamContainer
-     */
-    public static function setRoot(vfsStreamContainer $root)
-    {
-        self::$root = $root;
-        clearstatcache();
-        return self::$root;
-    }
-
-    /**
-     * returns the root content
-     *
-     * @return  vfsStreamContainer
-     */
-    public static function getRoot()
-    {
-        return self::$root;
-    }
-
-    /**
-     * sets quota for disk space
-     *
-     * @param  Quota  $quota
-     * @since  1.1.0
-     */
-    public static function setQuota(Quota $quota)
-    {
-        self::$quota = $quota;
-    }
-
-    /**
-     * returns content for given path
-     *
-     * @param   string  $path
-     * @return  vfsStreamContent
-     */
-    protected function getContent($path)
-    {
-        if (null === self::$root) {
-            return null;
-        }
-
-        if (self::$root->getName() === $path) {
-            return self::$root;
-        }
-
-        if ($this->isInRoot($path) && self::$root->hasChild($path) === true) {
-            return self::$root->getChild($path);
-        }
-
-        return null;
-    }
-
-    /**
-     * helper method to detect whether given path is in root path
-     *
-     * @param   string  $path
-     * @return  bool
-     */
-    private function isInRoot($path)
-    {
-        return substr($path, 0, strlen(self::$root->getName())) === self::$root->getName();
-    }
-
-    /**
-     * returns content for given path but only when it is of given type
-     *
-     * @param   string  $path
-     * @param   int     $type
-     * @return  vfsStreamContent
-     */
-    protected function getContentOfType($path, $type)
-    {
-        $content = $this->getContent($path);
-        if (null !== $content && $content->getType() === $type) {
-            return $content;
-        }
-
-        return null;
-    }
-
-    /**
-     * splits path into its dirname and the basename
-     *
-     * @param   string  $path
-     * @return  string[]
-     */
-    protected function splitPath($path)
-    {
-        $lastSlashPos = strrpos($path, '/');
-        if (false === $lastSlashPos) {
-            return array('dirname' => '', 'basename' => $path);
-        }
-
-        return array('dirname'  => substr($path, 0, $lastSlashPos),
-                     'basename' => substr($path, $lastSlashPos + 1)
-               );
-    }
-
-    /**
-     * helper method to resolve a path from /foo/bar/. to /foo/bar
-     *
-     * @param   string  $path
-     * @return  string
-     */
-    protected function resolvePath($path)
-    {
-        $newPath  = array();
-        foreach (explode('/', $path) as $pathPart) {
-            if ('.' !== $pathPart) {
-                if ('..' !== $pathPart) {
-                    $newPath[] = $pathPart;
-                } else {
-                    array_pop($newPath);
-                }
-            }
-        }
-
-        return implode('/', $newPath);
-    }
-
-    /**
-     * open the stream
-     *
-     * @param   string  $path         the path to open
-     * @param   string  $mode         mode for opening
-     * @param   string  $options      options for opening
-     * @param   string  $opened_path  full path that was actually opened
-     * @return  bool
-     */
-    public function stream_open($path, $mode, $options, $opened_path)
-    {
-        $extended = ((strstr($mode, '+') !== false) ? (true) : (false));
-        $mode     = str_replace(array('t', 'b', '+'), '', $mode);
-        if (in_array($mode, array('r', 'w', 'a', 'x', 'c')) === false) {
-            if (($options & STREAM_REPORT_ERRORS) === STREAM_REPORT_ERRORS) {
-                trigger_error('Illegal mode ' . $mode . ', use r, w, a, x  or c, flavoured with t, b and/or +', E_USER_WARNING);
-            }
-
-            return false;
-        }
-
-        $this->mode    = $this->calculateMode($mode, $extended);
-        $path          = $this->resolvePath(vfsStream::path($path));
-        $this->content = $this->getContentOfType($path, vfsStreamContent::TYPE_FILE);
-        if (null !== $this->content) {
-            if (self::WRITE === $mode) {
-                if (($options & STREAM_REPORT_ERRORS) === STREAM_REPORT_ERRORS) {
-                    trigger_error('File ' . $path . ' already exists, can not open with mode x', E_USER_WARNING);
-                }
-
-                return false;
-            }
-
-            if (
-                (self::TRUNCATE === $mode || self::APPEND === $mode) &&
-                $this->content->isWritable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup()) === false
-            ) {
-                return false;
-            }
-
-            if (self::TRUNCATE === $mode) {
-                $this->content->openWithTruncate();
-            } elseif (self::APPEND === $mode) {
-                $this->content->openForAppend();
-            } else {
-                if (!$this->content->isReadable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup())) {
-                    if (($options & STREAM_REPORT_ERRORS) === STREAM_REPORT_ERRORS) {
-                        trigger_error('Permission denied', E_USER_WARNING);
-                    }
-                    return false;
-                }
-                $this->content->open();
-            }
-
-            return true;
-        }
-
-        $content = $this->createFile($path, $mode, $options);
-        if (false === $content) {
-            return false;
-        }
-
-        $this->content = $content;
-        return true;
-    }
-
-    /**
-     * creates a file at given path
-     *
-     * @param   string  $path     the path to open
-     * @param   string  $mode     mode for opening
-     * @param   string  $options  options for opening
-     * @return  bool
-     */
-    private function createFile($path, $mode = null, $options = null)
-    {
-        $names = $this->splitPath($path);
-        if (empty($names['dirname']) === true) {
-            if (($options & STREAM_REPORT_ERRORS) === STREAM_REPORT_ERRORS) {
-                trigger_error('File ' . $names['basename'] . ' does not exist', E_USER_WARNING);
-            }
-
-            return false;
-        }
-
-        $dir = $this->getContentOfType($names['dirname'], vfsStreamContent::TYPE_DIR);
-        if (null === $dir) {
-            if (($options & STREAM_REPORT_ERRORS) === STREAM_REPORT_ERRORS) {
-                trigger_error('Directory ' . $names['dirname'] . ' does not exist', E_USER_WARNING);
-            }
-
-            return false;
-        } elseif ($dir->hasChild($names['basename']) === true) {
-            if (($options & STREAM_REPORT_ERRORS) === STREAM_REPORT_ERRORS) {
-                trigger_error('Directory ' . $names['dirname'] . ' already contains a director named ' . $names['basename'], E_USER_WARNING);
-            }
-
-            return false;
-        }
-
-        if (self::READ === $mode) {
-            if (($options & STREAM_REPORT_ERRORS) === STREAM_REPORT_ERRORS) {
-                trigger_error('Can not open non-existing file ' . $path . ' for reading', E_USER_WARNING);
-            }
-
-            return false;
-        }
-
-        if ($dir->isWritable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup()) === false) {
-            if (($options & STREAM_REPORT_ERRORS) === STREAM_REPORT_ERRORS) {
-                trigger_error('Can not create new file in non-writable path ' . $names['dirname'], E_USER_WARNING);
-            }
-
-            return false;
-        }
-
-        return vfsStream::newFile($names['basename'])->at($dir);
-    }
-
-    /**
-     * calculates the file mode
-     *
-     * @param   string  $mode      opening mode: r, w, a or x
-     * @param   bool    $extended  true if + was set with opening mode
-     * @return  int
-     */
-    protected function calculateMode($mode, $extended)
-    {
-        if (true === $extended) {
-            return self::ALL;
-        }
-
-        if (self::READ === $mode) {
-            return self::READONLY;
-        }
-
-        return self::WRITEONLY;
-    }
-
-    /**
-     * closes the stream
-     *
-     * @see     https://github.com/mikey179/vfsStream/issues/40
-     */
-    public function stream_close()
-    {
-        $this->content->lock($this, LOCK_UN);
-    }
-
-    /**
-     * read the stream up to $count bytes
-     *
-     * @param   int     $count  amount of bytes to read
-     * @return  string
-     */
-    public function stream_read($count)
-    {
-        if (self::WRITEONLY === $this->mode) {
-            return '';
-        }
-
-        if ($this->content->isReadable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup()) === false) {
-            return '';
-        }
-
-        return $this->content->read($count);
-    }
-
-    /**
-     * writes data into the stream
-     *
-     * @param   string  $data
-     * @return  int     amount of bytes written
-     */
-    public function stream_write($data)
-    {
-        if (self::READONLY === $this->mode) {
-            return 0;
-        }
-
-        if ($this->content->isWritable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup()) === false) {
-            return 0;
-        }
-
-        if (self::$quota->isLimited()) {
-            $data = substr($data, 0, self::$quota->spaceLeft(self::$root->sizeSummarized()));
-        }
-
-        return $this->content->write($data);
-    }
-
-    /**
-     * truncates a file to a given length
-     *
-     * @param   int  $size  length to truncate file to
-     * @return  bool
-     * @since   1.1.0
-     */
-    public function stream_truncate($size)
-    {
-        if (self::READONLY === $this->mode) {
-            return false;
-        }
-
-        if ($this->content->isWritable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup()) === false) {
-            return false;
-        }
-
-        if ($this->content->getType() !== vfsStreamContent::TYPE_FILE) {
-            return false;
-        }
-
-        if (self::$quota->isLimited() && $this->content->size() < $size) {
-            $maxSize = self::$quota->spaceLeft(self::$root->sizeSummarized());
-            if (0 === $maxSize) {
-                return false;
-            }
-
-            if ($size > $maxSize) {
-                $size = $maxSize;
-            }
-        }
-
-        return $this->content->truncate($size);
-    }
-
-    /**
-     * sets metadata like owner, user or permissions
-     *
-     * @param   string  $path
-     * @param   int     $option
-     * @param   mixed   $var
-     * @return  bool
-     * @since   1.1.0
-     */
-    public function stream_metadata($path, $option, $var)
-    {
-        $path    = $this->resolvePath(vfsStream::path($path));
-        $content = $this->getContent($path);
-        switch ($option) {
-            case STREAM_META_TOUCH:
-                if (null === $content) {
-                    $content = $this->createFile($path, null, STREAM_REPORT_ERRORS);
-                    // file creation may not be allowed at provided path
-                    if (false === $content) {
-                        return false;
-                    }
-                }
-
-                $currentTime = time();
-                $content->lastModified(((isset($var[0])) ? ($var[0]) : ($currentTime)))
-                        ->lastAccessed(((isset($var[1])) ? ($var[1]) : ($currentTime)));
-                return true;
-
-            case STREAM_META_OWNER_NAME:
-                return false;
-
-            case STREAM_META_OWNER:
-                if (null === $content) {
-                    return false;
-                }
-
-                return $this->doPermChange($path,
-                                           $content,
-                                           function() use ($content, $var)
-                                           {
-                                               $content->chown($var);
-                                           }
-                );
-
-            case STREAM_META_GROUP_NAME:
-                return false;
-
-            case STREAM_META_GROUP:
-                if (null === $content) {
-                    return false;
-                }
-
-                return $this->doPermChange($path,
-                                           $content,
-                                           function() use ($content, $var)
-                                           {
-                                               $content->chgrp($var);
-                                           }
-                );
-
-            case STREAM_META_ACCESS:
-                if (null === $content) {
-                    return false;
-                }
-
-                return $this->doPermChange($path,
-                                           $content,
-                                           function() use ($content, $var)
-                                           {
-                                               $content->chmod($var);
-                                           }
-                );
-
-            default:
-                return false;
-        }
-    }
-
-    /**
-     * executes given permission change when necessary rights allow such a change
-     *
-     * @param   string                    $path
-     * @param   vfsStreamAbstractContent  $content
-     * @param   \Closure                  $change
-     * @return  bool
-     */
-    private function doPermChange($path, vfsStreamAbstractContent $content, \Closure $change)
-    {
-        if (!$content->isOwnedByUser(vfsStream::getCurrentUser())) {
-            return false;
-        }
-
-        if (self::$root->getName() !== $path) {
-            $names   = $this->splitPath($path);
-            $parent = $this->getContent($names['dirname']);
-            if (!$parent->isWritable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup())) {
-                return false;
-            }
-        }
-
-        $change();
-        return true;
-    }
-
-    /**
-     * checks whether stream is at end of file
-     *
-     * @return  bool
-     */
-    public function stream_eof()
-    {
-        return $this->content->eof();
-    }
-
-    /**
-     * returns the current position of the stream
-     *
-     * @return  int
-     */
-    public function stream_tell()
-    {
-        return $this->content->getBytesRead();
-    }
-
-    /**
-     * seeks to the given offset
-     *
-     * @param   int   $offset
-     * @param   int   $whence
-     * @return  bool
-     */
-    public function stream_seek($offset, $whence)
-    {
-        return $this->content->seek($offset, $whence);
-    }
-
-    /**
-     * flushes unstored data into storage
-     *
-     * @return  bool
-     */
-    public function stream_flush()
-    {
-        return true;
-    }
-
-    /**
-     * returns status of stream
-     *
-     * @return  array
-     */
-    public function stream_stat()
-    {
-        $fileStat = array('dev'     => 0,
-                          'ino'     => 0,
-                          'mode'    => $this->content->getType() | $this->content->getPermissions(),
-                          'nlink'   => 0,
-                          'uid'     => $this->content->getUser(),
-                          'gid'     => $this->content->getGroup(),
-                          'rdev'    => 0,
-                          'size'    => $this->content->size(),
-                          'atime'   => $this->content->fileatime(),
-                          'mtime'   => $this->content->filemtime(),
-                          'ctime'   => $this->content->filectime(),
-                          'blksize' => -1,
-                          'blocks'  => -1
-                    );
-        return array_merge(array_values($fileStat), $fileStat);
-    }
-
-    /**
-     * retrieve the underlaying resource
-     *
-     * Please note that this method always returns false as there is no
-     * underlaying resource to return.
-     *
-     * @param   int  $cast_as
-     * @since   0.9.0
-     * @see     https://github.com/mikey179/vfsStream/issues/3
-     * @return  bool
-     */
-    public function stream_cast($cast_as)
-    {
-        return false;
-    }
-
-    /**
-     * set lock status for stream
-     *
-     * @param   int   $operation
-     * @return  bool
-     * @since   0.10.0
-     * @see     https://github.com/mikey179/vfsStream/issues/6
-     * @see     https://github.com/mikey179/vfsStream/issues/31
-     * @see     https://github.com/mikey179/vfsStream/issues/40
-     */
-    public function stream_lock($operation)
-    {
-        if ((LOCK_NB & $operation) == LOCK_NB) {
-            $operation = $operation - LOCK_NB;
-        }
-
-        return $this->content->lock($this, $operation);
-    }
-
-    /**
-     * sets options on the stream
-     *
-     * @param   int   $option  key of option to set
-     * @param   int   $arg1
-     * @param   int   $arg2
-     * @return  bool
-     * @since   0.10.0
-     * @see     https://github.com/mikey179/vfsStream/issues/15
-     * @see     http://www.php.net/manual/streamwrapper.stream-set-option.php
-     */
-    public function stream_set_option($option, $arg1, $arg2)
-    {
-        switch ($option) {
-            case STREAM_OPTION_BLOCKING:
-                // break omitted
-
-            case STREAM_OPTION_READ_TIMEOUT:
-                // break omitted
-
-            case STREAM_OPTION_WRITE_BUFFER:
-                // break omitted
-
-            default:
-                // nothing to do here
-        }
-
-        return false;
-    }
-
-    /**
-     * remove the data under the given path
-     *
-     * @param   string  $path
-     * @return  bool
-     */
-    public function unlink($path)
-    {
-        $realPath = $this->resolvePath(vfsStream::path($path));
-        $content  = $this->getContent($realPath);
-        if (null === $content) {
-            trigger_error('unlink(' . $path . '): No such file or directory', E_USER_WARNING);
-            return false;
-        }
-
-        if ($content->getType() !== vfsStreamContent::TYPE_FILE) {
-            trigger_error('unlink(' . $path . '): Operation not permitted', E_USER_WARNING);
-            return false;
-        }
-
-        return $this->doUnlink($realPath);
-    }
-
-    /**
-     * removes a path
-     *
-     * @param   string  $path
-     * @return  bool
-     */
-    protected function doUnlink($path)
-    {
-        if (self::$root->getName() === $path) {
-            // delete root? very brave. :)
-            self::$root = null;
-            clearstatcache();
-            return true;
-        }
-
-        $names   = $this->splitPath($path);
-        $content = $this->getContent($names['dirname']);
-        if (!$content->isWritable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup())) {
-            return false;
-        }
-
-        clearstatcache();
-        return $content->removeChild($names['basename']);
-    }
-
-    /**
-     * rename from one path to another
-     *
-     * @param   string  $path_from
-     * @param   string  $path_to
-     * @return  bool
-     * @author  Benoit Aubuchon
-     */
-    public function rename($path_from, $path_to)
-    {
-        $srcRealPath = $this->resolvePath(vfsStream::path($path_from));
-        $dstRealPath = $this->resolvePath(vfsStream::path($path_to));
-        $srcContent  = $this->getContent($srcRealPath);
-        if (null == $srcContent) {
-            trigger_error(' No such file or directory', E_USER_WARNING);
-            return false;
-        }
-        $dstNames = $this->splitPath($dstRealPath);
-        $dstParentContent = $this->getContent($dstNames['dirname']);
-        if (null == $dstParentContent) {
-            trigger_error('No such file or directory', E_USER_WARNING);
-            return false;
-        }
-        if (!$dstParentContent->isWritable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup())) {
-            trigger_error('Permission denied', E_USER_WARNING);
-            return false;
-        }
-        if ($dstParentContent->getType() !== vfsStreamContent::TYPE_DIR) {
-            trigger_error('Target is not a directory', E_USER_WARNING);
-            return false;
-        }
-
-        // remove old source first, so we can rename later
-        // (renaming first would lead to not being able to remove the old path)
-        if (!$this->doUnlink($srcRealPath)) {
-            return false;
-        }
-
-        $dstContent = $srcContent;
-        // Renaming the filename
-        $dstContent->rename($dstNames['basename']);
-        // Copying to the destination
-        $dstParentContent->addChild($dstContent);
-        return true;
-    }
-
-    /**
-     * creates a new directory
-     *
-     * @param   string  $path
-     * @param   int     $mode
-     * @param   int     $options
-     * @return  bool
-     */
-    public function mkdir($path, $mode, $options)
-    {
-        $umask = vfsStream::umask();
-        if (0 < $umask) {
-            $permissions = $mode & ~$umask;
-        } else {
-            $permissions = $mode;
-        }
-
-        $path = $this->resolvePath(vfsStream::path($path));
-        if (null !== $this->getContent($path)) {
-            trigger_error('mkdir(): Path vfs://' . $path . ' exists', E_USER_WARNING);
-            return false;
-        }
-
-        if (null === self::$root) {
-            self::$root = vfsStream::newDirectory($path, $permissions);
-            return true;
-        }
-
-        $maxDepth = count(explode('/', $path));
-        $names    = $this->splitPath($path);
-        $newDirs  = $names['basename'];
-        $dir      = null;
-        $i        = 0;
-        while ($dir === null && $i < $maxDepth) {
-            $dir     = $this->getContent($names['dirname']);
-            $names   = $this->splitPath($names['dirname']);
-            if (null == $dir) {
-                $newDirs = $names['basename'] . '/' . $newDirs;
-            }
-
-            $i++;
-        }
-
-        if (null === $dir
-          || $dir->getType() !== vfsStreamContent::TYPE_DIR
-          || $dir->isWritable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup()) === false) {
-            return false;
-        }
-
-        $recursive = ((STREAM_MKDIR_RECURSIVE & $options) !== 0) ? (true) : (false);
-        if (strpos($newDirs, '/') !== false && false === $recursive) {
-            return false;
-        }
-
-        vfsStream::newDirectory($newDirs, $permissions)->at($dir);
-        return true;
-    }
-
-    /**
-     * removes a directory
-     *
-     * @param   string  $path
-     * @param   int     $options
-     * @return  bool
-     * @todo    consider $options with STREAM_MKDIR_RECURSIVE
-     */
-    public function rmdir($path, $options)
-    {
-        $path  = $this->resolvePath(vfsStream::path($path));
-        $child = $this->getContentOfType($path, vfsStreamContent::TYPE_DIR);
-        if (null === $child) {
-            return false;
-        }
-
-        // can only remove empty directories
-        if (count($child->getChildren()) > 0) {
-            return false;
-        }
-
-        if (self::$root->getName() === $path) {
-            // delete root? very brave. :)
-            self::$root = null;
-            clearstatcache();
-            return true;
-        }
-
-        $names = $this->splitPath($path);
-        $dir   = $this->getContentOfType($names['dirname'], vfsStreamContent::TYPE_DIR);
-        if ($dir->isWritable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup()) === false) {
-            return false;
-        }
-
-        clearstatcache();
-        return $dir->removeChild($child->getName());
-    }
-
-    /**
-     * opens a directory
-     *
-     * @param   string  $path
-     * @param   int     $options
-     * @return  bool
-     */
-    public function dir_opendir($path, $options)
-    {
-        $path      = $this->resolvePath(vfsStream::path($path));
-        $this->dir = $this->getContentOfType($path, vfsStreamContent::TYPE_DIR);
-        if (null === $this->dir || $this->dir->isReadable(vfsStream::getCurrentUser(), vfsStream::getCurrentGroup()) === false) {
-            return false;
-        }
-
-        $this->dirIterator = $this->dir->getIterator();
-        return true;
-    }
-
-    /**
-     * reads directory contents
-     *
-     * @return  string
-     */
-    public function dir_readdir()
-    {
-        $dir = $this->dirIterator->current();
-        if (null === $dir) {
-            return false;
-        }
-
-        $this->dirIterator->next();
-        return $dir->getName();
-    }
-
-    /**
-     * reset directory iteration
-     *
-     * @return  bool
-     */
-    public function dir_rewinddir()
-    {
-        return $this->dirIterator->rewind();
-    }
-
-    /**
-     * closes directory
-     *
-     * @return  bool
-     */
-    public function dir_closedir()
-    {
-        $this->dirIterator = null;
-        return true;
-    }
-
-    /**
-     * returns status of url
-     *
-     * @param   string  $path   path of url to return status for
-     * @param   int     $flags  flags set by the stream API
-     * @return  array
-     */
-    public function url_stat($path, $flags)
-    {
-        $content = $this->getContent($this->resolvePath(vfsStream::path($path)));
-        if (null === $content) {
-            if (($flags & STREAM_URL_STAT_QUIET) != STREAM_URL_STAT_QUIET) {
-                trigger_error(' No such file or directory: ' . $path, E_USER_WARNING);
-            }
-
-            return false;
-
-        }
-
-        $fileStat = array('dev'     => 0,
-                          'ino'     => 0,
-                          'mode'    => $content->getType() | $content->getPermissions(),
-                          'nlink'   => 0,
-                          'uid'     => $content->getUser(),
-                          'gid'     => $content->getGroup(),
-                          'rdev'    => 0,
-                          'size'    => $content->size(),
-                          'atime'   => $content->fileatime(),
-                          'mtime'   => $content->filemtime(),
-                          'ctime'   => $content->filectime(),
-                          'blksize' => -1,
-                          'blocks'  => -1
-                    );
-        return array_merge(array_values($fileStat), $fileStat);
-    }
-}
-?>
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamAbstractVisitor.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamAbstractVisitor.php
deleted file mode 100644
index 4f8c286..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamAbstractVisitor.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs\visitor;
-use org\bovigo\vfs\vfsStreamContent;
-use org\bovigo\vfs\vfsStreamBlock;
-
-/**
- * Abstract base class providing an implementation for the visit() method.
- *
- * @since  0.10.0
- * @see    https://github.com/mikey179/vfsStream/issues/10
- */
-abstract class vfsStreamAbstractVisitor implements vfsStreamVisitor
-{
-    /**
-     * visit a content and process it
-     *
-     * @param   vfsStreamContent  $content
-     * @return  vfsStreamVisitor
-     * @throws  \InvalidArgumentException
-     */
-    public function visit(vfsStreamContent $content)
-    {
-        switch ($content->getType()) {
-            case vfsStreamContent::TYPE_BLOCK:
-                $this->visitBlockDevice($content);
-                break;
-
-            case vfsStreamContent::TYPE_FILE:
-                $this->visitFile($content);
-                break;
-
-            case vfsStreamContent::TYPE_DIR:
-                if (!$content->isDot()) {
-                    $this->visitDirectory($content);
-                }
-
-                break;
-
-            default:
-                throw new \InvalidArgumentException('Unknown content type ' . $content->getType() . ' for ' . $content->getName());
-        }
-
-        return $this;
-    }
-
-    /**
-     * visit a block device and process it
-     *
-     * @param   vfsStreamBlock $block
-     * @return  vfsStreamVisitor
-     */
-    public function visitBlockDevice(vfsStreamBlock $block)
-    {
-        return $this->visitFile($block);
-    }
-}
-?>
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamPrintVisitor.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamPrintVisitor.php
deleted file mode 100644
index 4175485..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamPrintVisitor.php
+++ /dev/null
@@ -1,108 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs\visitor;
-use org\bovigo\vfs\vfsStreamContent;
-use org\bovigo\vfs\vfsStreamDirectory;
-use org\bovigo\vfs\vfsStreamFile;
-use org\bovigo\vfs\vfsStreamBlock;
-
-/**
- * Visitor which traverses a content structure recursively to print it to an output stream.
- *
- * @since  0.10.0
- * @see    https://github.com/mikey179/vfsStream/issues/10
- */
-class vfsStreamPrintVisitor extends vfsStreamAbstractVisitor
-{
-    /**
-     * target to write output to
-     *
-     * @type  resource
-     */
-    protected $out;
-    /**
-     * current depth in directory tree
-     *
-     * @type  int
-     */
-    protected $depth;
-
-    /**
-     * constructor
-     *
-     * If no file pointer given it will fall back to STDOUT.
-     *
-     * @param   resource  $out  optional
-     * @throws  \InvalidArgumentException
-     * @api
-     */
-    public function __construct($out = STDOUT)
-    {
-        if (is_resource($out) === false || get_resource_type($out) !== 'stream') {
-            throw new \InvalidArgumentException('Given filepointer is not a resource of type stream');
-        }
-
-        $this->out = $out;
-    }
-
-    /**
-     * visit a file and process it
-     *
-     * @param   vfsStreamFile  $file
-     * @return  vfsStreamPrintVisitor
-     */
-    public function visitFile(vfsStreamFile $file)
-    {
-        $this->printContent($file->getName());
-        return $this;
-    }
-
-    /**
-     * visit a block device and process it
-     *
-     * @param   vfsStreamBlock  $block
-     * @return  vfsStreamPrintVisitor
-     */
-    public function visitBlockDevice(vfsStreamBlock $block)
-    {
-        $name = '[' . $block->getName() . ']';
-        $this->printContent($name);
-        return $this;
-    }
-
-    /**
-     * visit a directory and process it
-     *
-     * @param   vfsStreamDirectory  $dir
-     * @return  vfsStreamPrintVisitor
-     */
-    public function visitDirectory(vfsStreamDirectory $dir)
-    {
-        $this->printContent($dir->getName());
-        $this->depth++;
-        foreach ($dir as $child) {
-            $this->visit($child);
-        }
-
-        $this->depth--;
-        return $this;
-    }
-
-    /**
-     * helper method to print the content
-     *
-     * @param  string   $name
-     */
-    protected function printContent($name)
-    {
-        fwrite($this->out, str_repeat('  ', $this->depth) . '- ' . $name . "\n");
-    }
-}
-?>
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamStructureVisitor.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamStructureVisitor.php
deleted file mode 100644
index 957e5df..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamStructureVisitor.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs\visitor;
-use org\bovigo\vfs\vfsStreamDirectory;
-use org\bovigo\vfs\vfsStreamFile;
-use org\bovigo\vfs\vfsStreamBlock;
-
-/**
- * Visitor which traverses a content structure recursively to create an array structure from it.
- *
- * @since  0.10.0
- * @see    https://github.com/mikey179/vfsStream/issues/10
- */
-class vfsStreamStructureVisitor extends vfsStreamAbstractVisitor
-{
-    /**
-     * collected structure
-     *
-     * @type  array
-     */
-    protected $structure = array();
-    /**
-     * poiting to currently iterated directory
-     *
-     * @type  array
-     */
-    protected $current;
-
-    /**
-     * constructor
-     *
-     * @api
-     */
-    public function __construct()
-    {
-        $this->reset();
-    }
-
-    /**
-     * visit a file and process it
-     *
-     * @param   vfsStreamFile  $file
-     * @return  vfsStreamStructureVisitor
-     */
-    public function visitFile(vfsStreamFile $file)
-    {
-        $this->current[$file->getName()] = $file->getContent();
-        return $this;
-    }
-
-    /**
-     * visit a block device and process it
-     *
-     * @param   vfsStreamBlock $block
-     * @return  vfsStreamStructureVisitor
-     */
-    public function visitBlockDevice(vfsStreamBlock $block)
-    {
-        $this->current['[' . $block->getName() . ']'] = $block->getContent();
-        return $this;
-    }
-
-    /**
-     * visit a directory and process it
-     *
-     * @param   vfsStreamDirectory  $dir
-     * @return  vfsStreamStructureVisitor
-     */
-    public function visitDirectory(vfsStreamDirectory $dir)
-    {
-        $this->current[$dir->getName()] = array();
-        $tmp           =& $this->current;
-        $this->current =& $tmp[$dir->getName()];
-        foreach ($dir as $child) {
-            $this->visit($child);
-        }
-
-        $this->current =& $tmp;
-        return $this;
-    }
-
-    /**
-     * returns structure of visited contents
-     *
-     * @return  array
-     * @api
-     */
-    public function getStructure()
-    {
-        return $this->structure;
-    }
-
-    /**
-     * resets structure so visitor could be reused
-     *
-     * @return  vfsStreamStructureVisitor
-     */
-    public function reset()
-    {
-        $this->structure = array();
-        $this->current   =& $this->structure;
-        return $this;
-    }
-}
-?>
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamVisitor.php b/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamVisitor.php
deleted file mode 100644
index 89e4374..0000000
--- a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamVisitor.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-/**
- * This file is part of vfsStream.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @package  org\bovigo\vfs
- */
-namespace org\bovigo\vfs\visitor;
-use org\bovigo\vfs\vfsStreamContent;
-use org\bovigo\vfs\vfsStreamDirectory;
-use org\bovigo\vfs\vfsStreamFile;
-use org\bovigo\vfs\vfsStreamBlock;
-
-/**
- * Interface for a visitor to work on a vfsStream content structure.
- *
- * @since  0.10.0
- * @see    https://github.com/mikey179/vfsStream/issues/10
- */
-interface vfsStreamVisitor
-{
-    /**
-     * visit a content and process it
-     *
-     * @param   vfsStreamContent  $content
-     * @return  vfsStreamVisitor
-     */
-    public function visit(vfsStreamContent $content);
-
-    /**
-     * visit a file and process it
-     *
-     * @param   vfsStreamFile  $file
-     * @return  vfsStreamVisitor
-     */
-    public function visitFile(vfsStreamFile $file);
-
-    /**
-     * visit a directory and process it
-     *
-     * @param   vfsStreamDirectory  $dir
-     * @return  vfsStreamVisitor
-     */
-    public function visitDirectory(vfsStreamDirectory $dir);
-
-    /**
-     * visit a block device and process it
-     *
-     * @param   vfsStreamBlock  $block
-     * @return  vfsStreamVisitor
-     */
-    public function visitBlockDevice(vfsStreamBlock $block);
-}
-?>
diff --git a/core/vendor/phpdocumentor/reflection-docblock/.gitignore b/core/vendor/phpdocumentor/reflection-docblock/.gitignore
deleted file mode 100644
index 3ce5adb..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.idea
-vendor
diff --git a/core/vendor/phpdocumentor/reflection-docblock/.travis.yml b/core/vendor/phpdocumentor/reflection-docblock/.travis.yml
deleted file mode 100644
index eef782c..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/.travis.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-language: php
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-  - hhvm-nightly
-
-matrix:
-    allow_failures:
-        - php: hhvm
-        - php: hhvm-nightly
-
-script:
- - vendor/bin/phpunit
-
-before_script:
- - sudo apt-get -qq update > /dev/null
- - phpenv rehash > /dev/null
- - composer selfupdate --quiet
- - composer install --no-interaction --prefer-source --dev
- - vendor/bin/phpunit
- - composer update --no-interaction --prefer-source --dev
-
-notifications:
-  irc: "irc.freenode.org#phpdocumentor"
-  email:
-    - mike.vanriel@naenius.com
-    - ashnazg@php.net
-    - boen.robot@gmail.com
diff --git a/core/vendor/phpdocumentor/reflection-docblock/LICENSE b/core/vendor/phpdocumentor/reflection-docblock/LICENSE
deleted file mode 100644
index 792e404..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2010 Mike van Riel
-
-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/core/vendor/phpdocumentor/reflection-docblock/README.md b/core/vendor/phpdocumentor/reflection-docblock/README.md
deleted file mode 100644
index 6405d1a..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/README.md
+++ /dev/null
@@ -1,57 +0,0 @@
-The ReflectionDocBlock Component [![Build Status](https://secure.travis-ci.org/phpDocumentor/ReflectionDocBlock.png)](https://travis-ci.org/phpDocumentor/ReflectionDocBlock)
-================================
-
-Introduction
-------------
-
-The ReflectionDocBlock component of phpDocumentor provides a DocBlock parser
-that is 100% compatible with the [PHPDoc standard](http://phpdoc.org/docs/latest).
-
-With this component, a library can provide support for annotations via DocBlocks
-or otherwise retrieve information that is embedded in a DocBlock.
-
-> **Note**: *this is a core component of phpDocumentor and is constantly being
-> optimized for performance.*
-
-Installation
-------------
-
-You can install the component in the following ways:
-
-* Use the official Github repository (https://github.com/phpDocumentor/ReflectionDocBlock)
-* Via Composer (http://packagist.org/packages/phpdocumentor/reflection-docblock)
-
-Usage
------
-
-The ReflectionDocBlock component is designed to work in an identical fashion to
-PHP's own Reflection extension (http://php.net/manual/en/book.reflection.php).
-
-Parsing can be initiated by instantiating the
-`\phpDocumentor\Reflection\DocBlock()` class and passing it a string containing
-a DocBlock (including asterisks) or by passing an object supporting the
-`getDocComment()` method.
-
-> *Examples of objects having the `getDocComment()` method are the
-> `ReflectionClass` and the `ReflectionMethod` classes of the PHP
-> Reflection extension*
-
-Example:
-
-    $class = new ReflectionClass('MyClass');
-    $phpdoc = new \phpDocumentor\Reflection\DocBlock($class);
-
-or
-
-    $docblock = <<<DOCBLOCK
-    /**
-     * This is a short description.
-     *
-     * This is a *long* description.
-     *
-     * @return void
-     */
-    DOCBLOCK;
-
-    $phpdoc = new \phpDocumentor\Reflection\DocBlock($docblock);
-
diff --git a/core/vendor/phpdocumentor/reflection-docblock/composer.json b/core/vendor/phpdocumentor/reflection-docblock/composer.json
deleted file mode 100644
index 4dffa22..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/composer.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-    "name":    "phpdocumentor/reflection-docblock",
-    "type":    "library",
-    "license": "MIT",
-    "authors": [
-        {"name": "Mike van Riel", "email": "mike.vanriel@naenius.com"}
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "autoload": {
-        "psr-0": {"phpDocumentor": ["src/"]}
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4.0"
-    },
-    "suggest": {
-        "dflydev/markdown": "~1.0",
-        "erusev/parsedown": "~1.0"
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.0.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/composer.lock b/core/vendor/phpdocumentor/reflection-docblock/composer.lock
deleted file mode 100644
index 4c6a8bb..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/composer.lock
+++ /dev/null
@@ -1,827 +0,0 @@
-{
-    "_readme": [
-        "This file locks the dependencies of your project to a known state",
-        "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
-        "This file is @generated automatically"
-    ],
-    "hash": "ea1734d11b8c878445c2c6e58de8b85f",
-    "packages": [],
-    "packages-dev": [
-        {
-            "name": "ocramius/instantiator",
-            "version": "1.1.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/Ocramius/Instantiator.git",
-                "reference": "a7abbb5fc9df6e7126af741dd6c140d1a7369435"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/Ocramius/Instantiator/zipball/a7abbb5fc9df6e7126af741dd6c140d1a7369435",
-                "reference": "a7abbb5fc9df6e7126af741dd6c140d1a7369435",
-                "shasum": ""
-            },
-            "require": {
-                "ocramius/lazy-map": "1.0.*",
-                "php": "~5.3"
-            },
-            "require-dev": {
-                "athletic/athletic": "~0.1.8",
-                "ext-pdo": "*",
-                "ext-phar": "*",
-                "phpunit/phpunit": "~4.0",
-                "squizlabs/php_codesniffer": "2.0.*@ALPHA"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Instantiator\\": "src"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Marco Pivetta",
-                    "email": "ocramius@gmail.com",
-                    "homepage": "http://ocramius.github.com/"
-                }
-            ],
-            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
-            "homepage": "https://github.com/Ocramius/Instantiator",
-            "keywords": [
-                "constructor",
-                "instantiate"
-            ],
-            "time": "2014-08-14 15:10:55"
-        },
-        {
-            "name": "ocramius/lazy-map",
-            "version": "1.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/Ocramius/LazyMap.git",
-                "reference": "7fe3d347f5e618bcea7d39345ff83f3651d8b752"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/Ocramius/LazyMap/zipball/7fe3d347f5e618bcea7d39345ff83f3651d8b752",
-                "reference": "7fe3d347f5e618bcea7d39345ff83f3651d8b752",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "athletic/athletic": "~0.1.6",
-                "phpmd/phpmd": "1.5.*",
-                "phpunit/phpunit": ">=3.7",
-                "satooshi/php-coveralls": "~0.6",
-                "squizlabs/php_codesniffer": "1.4.*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "LazyMap\\": "src"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Marco Pivetta",
-                    "email": "ocramius@gmail.com",
-                    "homepage": "http://ocramius.github.com/",
-                    "role": "Developer"
-                }
-            ],
-            "description": "A library that provides lazy instantiation logic for a map of objects",
-            "homepage": "https://github.com/Ocramius/LazyMap",
-            "keywords": [
-                "lazy",
-                "lazy instantiation",
-                "lazy loading",
-                "map",
-                "service location"
-            ],
-            "time": "2013-11-09 22:30:54"
-        },
-        {
-            "name": "phpunit/php-code-coverage",
-            "version": "2.0.10",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-                "reference": "6d196af48e8c100a3ae881940123e693da5a9217"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6d196af48e8c100a3ae881940123e693da5a9217",
-                "reference": "6d196af48e8c100a3ae881940123e693da5a9217",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "phpunit/php-file-iterator": "~1.3.1",
-                "phpunit/php-text-template": "~1.2.0",
-                "phpunit/php-token-stream": "~1.2.2",
-                "sebastian/environment": "~1.0.0",
-                "sebastian/version": "~1.0.3"
-            },
-            "require-dev": {
-                "ext-xdebug": ">=2.1.4",
-                "phpunit/phpunit": "~4.0.14"
-            },
-            "suggest": {
-                "ext-dom": "*",
-                "ext-xdebug": ">=2.2.1",
-                "ext-xmlwriter": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.0.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "include-path": [
-                ""
-            ],
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
-            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
-            "keywords": [
-                "coverage",
-                "testing",
-                "xunit"
-            ],
-            "time": "2014-08-06 06:39:42"
-        },
-        {
-            "name": "phpunit/php-file-iterator",
-            "version": "1.3.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-                "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb",
-                "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "File/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "include-path": [
-                ""
-            ],
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
-            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
-            "keywords": [
-                "filesystem",
-                "iterator"
-            ],
-            "time": "2013-10-10 15:34:57"
-        },
-        {
-            "name": "phpunit/php-text-template",
-            "version": "1.2.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-text-template.git",
-                "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
-                "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "Text/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "include-path": [
-                ""
-            ],
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Simple template engine.",
-            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
-            "keywords": [
-                "template"
-            ],
-            "time": "2014-01-30 17:20:04"
-        },
-        {
-            "name": "phpunit/php-timer",
-            "version": "1.0.5",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-timer.git",
-                "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
-                "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "PHP/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "include-path": [
-                ""
-            ],
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Utility class for timing",
-            "homepage": "https://github.com/sebastianbergmann/php-timer/",
-            "keywords": [
-                "timer"
-            ],
-            "time": "2013-08-02 07:42:54"
-        },
-        {
-            "name": "phpunit/php-token-stream",
-            "version": "1.2.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-token-stream.git",
-                "reference": "ad4e1e23ae01b483c16f600ff1bebec184588e32"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/ad4e1e23ae01b483c16f600ff1bebec184588e32",
-                "reference": "ad4e1e23ae01b483c16f600ff1bebec184588e32",
-                "shasum": ""
-            },
-            "require": {
-                "ext-tokenizer": "*",
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.2-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "PHP/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "include-path": [
-                ""
-            ],
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Wrapper around PHP's tokenizer extension.",
-            "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
-            "keywords": [
-                "tokenizer"
-            ],
-            "time": "2014-03-03 05:10:30"
-        },
-        {
-            "name": "phpunit/phpunit",
-            "version": "4.2.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "a33fa68ece9f8c68589bfc2da8d2794e27b820bc"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a33fa68ece9f8c68589bfc2da8d2794e27b820bc",
-                "reference": "a33fa68ece9f8c68589bfc2da8d2794e27b820bc",
-                "shasum": ""
-            },
-            "require": {
-                "ext-dom": "*",
-                "ext-json": "*",
-                "ext-pcre": "*",
-                "ext-reflection": "*",
-                "ext-spl": "*",
-                "php": ">=5.3.3",
-                "phpunit/php-code-coverage": "~2.0",
-                "phpunit/php-file-iterator": "~1.3.1",
-                "phpunit/php-text-template": "~1.2",
-                "phpunit/php-timer": "~1.0.2",
-                "phpunit/phpunit-mock-objects": "~2.2",
-                "sebastian/comparator": "~1.0",
-                "sebastian/diff": "~1.1",
-                "sebastian/environment": "~1.0",
-                "sebastian/exporter": "~1.0",
-                "sebastian/version": "~1.0",
-                "symfony/yaml": "~2.0"
-            },
-            "suggest": {
-                "phpunit/php-invoker": "~1.1"
-            },
-            "bin": [
-                "phpunit"
-            ],
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "4.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "include-path": [
-                "",
-                "../../symfony/yaml/"
-            ],
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "The PHP Unit Testing framework.",
-            "homepage": "http://www.phpunit.de/",
-            "keywords": [
-                "phpunit",
-                "testing",
-                "xunit"
-            ],
-            "time": "2014-08-18 05:12:30"
-        },
-        {
-            "name": "phpunit/phpunit-mock-objects",
-            "version": "2.2.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-                "reference": "42e589e08bc86e3e9bdf20d385e948347788505b"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/42e589e08bc86e3e9bdf20d385e948347788505b",
-                "reference": "42e589e08bc86e3e9bdf20d385e948347788505b",
-                "shasum": ""
-            },
-            "require": {
-                "ocramius/instantiator": "~1.0",
-                "php": ">=5.3.3",
-                "phpunit/php-text-template": "~1.2"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "4.2.*@dev"
-            },
-            "suggest": {
-                "ext-soap": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "include-path": [
-                ""
-            ],
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Mock Object library for PHPUnit",
-            "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
-            "keywords": [
-                "mock",
-                "xunit"
-            ],
-            "time": "2014-08-02 13:50:58"
-        },
-        {
-            "name": "sebastian/comparator",
-            "version": "1.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/comparator.git",
-                "reference": "f7069ee51fa9fb6c038e16a9d0e3439f5449dcf2"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/f7069ee51fa9fb6c038e16a9d0e3439f5449dcf2",
-                "reference": "f7069ee51fa9fb6c038e16a9d0e3439f5449dcf2",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "sebastian/diff": "~1.1",
-                "sebastian/exporter": "~1.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.1"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                },
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                }
-            ],
-            "description": "Provides the functionality to compare PHP values for equality",
-            "homepage": "http://www.github.com/sebastianbergmann/comparator",
-            "keywords": [
-                "comparator",
-                "compare",
-                "equality"
-            ],
-            "time": "2014-05-02 07:05:58"
-        },
-        {
-            "name": "sebastian/diff",
-            "version": "1.1.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/diff.git",
-                "reference": "1e091702a5a38e6b4c1ba9ca816e3dd343df2e2d"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/1e091702a5a38e6b4c1ba9ca816e3dd343df2e2d",
-                "reference": "1e091702a5a38e6b4c1ba9ca816e3dd343df2e2d",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.1-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                },
-                {
-                    "name": "Kore Nordmann",
-                    "email": "mail@kore-nordmann.de"
-                }
-            ],
-            "description": "Diff implementation",
-            "homepage": "http://www.github.com/sebastianbergmann/diff",
-            "keywords": [
-                "diff"
-            ],
-            "time": "2013-08-03 16:46:33"
-        },
-        {
-            "name": "sebastian/environment",
-            "version": "1.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/environment.git",
-                "reference": "79517609ec01139cd7e9fded0dd7ce08c952ef6a"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/79517609ec01139cd7e9fded0dd7ce08c952ef6a",
-                "reference": "79517609ec01139cd7e9fded0dd7ce08c952ef6a",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "4.0.*@dev"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Provides functionality to handle HHVM/PHP environments",
-            "homepage": "http://www.github.com/sebastianbergmann/environment",
-            "keywords": [
-                "Xdebug",
-                "environment",
-                "hhvm"
-            ],
-            "time": "2014-02-18 16:17:19"
-        },
-        {
-            "name": "sebastian/exporter",
-            "version": "1.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/exporter.git",
-                "reference": "1f9a98e6f5dfe0524cb8c6166f7c82f3e9ae1529"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/1f9a98e6f5dfe0524cb8c6166f7c82f3e9ae1529",
-                "reference": "1f9a98e6f5dfe0524cb8c6166f7c82f3e9ae1529",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "4.0.*@dev"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                },
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net",
-                    "role": "Lead"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                }
-            ],
-            "description": "Provides the functionality to export PHP variables for visualization",
-            "homepage": "http://www.github.com/sebastianbergmann/exporter",
-            "keywords": [
-                "export",
-                "exporter"
-            ],
-            "time": "2014-02-16 08:26:31"
-        },
-        {
-            "name": "sebastian/version",
-            "version": "1.0.3",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/version.git",
-                "reference": "b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43",
-                "reference": "b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43",
-                "shasum": ""
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
-            "homepage": "https://github.com/sebastianbergmann/version",
-            "time": "2014-03-07 15:35:33"
-        },
-        {
-            "name": "symfony/yaml",
-            "version": "v2.5.3",
-            "target-dir": "Symfony/Component/Yaml",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/Yaml.git",
-                "reference": "5a75366ae9ca8b4792cd0083e4ca4dff9fe96f1f"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Yaml/zipball/5a75366ae9ca8b4792cd0083e4ca4dff9fe96f1f",
-                "reference": "5a75366ae9ca8b4792cd0083e4ca4dff9fe96f1f",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.5-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Symfony\\Component\\Yaml\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                }
-            ],
-            "description": "Symfony Yaml Component",
-            "homepage": "http://symfony.com",
-            "time": "2014-08-05 09:00:40"
-        }
-    ],
-    "aliases": [],
-    "minimum-stability": "stable",
-    "stability-flags": [],
-    "prefer-stable": false,
-    "platform": {
-        "php": ">=5.3.3"
-    },
-    "platform-dev": []
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist b/core/vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist
deleted file mode 100644
index f67ad2a..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<phpunit colors="true" strict="true" bootstrap="vendor/autoload.php">
-  <testsuites>
-    <testsuite name="phpDocumentor\Reflection\DocBlock">
-      <directory>./tests/</directory>
-    </testsuite>
-  </testsuites>
-  <filter>
-    <whitelist>
-        <directory suffix=".php">./src/</directory>
-    </whitelist>
-  </filter>
-</phpunit>
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock.php
deleted file mode 100644
index 02968b1..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock.php
+++ /dev/null
@@ -1,468 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-use phpDocumentor\Reflection\DocBlock\Context;
-use phpDocumentor\Reflection\DocBlock\Location;
-
-/**
- * Parses the DocBlock for any structure.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class DocBlock implements \Reflector
-{
-    /** @var string The opening line for this docblock. */
-    protected $short_description = '';
-
-    /**
-     * @var DocBlock\Description The actual
-     *     description for this docblock.
-     */
-    protected $long_description = null;
-
-    /**
-     * @var Tag[] An array containing all
-     *     the tags in this docblock; except inline.
-     */
-    protected $tags = array();
-
-    /** @var Context Information about the context of this DocBlock. */
-    protected $context = null;
-
-    /** @var Location Information about the location of this DocBlock. */
-    protected $location = null;
-
-    /** @var bool Is this DocBlock (the start of) a template? */
-    protected $isTemplateStart = false;
-
-    /** @var bool Does this DocBlock signify the end of a DocBlock template? */
-    protected $isTemplateEnd = false;
-
-    /**
-     * Parses the given docblock and populates the member fields.
-     *
-     * The constructor may also receive namespace information such as the
-     * current namespace and aliases. This information is used by some tags
-     * (e.g. @return, @param, etc.) to turn a relative Type into a FQCN.
-     *
-     * @param \Reflector|string $docblock A docblock comment (including
-     *     asterisks) or reflector supporting the getDocComment method.
-     * @param Context           $context  The context in which the DocBlock
-     *     occurs.
-     * @param Location          $location The location within the file that this
-     *     DocBlock occurs in.
-     *
-     * @throws \InvalidArgumentException if the given argument does not have the
-     *     getDocComment method.
-     */
-    public function __construct(
-        $docblock,
-        Context $context = null,
-        Location $location = null
-    ) {
-        if (is_object($docblock)) {
-            if (!method_exists($docblock, 'getDocComment')) {
-                throw new \InvalidArgumentException(
-                    'Invalid object passed; the given reflector must support '
-                    . 'the getDocComment method'
-                );
-            }
-
-            $docblock = $docblock->getDocComment();
-        }
-
-        $docblock = $this->cleanInput($docblock);
-
-        list($templateMarker, $short, $long, $tags) = $this->splitDocBlock($docblock);
-        $this->isTemplateStart = $templateMarker === '#@+';
-        $this->isTemplateEnd = $templateMarker === '#@-';
-        $this->short_description = $short;
-        $this->long_description = new DocBlock\Description($long, $this);
-        $this->parseTags($tags);
-
-        $this->context  = $context;
-        $this->location = $location;
-    }
-
-    /**
-     * Strips the asterisks from the DocBlock comment.
-     *
-     * @param string $comment String containing the comment text.
-     *
-     * @return string
-     */
-    protected function cleanInput($comment)
-    {
-        $comment = trim(
-            preg_replace(
-                '#[ \t]*(?:\/\*\*|\*\/|\*)?[ \t]{0,1}(.*)?#u',
-                '$1',
-                $comment
-            )
-        );
-
-        // reg ex above is not able to remove */ from a single line docblock
-        if (substr($comment, -2) == '*/') {
-            $comment = trim(substr($comment, 0, -2));
-        }
-
-        // normalize strings
-        $comment = str_replace(array("\r\n", "\r"), "\n", $comment);
-
-        return $comment;
-    }
-
-    /**
-     * Splits the DocBlock into a template marker, summary, description and block of tags.
-     *
-     * @param string $comment Comment to split into the sub-parts.
-     *
-     * @author Richard van Velzen (@_richardJ) Special thanks to Richard for the regex responsible for the split.
-     * @author Mike van Riel <me@mikevanriel.com> for extending the regex with template marker support.
-     *
-     * @return string[] containing the template marker (if any), summary, description and a string containing the tags.
-     */
-    protected function splitDocBlock($comment)
-    {
-        // Performance improvement cheat: if the first character is an @ then only tags are in this DocBlock. This
-        // method does not split tags so we return this verbatim as the fourth result (tags). This saves us the
-        // performance impact of running a regular expression
-        if (strpos($comment, '@') === 0) {
-            return array('', '', '', $comment);
-        }
-
-        // clears all extra horizontal whitespace from the line endings to prevent parsing issues
-        $comment = preg_replace('/\h*$/Sum', '', $comment);
-
-        /*
-         * Splits the docblock into a template marker, short description, long description and tags section
-         *
-         * - The template marker is empty, #@+ or #@- if the DocBlock starts with either of those (a newline may
-         *   occur after it and will be stripped).
-         * - The short description is started from the first character until a dot is encountered followed by a
-         *   newline OR two consecutive newlines (horizontal whitespace is taken into account to consider spacing
-         *   errors). This is optional.
-         * - The long description, any character until a new line is encountered followed by an @ and word
-         *   characters (a tag). This is optional.
-         * - Tags; the remaining characters
-         *
-         * Big thanks to RichardJ for contributing this Regular Expression
-         */
-        preg_match(
-            '/
-            \A
-            # 1. Extract the template marker
-            (?:(\#\@\+|\#\@\-)\n?)?
-
-            # 2. Extract the summary
-            (?:
-              (?! @\pL ) # The summary may not start with an @
-              (
-                [^\n.]+
-                (?:
-                  (?! \. \n | \n{2} )     # End summary upon a dot followed by newline or two newlines
-                  [\n.] (?! [ \t]* @\pL ) # End summary when an @ is found as first character on a new line
-                  [^\n.]+                 # Include anything else
-                )*
-                \.?
-              )?
-            )
-
-            # 3. Extract the description
-            (?:
-              \s*        # Some form of whitespace _must_ precede a description because a summary must be there
-              (?! @\pL ) # The description may not start with an @
-              (
-                [^\n]+
-                (?: \n+
-                  (?! [ \t]* @\pL ) # End description when an @ is found as first character on a new line
-                  [^\n]+            # Include anything else
-                )*
-              )
-            )?
-
-            # 4. Extract the tags (anything that follows)
-            (\s+ [\s\S]*)? # everything that follows
-            /ux',
-            $comment,
-            $matches
-        );
-        array_shift($matches);
-
-        while (count($matches) < 4) {
-            $matches[] = '';
-        }
-
-        return $matches;
-    }
-
-    /**
-     * Creates the tag objects.
-     *
-     * @param string $tags Tag block to parse.
-     *
-     * @return void
-     */
-    protected function parseTags($tags)
-    {
-        $result = array();
-        $tags = trim($tags);
-        if ('' !== $tags) {
-            if ('@' !== $tags[0]) {
-                throw new \LogicException(
-                    'A tag block started with text instead of an actual tag,'
-                    . ' this makes the tag block invalid: ' . $tags
-                );
-            }
-            foreach (explode("\n", $tags) as $tag_line) {
-                if (isset($tag_line[0]) && ($tag_line[0] === '@')) {
-                    $result[] = $tag_line;
-                } else {
-                    $result[count($result) - 1] .= "\n" . $tag_line;
-                }
-            }
-
-            // create proper Tag objects
-            foreach ($result as $key => $tag_line) {
-                $result[$key] = Tag::createInstance(trim($tag_line), $this);
-            }
-        }
-
-        $this->tags = $result;
-    }
-
-    /**
-     * Gets the text portion of the doc block.
-     * 
-     * Gets the text portion (short and long description combined) of the doc
-     * block.
-     * 
-     * @return string The text portion of the doc block.
-     */
-    public function getText()
-    {
-        $short = $this->getShortDescription();
-        $long = $this->getLongDescription()->getContents();
-
-        if ($long) {
-            return "{$short}\n\n{$long}";
-        } else {
-            return $short;
-        }
-    }
-
-    /**
-     * Set the text portion of the doc block.
-     * 
-     * Sets the text portion (short and long description combined) of the doc
-     * block.
-     *
-     * @param string $docblock The new text portion of the doc block.
-     * 
-     * @return $this This doc block.
-     */
-    public function setText($comment)
-    {
-        list(,$short, $long) = $this->splitDocBlock($comment);
-        $this->short_description = $short;
-        $this->long_description = new DocBlock\Description($long, $this);
-        return $this;
-    }
-    /**
-     * Returns the opening line or also known as short description.
-     *
-     * @return string
-     */
-    public function getShortDescription()
-    {
-        return $this->short_description;
-    }
-
-    /**
-     * Returns the full description or also known as long description.
-     *
-     * @return DocBlock\Description
-     */
-    public function getLongDescription()
-    {
-        return $this->long_description;
-    }
-
-    /**
-     * Returns whether this DocBlock is the start of a Template section.
-     *
-     * A Docblock may serve as template for a series of subsequent DocBlocks. This is indicated by a special marker
-     * (`#@+`) that is appended directly after the opening `/**` of a DocBlock.
-     *
-     * An example of such an opening is:
-     *
-     * ```
-     * /**#@+
-     *  * My DocBlock
-     *  * /
-     * ```
-     *
-     * The description and tags (not the summary!) are copied onto all subsequent DocBlocks and also applied to all
-     * elements that follow until another DocBlock is found that contains the closing marker (`#@-`).
-     *
-     * @see self::isTemplateEnd() for the check whether a closing marker was provided.
-     *
-     * @return boolean
-     */
-    public function isTemplateStart()
-    {
-        return $this->isTemplateStart;
-    }
-
-    /**
-     * Returns whether this DocBlock is the end of a Template section.
-     *
-     * @see self::isTemplateStart() for a more complete description of the Docblock Template functionality.
-     *
-     * @return boolean
-     */
-    public function isTemplateEnd()
-    {
-        return $this->isTemplateEnd;
-    }
-
-    /**
-     * Returns the current context.
-     *
-     * @return Context
-     */
-    public function getContext()
-    {
-        return $this->context;
-    }
-
-    /**
-     * Returns the current location.
-     *
-     * @return Location
-     */
-    public function getLocation()
-    {
-        return $this->location;
-    }
-
-    /**
-     * Returns the tags for this DocBlock.
-     *
-     * @return Tag[]
-     */
-    public function getTags()
-    {
-        return $this->tags;
-    }
-
-    /**
-     * Returns an array of tags matching the given name. If no tags are found
-     * an empty array is returned.
-     *
-     * @param string $name String to search by.
-     *
-     * @return Tag[]
-     */
-    public function getTagsByName($name)
-    {
-        $result = array();
-
-        /** @var Tag $tag */
-        foreach ($this->getTags() as $tag) {
-            if ($tag->getName() != $name) {
-                continue;
-            }
-
-            $result[] = $tag;
-        }
-
-        return $result;
-    }
-
-    /**
-     * Checks if a tag of a certain type is present in this DocBlock.
-     *
-     * @param string $name Tag name to check for.
-     *
-     * @return bool
-     */
-    public function hasTag($name)
-    {
-        /** @var Tag $tag */
-        foreach ($this->getTags() as $tag) {
-            if ($tag->getName() == $name) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Appends a tag at the end of the list of tags.
-     *
-     * @param Tag $tag The tag to add.
-     *
-     * @return Tag The newly added tag.
-     *
-     * @throws \LogicException When the tag belongs to a different DocBlock.
-     */
-    public function appendTag(Tag $tag)
-    {
-        if (null === $tag->getDocBlock()) {
-            $tag->setDocBlock($this);
-        }
-
-        if ($tag->getDocBlock() === $this) {
-            $this->tags[] = $tag;
-        } else {
-            throw new \LogicException(
-                'This tag belongs to a different DocBlock object.'
-            );
-        }
-
-        return $tag;
-    }
-
-
-    /**
-     * Builds a string representation of this object.
-     *
-     * @todo determine the exact format as used by PHP Reflection and
-     *     implement it.
-     *
-     * @return string
-     * @codeCoverageIgnore Not yet implemented
-     */
-    public static function export()
-    {
-        throw new \Exception('Not yet implemented');
-    }
-
-    /**
-     * Returns the exported information (we should use the export static method
-     * BUT this throws an exception at this point).
-     *
-     * @return string
-     * @codeCoverageIgnore Not yet implemented
-     */
-    public function __toString()
-    {
-        return 'Not yet implemented';
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Context.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Context.php
deleted file mode 100644
index 81aa83c..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Context.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-/**
- * The context in which a DocBlock occurs.
- *
- * @author  Vasil Rangelov <boen.robot@gmail.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class Context
-{
-    /** @var string The current namespace. */
-    protected $namespace = '';
-
-    /** @var array List of namespace aliases => Fully Qualified Namespace. */
-    protected $namespace_aliases = array();
-    
-    /** @var string Name of the structural element, within the namespace. */
-    protected $lsen = '';
-    
-    /**
-     * Cteates a new context.
-     * @param string $namespace         The namespace where this DocBlock
-     *     resides in.
-     * @param array  $namespace_aliases List of namespace aliases => Fully
-     *     Qualified Namespace.
-     * @param string $lsen              Name of the structural element, within
-     *     the namespace.
-     */
-    public function __construct(
-        $namespace = '',
-        array $namespace_aliases = array(),
-        $lsen = ''
-    ) {
-        if (!empty($namespace)) {
-            $this->setNamespace($namespace);
-        }
-        $this->setNamespaceAliases($namespace_aliases);
-        $this->setLSEN($lsen);
-    }
-
-    /**
-     * @return string The namespace where this DocBlock resides in.
-     */
-    public function getNamespace()
-    {
-        return $this->namespace;
-    }
-
-    /**
-     * @return array List of namespace aliases => Fully Qualified Namespace.
-     */
-    public function getNamespaceAliases()
-    {
-        return $this->namespace_aliases;
-    }
-    
-    /**
-     * Returns the Local Structural Element Name.
-     * 
-     * @return string Name of the structural element, within the namespace.
-     */
-    public function getLSEN()
-    {
-        return $this->lsen;
-    }
-    
-    /**
-     * Sets a new namespace.
-     * 
-     * Sets a new namespace for the context. Leading and trailing slashes are
-     * trimmed, and the keywords "global" and "default" are treated as aliases
-     * to no namespace.
-     * 
-     * @param string $namespace The new namespace to set.
-     * 
-     * @return $this
-     */
-    public function setNamespace($namespace)
-    {
-        if ('global' !== $namespace
-            && 'default' !== $namespace
-        ) {
-            // Srip leading and trailing slash
-            $this->namespace = trim((string)$namespace, '\\');
-        } else {
-            $this->namespace = '';
-        }
-        return $this;
-    }
-    
-    /**
-     * Sets the namespace aliases, replacing all previous ones.
-     * 
-     * @param array $namespace_aliases List of namespace aliases => Fully
-     *     Qualified Namespace.
-     * 
-     * @return $this
-     */
-    public function setNamespaceAliases(array $namespace_aliases)
-    {
-        $this->namespace_aliases = array();
-        foreach ($namespace_aliases as $alias => $fqnn) {
-            $this->setNamespaceAlias($alias, $fqnn);
-        }
-        return $this;
-    }
-    
-    /**
-     * Adds a namespace alias to the context.
-     * 
-     * @param string $alias The alias name (the part after "as", or the last
-     *     part of the Fully Qualified Namespace Name) to add.
-     * @param string $fqnn  The Fully Qualified Namespace Name for this alias.
-     *     Any form of leading/trailing slashes are accepted, but what will be
-     *     stored is a name, prefixed with a slash, and no trailing slash.
-     * 
-     * @return $this
-     */
-    public function setNamespaceAlias($alias, $fqnn)
-    {
-        $this->namespace_aliases[$alias] = '\\' . trim((string)$fqnn, '\\');
-        return $this;
-    }
-    
-    /**
-     * Sets a new Local Structural Element Name.
-     * 
-     * Sets a new Local Structural Element Name. A local name also contains
-     * punctuation determining the kind of structural element (e.g. trailing "("
-     * and ")" for functions and methods).
-     * 
-     * @param string $lsen The new local name of a structural element.
-     * 
-     * @return $this
-     */
-    public function setLSEN($lsen)
-    {
-        $this->lsen = (string)$lsen;
-        return $this;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Description.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Description.php
deleted file mode 100644
index d41142e..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Description.php
+++ /dev/null
@@ -1,223 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-use phpDocumentor\Reflection\DocBlock;
-
-/**
- * Parses a Description of a DocBlock or tag.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class Description implements \Reflector
-{
-    /** @var string */
-    protected $contents = '';
-
-    /** @var array The contents, as an array of strings and Tag objects. */
-    protected $parsedContents = null;
-
-    /** @var DocBlock The DocBlock which this description belongs to. */
-    protected $docblock = null;
-
-    /**
-     * Populates the fields of a description.
-     *
-     * @param string   $content  The description's conetnts.
-     * @param DocBlock $docblock The DocBlock which this description belongs to.
-     */
-    public function __construct($content, DocBlock $docblock = null)
-    {
-        $this->setContent($content)->setDocBlock($docblock);
-    }
-
-    /**
-     * Gets the text of this description.
-     *
-     * @return string
-     */
-    public function getContents()
-    {
-        return $this->contents;
-    }
-
-    /**
-     * Sets the text of this description.
-     *
-     * @param string $content The new text of this description.
-     *
-     * @return $this
-     */
-    public function setContent($content)
-    {
-        $this->contents = trim($content);
-
-        $this->parsedContents = null;
-        return $this;
-    }
-
-    /**
-     * Returns the parsed text of this description.
-     *
-     * @return array An array of strings and tag objects, in the order they
-     *     occur within the description.
-     */
-    public function getParsedContents()
-    {
-        if (null === $this->parsedContents) {
-            $this->parsedContents = preg_split(
-                '/\{
-                    # "{@}" is not a valid inline tag. This ensures that
-                    # we do not treat it as one, but treat it literally.
-                    (?!@\})
-                    # We want to capture the whole tag line, but without the
-                    # inline tag delimiters.
-                    (\@
-                        # Match everything up to the next delimiter.
-                        [^{}]*
-                        # Nested inline tag content should not be captured, or
-                        # it will appear in the result separately.
-                        (?:
-                            # Match nested inline tags.
-                            (?:
-                                # Because we did not catch the tag delimiters
-                                # earlier, we must be explicit with them here.
-                                # Notice that this also matches "{}", as a way
-                                # to later introduce it as an escape sequence.
-                                \{(?1)?\}
-                                |
-                                # Make sure we match hanging "{".
-                                \{
-                            )
-                            # Match content after the nested inline tag.
-                            [^{}]*
-                        )* # If there are more inline tags, match them as well.
-                           # We use "*" since there may not be any nested inline
-                           # tags.
-                    )
-                \}/Sux',
-                $this->contents,
-                null,
-                PREG_SPLIT_DELIM_CAPTURE
-            );
-
-            $count = count($this->parsedContents);
-            for ($i=1; $i<$count; $i += 2) {
-                $this->parsedContents[$i] = Tag::createInstance(
-                    $this->parsedContents[$i],
-                    $this->docblock
-                );
-            }
-
-            //In order to allow "literal" inline tags, the otherwise invalid
-            //sequence "{@}" is changed to "@", and "{}" is changed to "}".
-            //See unit tests for examples.
-            for ($i=0; $i<$count; $i += 2) {
-                $this->parsedContents[$i] = str_replace(
-                    array('{@}', '{}'),
-                    array('@', '}'),
-                    $this->parsedContents[$i]
-                );
-            }
-        }
-        return $this->parsedContents;
-    }
-
-    /**
-     * Return a formatted variant of the Long Description using MarkDown.
-     *
-     * @todo this should become a more intelligent piece of code where the
-     *     configuration contains a setting what format long descriptions are.
-     *
-     * @codeCoverageIgnore Will be removed soon, in favor of adapters at
-     *     PhpDocumentor itself that will process text in various formats.
-     *
-     * @return string
-     */
-    public function getFormattedContents()
-    {
-        $result = $this->contents;
-
-        // if the long description contains a plain HTML <code> element, surround
-        // it with a pre element. Please note that we explicitly used str_replace
-        // and not preg_replace to gain performance
-        if (strpos($result, '<code>') !== false) {
-            $result = str_replace(
-                array('<code>', "<code>\r\n", "<code>\n", "<code>\r", '</code>'),
-                array('<pre><code>', '<code>', '<code>', '<code>', '</code></pre>'),
-                $result
-            );
-        }
-
-        if (class_exists('Parsedown')) {
-            $markdown = \Parsedown::instance();
-            $result = $markdown->parse($result);
-        } elseif (class_exists('dflydev\markdown\MarkdownExtraParser')) {
-            $markdown = new \dflydev\markdown\MarkdownExtraParser();
-            $result = $markdown->transformMarkdown($result);
-        }
-
-        return trim($result);
-    }
-
-    /**
-     * Gets the docblock this tag belongs to.
-     *
-     * @return DocBlock The docblock this description belongs to.
-     */
-    public function getDocBlock()
-    {
-        return $this->docblock;
-    }
-
-    /**
-     * Sets the docblock this tag belongs to.
-     *
-     * @param DocBlock $docblock The new docblock this description belongs to.
-     *     Setting NULL removes any association.
-     *
-     * @return $this
-     */
-    public function setDocBlock(DocBlock $docblock = null)
-    {
-        $this->docblock = $docblock;
-
-        return $this;
-    }
-
-    /**
-     * Builds a string representation of this object.
-     *
-     * @todo determine the exact format as used by PHP Reflection
-     *     and implement it.
-     *
-     * @return void
-     * @codeCoverageIgnore Not yet implemented
-     */
-    public static function export()
-    {
-        throw new \Exception('Not yet implemented');
-    }
-
-    /**
-     * Returns the long description as a string.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->getContents();
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Location.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Location.php
deleted file mode 100644
index 966ed44..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Location.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-/**
- * The location a DocBlock occurs within a file.
- *
- * @author  Vasil Rangelov <boen.robot@gmail.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class Location
-{
-    /** @var int Line where the DocBlock text starts. */
-    protected $lineNumber = 0;
-
-    /** @var int Column where the DocBlock text starts. */
-    protected $columnNumber = 0;
-    
-    public function __construct(
-        $lineNumber = 0,
-        $columnNumber = 0
-    ) {
-        $this->setLineNumber($lineNumber)->setColumnNumber($columnNumber);
-    }
-
-    /**
-     * @return int Line where the DocBlock text starts.
-     */
-    public function getLineNumber()
-    {
-        return $this->lineNumber;
-    }
-
-    /**
-     * 
-     * @param type $lineNumber
-     * @return $this
-     */
-    public function setLineNumber($lineNumber)
-    {
-        $this->lineNumber = (int)$lineNumber;
-
-        return $this;
-    }
-
-    /**
-     * @return int Column where the DocBlock text starts.
-     */
-    public function getColumnNumber()
-    {
-        return $this->columnNumber;
-    }
-
-    /**
-     * 
-     * @param int $columnNumber
-     * @return $this
-     */
-    public function setColumnNumber($columnNumber)
-    {
-        $this->columnNumber = (int)$columnNumber;
-
-        return $this;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Serializer.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Serializer.php
deleted file mode 100644
index c161785..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Serializer.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Barry vd. Heuvel <barryvdh@gmail.com>
- * @copyright 2013 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-use phpDocumentor\Reflection\DocBlock;
-
-/**
- * Serializes a DocBlock instance.
- *
- * @author  Barry vd. Heuvel <barryvdh@gmail.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class Serializer
-{
-
-    /** @var string The string to indent the comment with. */
-    protected $indentString = ' ';
-
-    /** @var int The number of times the indent string is repeated. */
-    protected $indent = 0;
-
-    /** @var bool Whether to indent the first line. */
-    protected $isFirstLineIndented = true;
-
-    /** @var int|null The max length of a line. */
-    protected $lineLength = null;
-
-    /**
-     * Create a Serializer instance.
-     *
-     * @param int      $indent          The number of times the indent string is
-     *     repeated.
-     * @param string   $indentString    The string to indent the comment with.
-     * @param bool     $indentFirstLine Whether to indent the first line.
-     * @param int|null $lineLength      The max length of a line or NULL to
-     *     disable line wrapping.
-     */
-    public function __construct(
-        $indent = 0,
-        $indentString = ' ',
-        $indentFirstLine = true,
-        $lineLength = null
-    ) {
-        $this->setIndentationString($indentString);
-        $this->setIndent($indent);
-        $this->setIsFirstLineIndented($indentFirstLine);
-        $this->setLineLength($lineLength);
-    }
-
-    /**
-     * Sets the string to indent comments with.
-     * 
-     * @param string $indentationString The string to indent comments with.
-     * 
-     * @return $this This serializer object.
-     */
-    public function setIndentationString($indentString)
-    {
-        $this->indentString = (string)$indentString;
-        return $this;
-    }
-
-    /**
-     * Gets the string to indent comments with.
-     * 
-     * @return string The indent string.
-     */
-    public function getIndentationString()
-    {
-        return $this->indentString;
-    }
-
-    /**
-     * Sets the number of indents.
-     * 
-     * @param int $indent The number of times the indent string is repeated.
-     * 
-     * @return $this This serializer object.
-     */
-    public function setIndent($indent)
-    {
-        $this->indent = (int)$indent;
-        return $this;
-    }
-
-    /**
-     * Gets the number of indents.
-     * 
-     * @return int The number of times the indent string is repeated.
-     */
-    public function getIndent()
-    {
-        return $this->indent;
-    }
-
-    /**
-     * Sets whether or not the first line should be indented.
-     * 
-     * Sets whether or not the first line (the one with the "/**") should be
-     * indented.
-     * 
-     * @param bool $indentFirstLine The new value for this setting.
-     * 
-     * @return $this This serializer object.
-     */
-    public function setIsFirstLineIndented($indentFirstLine)
-    {
-        $this->isFirstLineIndented = (bool)$indentFirstLine;
-        return $this;
-    }
-
-    /**
-     * Gets whether or not the first line should be indented.
-     * 
-     * @return bool Whether or not the first line should be indented.
-     */
-    public function isFirstLineIndented()
-    {
-        return $this->isFirstLineIndented;
-    }
-
-    /**
-     * Sets the line length.
-     * 
-     * Sets the length of each line in the serialization. Content will be
-     * wrapped within this limit.
-     * 
-     * @param int|null $lineLength The length of each line. NULL to disable line
-     *     wrapping altogether.
-     * 
-     * @return $this This serializer object.
-     */
-    public function setLineLength($lineLength)
-    {
-        $this->lineLength = null === $lineLength ? null : (int)$lineLength;
-        return $this;
-    }
-
-    /**
-     * Gets the line length.
-     * 
-     * @return int|null The length of each line or NULL if line wrapping is
-     *     disabled.
-     */
-    public function getLineLength()
-    {
-        return $this->lineLength;
-    }
-
-    /**
-     * Generate a DocBlock comment.
-     *
-     * @param DocBlock The DocBlock to serialize.
-     * 
-     * @return string The serialized doc block.
-     */
-    public function getDocComment(DocBlock $docblock)
-    {
-        $indent = str_repeat($this->indentString, $this->indent);
-        $firstIndent = $this->isFirstLineIndented ? $indent : '';
-
-        $text = $docblock->getText();
-        if ($this->lineLength) {
-            //3 === strlen(' * ')
-            $wrapLength = $this->lineLength - strlen($indent) - 3;
-            $text = wordwrap($text, $wrapLength);
-        }
-        $text = str_replace("\n", "\n{$indent} * ", $text);
-
-        $comment = "{$firstIndent}/**\n{$indent} * {$text}\n{$indent} *\n";
-
-        /** @var Tag $tag */
-        foreach ($docblock->getTags() as $tag) {
-            $tagText = (string) $tag;
-            if ($this->lineLength) {
-                $tagText = wordwrap($tagText, $wrapLength);
-            }
-            $tagText = str_replace("\n", "\n{$indent} * ", $tagText);
-
-            $comment .= "{$indent} * {$tagText}\n";
-        }
-
-        $comment .= $indent . ' */';
-
-        return $comment;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag.php
deleted file mode 100644
index a96db09..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag.php
+++ /dev/null
@@ -1,377 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-use phpDocumentor\Reflection\DocBlock;
-
-/**
- * Parses a tag definition for a DocBlock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class Tag implements \Reflector
-{
-    /**
-     * PCRE regular expression matching a tag name.
-     */
-    const REGEX_TAGNAME = '[\w\-\_\\\\]+';
-
-    /** @var string Name of the tag */
-    protected $tag = '';
-
-    /**
-     * @var string|null Content of the tag.
-     *     When set to NULL, it means it needs to be regenerated.
-     */
-    protected $content = '';
-
-    /** @var string Description of the content of this tag */
-    protected $description = '';
-
-    /**
-     * @var array|null The description, as an array of strings and Tag objects.
-     *     When set to NULL, it means it needs to be regenerated.
-     */
-    protected $parsedDescription = null;
-
-    /** @var Location Location of the tag. */
-    protected $location = null;
-
-    /** @var DocBlock The DocBlock which this tag belongs to. */
-    protected $docblock = null;
-    
-    /**
-     * @var array An array with a tag as a key, and an FQCN to a class that
-     *     handles it as an array value. The class is expected to inherit this
-     *     class.
-     */
-    private static $tagHandlerMappings = array(
-        'author'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\AuthorTag',
-        'covers'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\CoversTag',
-        'deprecated'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\DeprecatedTag',
-        'example'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\ExampleTag',
-        'link'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\LinkTag',
-        'method'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\MethodTag',
-        'param'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\ParamTag',
-        'property-read'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\PropertyReadTag',
-        'property'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\PropertyTag',
-        'property-write'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\PropertyWriteTag',
-        'return'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\ReturnTag',
-        'see'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\SeeTag',
-        'since'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\SinceTag',
-        'source'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\SourceTag',
-        'throw'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\ThrowsTag',
-        'throws'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\ThrowsTag',
-        'uses'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\UsesTag',
-        'var'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\VarTag',
-        'version'
-            => '\phpDocumentor\Reflection\DocBlock\Tag\VersionTag'
-    );
-
-    /**
-     * Factory method responsible for instantiating the correct sub type.
-     *
-     * @param string   $tag_line The text for this tag, including description.
-     * @param DocBlock $docblock The DocBlock which this tag belongs to.
-     * @param Location $location Location of the tag.
-     *
-     * @throws \InvalidArgumentException if an invalid tag line was presented.
-     *
-     * @return static A new tag object.
-     */
-    final public static function createInstance(
-        $tag_line,
-        DocBlock $docblock = null,
-        Location $location = null
-    ) {
-        if (!preg_match(
-            '/^@(' . self::REGEX_TAGNAME . ')(?:\s*([^\s].*)|$)?/us',
-            $tag_line,
-            $matches
-        )) {
-            throw new \InvalidArgumentException(
-                'Invalid tag_line detected: ' . $tag_line
-            );
-        }
-
-        $handler = __CLASS__;
-        if (isset(self::$tagHandlerMappings[$matches[1]])) {
-            $handler = self::$tagHandlerMappings[$matches[1]];
-        } elseif (isset($docblock)) {
-            $tagName = (string)new Type\Collection(
-                array($matches[1]),
-                $docblock->getContext()
-            );
-
-            if (isset(self::$tagHandlerMappings[$tagName])) {
-                $handler = self::$tagHandlerMappings[$tagName];
-            }
-        }
-
-        return new $handler(
-            $matches[1],
-            isset($matches[2]) ? $matches[2] : '',
-            $docblock,
-            $location
-        );
-    }
-
-    /**
-     * Registers a handler for tags.
-     * 
-     * Registers a handler for tags. The class specified is autoloaded if it's
-     * not available. It must inherit from this class.
-     * 
-     * @param string      $tag     Name of tag to regiser a handler for. When
-     *     registering a namespaced tag, the full name, along with a prefixing
-     *     slash MUST be provided.
-     * @param string|null $handler FQCN of handler. Specifing NULL removes the
-     *     handler for the specified tag, if any.
-     * 
-     * @return bool TRUE on success, FALSE on failure.
-     */
-    final public static function registerTagHandler($tag, $handler)
-    {
-        $tag = trim((string)$tag);
-
-        if (null === $handler) {
-            unset(self::$tagHandlerMappings[$tag]);
-            return true;
-        }
-
-        if ('' !== $tag
-            && class_exists($handler, true)
-            && is_subclass_of($handler, __CLASS__)
-            && !strpos($tag, '\\') //Accept no slash, and 1st slash at offset 0.
-        ) {
-            self::$tagHandlerMappings[$tag] = $handler;
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Parses a tag and populates the member variables.
-     *
-     * @param string   $name     Name of the tag.
-     * @param string   $content  The contents of the given tag.
-     * @param DocBlock $docblock The DocBlock which this tag belongs to.
-     * @param Location $location Location of the tag.
-     */
-    public function __construct(
-        $name,
-        $content,
-        DocBlock $docblock = null,
-        Location $location = null
-    ) {
-        $this
-            ->setName($name)
-            ->setContent($content)
-            ->setDocBlock($docblock)
-            ->setLocation($location);
-    }
-
-    /**
-     * Gets the name of this tag.
-     *
-     * @return string The name of this tag.
-     */
-    public function getName()
-    {
-        return $this->tag;
-    }
-
-    /**
-     * Sets the name of this tag.
-     * 
-     * @param string $name The new name of this tag.
-     * 
-     * @return $this
-     * @throws \InvalidArgumentException When an invalid tag name is provided.
-     */
-    public function setName($name)
-    {
-        if (!preg_match('/^' . self::REGEX_TAGNAME . '$/u', $name)) {
-            throw new \InvalidArgumentException(
-                'Invalid tag name supplied: ' . $name
-            );
-        }
-
-        $this->tag = $name;
-
-        return $this;
-    }
-
-    /**
-     * Gets the content of this tag.
-     *
-     * @return string
-     */
-    public function getContent()
-    {
-        if (null === $this->content) {
-            $this->content = $this->description;
-        }
-
-        return $this->content;
-    }
-
-    /**
-     * Sets the content of this tag.
-     * 
-     * @param string $content The new content of this tag.
-     * 
-     * @return $this
-     */
-    public function setContent($content)
-    {
-        $this->setDescription($content);
-        $this->content = $content;
-
-        return $this;
-    }
-
-    /**
-     * Gets the description component of this tag.
-     *
-     * @return string
-     */
-    public function getDescription()
-    {
-        return $this->description;
-    }
-
-    /**
-     * Sets the description component of this tag.
-     * 
-     * @param string $description The new description component of this tag.
-     * 
-     * @return $this
-     */
-    public function setDescription($description)
-    {
-        $this->content = null;
-        $this->parsedDescription = null;
-        $this->description = trim($description);
-
-        return $this;
-    }
-
-    /**
-     * Gets the parsed text of this description.
-     * 
-     * @return array An array of strings and tag objects, in the order they
-     *     occur within the description.
-     */
-    public function getParsedDescription()
-    {
-        if (null === $this->parsedDescription) {
-            $description = new Description($this->description, $this->docblock);
-            $this->parsedDescription = $description->getParsedContents();
-        }
-        return $this->parsedDescription;
-    }
-
-    /**
-     * Gets the docblock this tag belongs to.
-     * 
-     * @return DocBlock The docblock this tag belongs to.
-     */
-    public function getDocBlock()
-    {
-        return $this->docblock;
-    }
-
-    /**
-     * Sets the docblock this tag belongs to.
-     * 
-     * @param DocBlock $docblock The new docblock this tag belongs to. Setting
-     *     NULL removes any association.
-     * 
-     * @return $this
-     */
-    public function setDocBlock(DocBlock $docblock = null)
-    {
-        $this->docblock = $docblock;
-
-        return $this;
-    }
-
-    /**
-     * Gets the location of the tag.
-     *
-     * @return Location The tag's location.
-     */
-    public function getLocation()
-    {
-        return $this->location;
-    }
-    
-    /**
-     * Sets the location of the tag.
-     * 
-     * @param Location $location The new location of the tag.
-     * 
-     * @return $this
-     */
-    public function setLocation(Location $location = null)
-    {
-        $this->location = $location;
-
-        return $this;
-    }
-
-    /**
-     * Builds a string representation of this object.
-     *
-     * @todo determine the exact format as used by PHP Reflection and implement it.
-     *
-     * @return void
-     * @codeCoverageIgnore Not yet implemented
-     */
-    public static function export()
-    {
-        throw new \Exception('Not yet implemented');
-    }
-
-    /**
-     * Returns the tag as a serialized string
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return "@{$this->getName()} {$this->getContent()}";
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/AuthorTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/AuthorTag.php
deleted file mode 100644
index bacf52e..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/AuthorTag.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for an @author tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class AuthorTag extends Tag
-{
-    /**
-     * PCRE regular expression matching any valid value for the name component.
-     */
-    const REGEX_AUTHOR_NAME = '[^\<]*';
-
-    /**
-     * PCRE regular expression matching any valid value for the email component.
-     */
-    const REGEX_AUTHOR_EMAIL = '[^\>]*';
-
-    /** @var string The name of the author */
-    protected $authorName = '';
-
-    /** @var string The email of the author */
-    protected $authorEmail = '';
-    
-    public function getContent()
-    {
-        if (null === $this->content) {
-            $this->content = $this->authorName;
-            if ('' != $this->authorEmail) {
-                $this->content .= "<{$this->authorEmail}>";
-            }
-        }
-
-        return $this->content;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setContent($content)
-    {
-        parent::setContent($content);
-        if (preg_match(
-            '/^(' . self::REGEX_AUTHOR_NAME .
-            ')(\<(' . self::REGEX_AUTHOR_EMAIL .
-            ')\>)?$/u',
-            $this->description,
-            $matches
-        )) {
-            $this->authorName = trim($matches[1]);
-            if (isset($matches[3])) {
-                $this->authorEmail = trim($matches[3]);
-            }
-        }
-
-        return $this;
-    }
-
-    /**
-     * Gets the author's name.
-     * 
-     * @return string The author's name.
-     */
-    public function getAuthorName()
-    {
-        return $this->authorName;
-    }
-    
-    /**
-     * Sets the author's name.
-     * 
-     * @param string $authorName The new author name.
-     *     An invalid value will set an empty string.
-     * 
-     * @return $this
-     */
-    public function setAuthorName($authorName)
-    {
-        $this->content = null;
-        $this->authorName
-            = preg_match('/^' . self::REGEX_AUTHOR_NAME . '$/u', $authorName)
-            ? $authorName : '';
-
-        return $this;
-    }
-
-    /**
-     * Gets the author's email.
-     * 
-     * @return string The author's email.
-     */
-    public function getAuthorEmail()
-    {
-        return $this->authorEmail;
-    }
-    
-    /**
-     * Sets the author's email.
-     * 
-     * @param string $authorEmail The new author email.
-     *     An invalid value will set an empty string.
-     * 
-     * @return $this
-     */
-    public function setAuthorEmail($authorEmail)
-    {
-        $this->authorEmail
-            = preg_match('/^' . self::REGEX_AUTHOR_EMAIL . '$/u', $authorEmail)
-            ? $authorEmail : '';
-
-        $this->content = null;
-        return $this;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/CoversTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/CoversTag.php
deleted file mode 100644
index bd31b56..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/CoversTag.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @covers tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class CoversTag extends SeeTag
-{
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTag.php
deleted file mode 100644
index 7226316..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTag.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag\VersionTag;
-
-/**
- * Reflection class for a @deprecated tag in a Docblock.
- *
- * @author  Vasil Rangelov <boen.robot@gmail.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class DeprecatedTag extends VersionTag
-{
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ExampleTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ExampleTag.php
deleted file mode 100644
index 0e163ea..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ExampleTag.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @example tag in a Docblock.
- *
- * @author  Vasil Rangelov <boen.robot@gmail.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class ExampleTag extends SourceTag
-{
-    /** 
-     * @var string Path to a file to use as an example.
-     *     May also be an absolute URI.
-     */
-    protected $filePath = '';
-
-    /**
-     * @var bool Whether the file path component represents an URI.
-     *     This determines how the file portion appears at {@link getContent()}.
-     */
-    protected $isURI = false;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        if (null === $this->content) {
-            $filePath = '';
-            if ($this->isURI) {
-                if (false === strpos($this->filePath, ':')) {
-                    $filePath = str_replace(
-                        '%2F',
-                        '/',
-                        rawurlencode($this->filePath)
-                    );
-                } else {
-                    $filePath = $this->filePath;
-                }
-            } else {
-                $filePath = '"' . $this->filePath . '"';
-            }
-
-            $this->content = $filePath . ' ' . parent::getContent();
-        }
-
-        return $this->content;
-    }
-    /**
-     * {@inheritdoc}
-     */
-    public function setContent($content)
-    {
-        Tag::setContent($content);
-        if (preg_match(
-            '/^
-                # File component
-                (?:
-                    # File path in quotes
-                    \"([^\"]+)\"
-                    |
-                    # File URI
-                    (\S+)
-                )
-                # Remaining content (parsed by SourceTag)
-                (?:\s+(.*))?
-            $/sux',
-            $this->description,
-            $matches
-        )) {
-            if ('' !== $matches[1]) {
-                $this->setFilePath($matches[1]);
-            } else {
-                $this->setFileURI($matches[2]);
-            }
-
-            if (isset($matches[3])) {
-                parent::setContent($matches[3]);
-            } else {
-                $this->setDescription('');
-            }
-            $this->content = $content;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Returns the file path.
-     *
-     * @return string Path to a file to use as an example.
-     *     May also be an absolute URI.
-     */
-    public function getFilePath()
-    {
-        return $this->filePath;
-    }
-    
-    /**
-     * Sets the file path.
-     * 
-     * @param string $filePath The new file path to use for the example.
-     * 
-     * @return $this
-     */
-    public function setFilePath($filePath)
-    {
-        $this->isURI = false;
-        $this->filePath = trim($filePath);
-
-        $this->content = null;
-        return $this;
-    }
-    
-    /**
-     * Sets the file path as an URI.
-     * 
-     * This function is equivalent to {@link setFilePath()}, except that it
-     * convers an URI to a file path before that.
-     * 
-     * There is no getFileURI(), as {@link getFilePath()} is compatible.
-     * 
-     * @param type $uri The new file URI to use as an example.
-     */
-    public function setFileURI($uri)
-    {
-        $this->isURI = true;
-        if (false === strpos($uri, ':')) {
-            //Relative URL
-            $this->filePath = rawurldecode(
-                str_replace(array('/', '\\'), '%2F', $uri)
-            );
-        } else {
-            //Absolute URL or URI.
-            $this->filePath = $uri;
-        }
-
-        $this->content = null;
-        return $this;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/LinkTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/LinkTag.php
deleted file mode 100644
index f79f25d..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/LinkTag.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Ben Selby <benmatselby@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @link tag in a Docblock.
- *
- * @author  Ben Selby <benmatselby@gmail.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class LinkTag extends Tag
-{
-    /** @var string */
-    protected $link = '';
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        if (null === $this->content) {
-            $this->content = "{$this->link} {$this->description}";
-        }
-
-        return $this->content;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setContent($content)
-    {
-        parent::setContent($content);
-        $parts = preg_split('/\s+/Su', $this->description, 2);
-
-        $this->link = $parts[0];
-
-        $this->setDescription(isset($parts[1]) ? $parts[1] : $parts[0]);
-
-        $this->content = $content;
-        return $this;
-    }
-
-    /**
-    * Gets the link
-    *
-    * @return string
-    */
-    public function getLink()
-    {
-        return $this->link;
-    }
-
-    /**
-    * Sets the link
-    *
-    * @param string $link The link
-    *
-    * @return $this
-    */
-    public function setLink($link)
-    {
-        $this->link = $link;
-
-        $this->content = null;
-        return $this;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/MethodTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/MethodTag.php
deleted file mode 100644
index 7a5ce79..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/MethodTag.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @method in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class MethodTag extends ReturnTag
-{
-
-    /** @var string */
-    protected $method_name = '';
-
-    /** @var string */
-    protected $arguments = '';
-    
-    /** @var bool */
-    protected $isStatic = false;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        if (null === $this->content) {
-            $this->content = '';
-            if ($this->isStatic) {
-                $this->content .= 'static ';
-            }
-            $this->content .= $this->type .
-                " {$this->method_name}({$this->arguments}) " .
-                $this->description;
-        }
-
-        return $this->content;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setContent($content)
-    {
-        Tag::setContent($content);
-        // 1. none or more whitespace
-        // 2. optionally the keyword "static" followed by whitespace
-        // 3. optionally a word with underscores followed by whitespace : as
-        //    type for the return value
-        // 4. then optionally a word with underscores followed by () and
-        //    whitespace : as method name as used by phpDocumentor
-        // 5. then a word with underscores, followed by ( and any character
-        //    until a ) and whitespace : as method name with signature
-        // 6. any remaining text : as description
-        if (preg_match(
-            '/^
-                # Static keyword
-                # Declates a static method ONLY if type is also present
-                (?:
-                    (static)
-                    \s+
-                )?
-                # Return type
-                (?:
-                    ([\w\|_\\\\]+)
-                    \s+
-                )?
-                # Legacy method name (not captured)
-                (?:
-                    [\w_]+\(\)\s+
-                )?
-                # Method name
-                ([\w\|_\\\\]+)
-                # Arguments
-                \(([^\)]*)\)
-                \s*
-                # Description
-                (.*)
-            $/sux',
-            $this->description,
-            $matches
-        )) {
-            list(
-                ,
-                $static,
-                $this->type,
-                $this->method_name,
-                $this->arguments,
-                $this->description
-            ) = $matches;
-            if ($static) {
-                if (!$this->type) {
-                    $this->type = 'static';
-                } else {
-                    $this->isStatic = true;
-                }
-            } else {
-                if (!$this->type) {
-                    $this->type = 'void';
-                }
-            }
-            $this->parsedDescription = null;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Sets the name of this method.
-     *
-     * @param string $method_name The name of the method.
-     *
-     * @return $this
-     */
-    public function setMethodName($method_name)
-    {
-        $this->method_name = $method_name;
-
-        $this->content = null;
-        return $this;
-    }
-
-    /**
-     * Retrieves the method name.
-     *
-     * @return string
-     */
-    public function getMethodName()
-    {
-        return $this->method_name;
-    }
-
-    /**
-     * Sets the arguments for this method.
-     *
-     * @param string $arguments A comma-separated arguments line.
-     *
-     * @return void
-     */
-    public function setArguments($arguments)
-    {
-        $this->arguments = $arguments;
-
-        $this->content = null;
-        return $this;
-    }
-
-    /**
-     * Returns an array containing each argument as array of type and name.
-     *
-     * Please note that the argument sub-array may only contain 1 element if no
-     * type was specified.
-     *
-     * @return string[]
-     */
-    public function getArguments()
-    {
-        if (empty($this->arguments)) {
-            return array();
-        }
-
-        $arguments = explode(',', $this->arguments);
-        foreach ($arguments as $key => $value) {
-            $arguments[$key] = explode(' ', trim($value));
-        }
-
-        return $arguments;
-    }
-    
-    /**
-     * Checks whether the method tag describes a static method or not.
-     * 
-     * @return bool TRUE if the method declaration is for a static method, FALSE
-     *     otherwise.
-     */
-    public function isStatic()
-    {
-        return $this->isStatic;
-    }
-    
-    /**
-     * Sets a new value for whether the method is static or not.
-     * 
-     * @param bool $isStatic The new value to set.
-     * 
-     * @return $this
-     */
-    public function setIsStatic($isStatic)
-    {
-        $this->isStatic = $isStatic;
-
-        $this->content = null;
-        return $this;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ParamTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ParamTag.php
deleted file mode 100644
index 9bc0270..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ParamTag.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @param tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class ParamTag extends ReturnTag
-{
-    /** @var string */
-    protected $variableName = '';
-
-    /** @var bool determines whether this is a variadic argument */
-    protected $isVariadic = false;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        if (null === $this->content) {
-            $this->content
-                = "{$this->type} {$this->variableName} {$this->description}";
-        }
-        return $this->content;
-    }
-    /**
-     * {@inheritdoc}
-     */
-    public function setContent($content)
-    {
-        Tag::setContent($content);
-        $parts = preg_split(
-            '/(\s+)/Su',
-            $this->description,
-            3,
-            PREG_SPLIT_DELIM_CAPTURE
-        );
-
-        // if the first item that is encountered is not a variable; it is a type
-        if (isset($parts[0])
-            && (strlen($parts[0]) > 0)
-            && ($parts[0][0] !== '$')
-        ) {
-            $this->type = array_shift($parts);
-            array_shift($parts);
-        }
-
-        // if the next item starts with a $ or ...$ it must be the variable name
-        if (isset($parts[0])
-            && (strlen($parts[0]) > 0)
-            && ($parts[0][0] == '$' || substr($parts[0], 0, 4) === '...$')
-        ) {
-            $this->variableName = array_shift($parts);
-            array_shift($parts);
-
-            if (substr($this->variableName, 0, 3) === '...') {
-                $this->isVariadic = true;
-                $this->variableName = substr($this->variableName, 3);
-            }
-        }
-
-        $this->setDescription(implode('', $parts));
-
-        $this->content = $content;
-        return $this;
-    }
-
-    /**
-     * Returns the variable's name.
-     *
-     * @return string
-     */
-    public function getVariableName()
-    {
-        return $this->variableName;
-    }
-
-    /**
-     * Sets the variable's name.
-     *
-     * @param string $name The new name for this variable.
-     *
-     * @return $this
-     */
-    public function setVariableName($name)
-    {
-        $this->variableName = $name;
-
-        $this->content = null;
-        return $this;
-    }
-
-    /**
-     * Returns whether this tag is variadic.
-     *
-     * @return boolean
-     */
-    public function isVariadic()
-    {
-        return $this->isVariadic;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyReadTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyReadTag.php
deleted file mode 100644
index 3340602..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyReadTag.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @property-read tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class PropertyReadTag extends PropertyTag
-{
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyTag.php
deleted file mode 100644
index 288ecff..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyTag.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @property tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class PropertyTag extends ParamTag
-{
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyWriteTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyWriteTag.php
deleted file mode 100644
index ec4e866..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyWriteTag.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @property-write tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class PropertyWriteTag extends PropertyTag
-{
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ReturnTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ReturnTag.php
deleted file mode 100644
index 9293db9..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ReturnTag.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-use phpDocumentor\Reflection\DocBlock\Type\Collection;
-
-/**
- * Reflection class for a @return tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class ReturnTag extends Tag
-{
-    /** @var string The raw type component. */
-    protected $type = '';
-    
-    /** @var Collection The parsed type component. */
-    protected $types = null;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        if (null === $this->content) {
-            $this->content = "{$this->type} {$this->description}";
-        }
-
-        return $this->content;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setContent($content)
-    {
-        parent::setContent($content);
-
-        $parts = preg_split('/\s+/Su', $this->description, 2);
-
-        // any output is considered a type
-        $this->type = $parts[0];
-        $this->types = null;
-
-        $this->setDescription(isset($parts[1]) ? $parts[1] : '');
-
-        $this->content = $content;
-        return $this;
-    }
-
-    /**
-     * Returns the unique types of the variable.
-     *
-     * @return string[]
-     */
-    public function getTypes()
-    {
-        return $this->getTypesCollection()->getArrayCopy();
-    }
-
-    /**
-     * Returns the type section of the variable.
-     *
-     * @return string
-     */
-    public function getType()
-    {
-        return (string) $this->getTypesCollection();
-    }
-
-    /**
-     * Returns the type collection.
-     * 
-     * @return void
-     */
-    protected function getTypesCollection()
-    {
-        if (null === $this->types) {
-            $this->types = new Collection(
-                array($this->type),
-                $this->docblock ? $this->docblock->getContext() : null
-            );
-        }
-        return $this->types;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SeeTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SeeTag.php
deleted file mode 100644
index 4f5f22c..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SeeTag.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @see tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class SeeTag extends Tag
-{
-    /** @var string */
-    protected $refers = null;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        if (null === $this->content) {
-            $this->content = "{$this->refers} {$this->description}";
-        }
-        return $this->content;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setContent($content)
-    {
-        parent::setContent($content);
-        $parts = preg_split('/\s+/Su', $this->description, 2);
-
-        // any output is considered a type
-        $this->refers = $parts[0];
-
-        $this->setDescription(isset($parts[1]) ? $parts[1] : '');
-
-        $this->content = $content;
-        return $this;
-    }
-
-    /**
-     * Gets the structural element this tag refers to.
-     *
-     * @return string
-     */
-    public function getReference()
-    {
-        return $this->refers;
-    }
-
-    /**
-     * Sets the structural element this tag refers to.
-     * 
-     * @param string $refers The new type this tag refers to.
-     * 
-     * @return $this
-     */
-    public function setReference($refers)
-    {
-        $this->refers = $refers;
-
-        $this->content = null;
-        return $this;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SinceTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SinceTag.php
deleted file mode 100644
index ba009c4..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SinceTag.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag\VersionTag;
-
-/**
- * Reflection class for a @since tag in a Docblock.
- *
- * @author  Vasil Rangelov <boen.robot@gmail.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class SinceTag extends VersionTag
-{
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SourceTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SourceTag.php
deleted file mode 100644
index 3400220..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SourceTag.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @source tag in a Docblock.
- *
- * @author  Vasil Rangelov <boen.robot@gmail.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class SourceTag extends Tag
-{
-    /**
-     * @var int The starting line, relative to the structural element's
-     *     location.
-     */
-    protected $startingLine = 1;
-
-    /** 
-     * @var int|null The number of lines, relative to the starting line. NULL
-     *     means "to the end".
-     */
-    protected $lineCount = null;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        if (null === $this->content) {
-            $this->content
-                = "{$this->startingLine} {$this->lineCount} {$this->description}";
-        }
-
-        return $this->content;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setContent($content)
-    {
-        parent::setContent($content);
-        if (preg_match(
-            '/^
-                # Starting line
-                ([1-9]\d*)
-                \s*
-                # Number of lines
-                (?:
-                    ((?1))
-                    \s+
-                )?
-                # Description
-                (.*)
-            $/sux',
-            $this->description,
-            $matches
-        )) {
-            $this->startingLine = (int)$matches[1];
-            if (isset($matches[2]) && '' !== $matches[2]) {
-                $this->lineCount = (int)$matches[2];
-            }
-            $this->setDescription($matches[3]);
-            $this->content = $content;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Gets the starting line.
-     *
-     * @return int The starting line, relative to the structural element's
-     *     location.
-     */
-    public function getStartingLine()
-    {
-        return $this->startingLine;
-    }
-
-    /**
-     * Sets the starting line.
-     * 
-     * @param int $startingLine The new starting line, relative to the
-     *     structural element's location.
-     * 
-     * @return $this
-     */
-    public function setStartingLine($startingLine)
-    {
-        $this->startingLine = $startingLine;
-
-        $this->content = null;
-        return $this;
-    }
-
-    /**
-     * Returns the number of lines.
-     *
-     * @return int|null The number of lines, relative to the starting line. NULL
-     *     means "to the end".
-     */
-    public function getLineCount()
-    {
-        return $this->lineCount;
-    }
-
-    /**
-     * Sets the number of lines.
-     * 
-     * @param int|null $lineCount The new number of lines, relative to the
-     *     starting line. NULL means "to the end".
-     * 
-     * @return $this
-     */
-    public function setLineCount($lineCount)
-    {
-        $this->lineCount = $lineCount;
-
-        $this->content = null;
-        return $this;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTag.php
deleted file mode 100644
index 58ee44a..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTag.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @throws tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class ThrowsTag extends ReturnTag
-{
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/UsesTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/UsesTag.php
deleted file mode 100644
index da0d663..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/UsesTag.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @uses tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class UsesTag extends SeeTag
-{
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VarTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VarTag.php
deleted file mode 100644
index 236b2c8..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VarTag.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @var tag in a Docblock.
- *
- * @author  Mike van Riel <mike.vanriel@naenius.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class VarTag extends ParamTag
-{
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VersionTag.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VersionTag.php
deleted file mode 100644
index 260f698..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VersionTag.php
+++ /dev/null
@@ -1,108 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a @version tag in a Docblock.
- *
- * @author  Vasil Rangelov <boen.robot@gmail.com>
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link    http://phpdoc.org
- */
-class VersionTag extends Tag
-{
-    /**
-     * PCRE regular expression matching a version vector.
-     * Assumes the "x" modifier.
-     */
-    const REGEX_VECTOR = '(?:
-        # Normal release vectors.
-        \d\S*
-        |
-        # VCS version vectors. Per PHPCS, they are expected to
-        # follow the form of the VCS name, followed by ":", followed
-        # by the version vector itself.
-        # By convention, popular VCSes like CVS, SVN and GIT use "$"
-        # around the actual version vector.
-        [^\s\:]+\:\s*\$[^\$]+\$
-    )';
-
-    /** @var string The version vector. */
-    protected $version = '';
-    
-    public function getContent()
-    {
-        if (null === $this->content) {
-            $this->content = "{$this->version} {$this->description}";
-        }
-
-        return $this->content;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setContent($content)
-    {
-        parent::setContent($content);
-
-        if (preg_match(
-            '/^
-                # The version vector
-                (' . self::REGEX_VECTOR . ')
-                \s*
-                # The description
-                (.+)?
-            $/sux',
-            $this->description,
-            $matches
-        )) {
-            $this->version = $matches[1];
-            $this->setDescription(isset($matches[2]) ? $matches[2] : '');
-            $this->content = $content;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Gets the version section of the tag.
-     *
-     * @return string The version section of the tag.
-     */
-    public function getVersion()
-    {
-        return $this->version;
-    }
-    
-    /**
-     * Sets the version section of the tag.
-     * 
-     * @param string $version The new version section of the tag.
-     *     An invalid value will set an empty string.
-     * 
-     * @return $this
-     */
-    public function setVersion($version)
-    {
-        $this->version
-            = preg_match('/^' . self::REGEX_VECTOR . '$/ux', $version)
-            ? $version
-            : '';
-
-        $this->content = null;
-        return $this;
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Type/Collection.php b/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Type/Collection.php
deleted file mode 100644
index 90ead3f..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Type/Collection.php
+++ /dev/null
@@ -1,221 +0,0 @@
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Type;
-
-use phpDocumentor\Reflection\DocBlock\Context;
-
-/**
- * Collection
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class Collection extends \ArrayObject
-{
-    /** @var string Definition of the OR operator for types */
-    const OPERATOR_OR = '|';
-
-    /** @var string Definition of the ARRAY operator for types */
-    const OPERATOR_ARRAY = '[]';
-
-    /** @var string Definition of the NAMESPACE operator in PHP */
-    const OPERATOR_NAMESPACE = '\\';
-
-    /** @var string[] List of recognized keywords */
-    protected static $keywords = array(
-        'string', 'int', 'integer', 'bool', 'boolean', 'float', 'double',
-        'object', 'mixed', 'array', 'resource', 'void', 'null', 'scalar',
-        'callback', 'callable', 'false', 'true', 'self', '$this', 'static'
-    );
-
-    /**
-     * Current invoking location.
-     *
-     * This is used to prepend to type with a relative location.
-     * May also be 'default' or 'global', in which case they are ignored.
-     *
-     * @var Context
-     */
-    protected $context = null;
-
-    /**
-     * Registers the namespace and aliases; uses that to add and expand the
-     * given types.
-     *
-     * @param string[] $types    Array containing a list of types to add to this
-     *     container.
-     * @param Context  $location The current invoking location.
-     */
-    public function __construct(
-        array $types = array(),
-        Context $context = null
-    ) {
-        $this->context = null === $context ? new Context() : $context;
-
-        foreach ($types as $type) {
-            $this->add($type);
-        }
-    }
-
-    /**
-     * Returns the current invoking location.
-     *
-     * @return Context
-     */
-    public function getContext()
-    {
-        return $this->context;
-    }
-
-    /**
-     * Adds a new type to the collection and expands it if it contains a
-     * relative namespace.
-     *
-     * If a class in the type contains a relative namespace than this collection
-     * will try to expand that into a FQCN.
-     *
-     * @param string $type A 'Type' as defined in the phpDocumentor
-     *     documentation.
-     *
-     * @throws \InvalidArgumentException if a non-string argument is passed.
-     *
-     * @see http://phpdoc.org/docs/latest/for-users/types.html for the
-     *     definition of a type.
-     *
-     * @return void
-     */
-    public function add($type)
-    {
-        if (!is_string($type)) {
-            throw new \InvalidArgumentException(
-                'A type should be represented by a string, received: '
-                .var_export($type, true)
-            );
-        }
-
-        // separate the type by the OR operator
-        $type_parts = explode(self::OPERATOR_OR, $type);
-        foreach ($type_parts as $part) {
-            $expanded_type = $this->expand($part);
-            if ($expanded_type) {
-                $this[] = $expanded_type;
-            }
-        }
-    }
-    
-    /**
-     * Returns a string representation of the collection.
-     * 
-     * @return string The resolved types across the collection, separated with
-     *     {@link self::OPERATOR_OR}.
-     */
-    public function __toString()
-    {
-        return implode(self::OPERATOR_OR, $this->getArrayCopy());
-    }
-
-    /**
-     * Analyzes the given type and returns the FQCN variant.
-     *
-     * When a type is provided this method checks whether it is not a keyword or
-     * Fully Qualified Class Name. If so it will use the given namespace and
-     * aliases to expand the type to a FQCN representation.
-     *
-     * This method only works as expected if the namespace and aliases are set;
-     * no dynamic reflection is being performed here.
-     *
-     * @param string $type The relative or absolute type.
-     *
-     * @uses getNamespace to determine with what to prefix the type name.
-     * @uses getNamespaceAliases to check whether the first part of the relative
-     *     type name should not be replaced with another namespace.
-     *
-     * @return string
-     */
-    protected function expand($type)
-    {
-        $type = trim($type);
-        if (!$type) {
-            return '';
-        }
-
-        if ($this->isTypeAnArray($type)) {
-            return $this->expand(substr($type, 0, -2)) . self::OPERATOR_ARRAY;
-        }
-
-        if ($this->isRelativeType($type) && !$this->isTypeAKeyword($type)) {
-            $type_parts = explode(self::OPERATOR_NAMESPACE, $type, 2);
-
-            $namespace_aliases = $this->context->getNamespaceAliases();
-            // if the first segment is not an alias; prepend namespace name and
-            // return
-            if (!isset($namespace_aliases[$type_parts[0]])) {
-                $namespace = $this->context->getNamespace();
-                if ('' !== $namespace) {
-                    $namespace .= self::OPERATOR_NAMESPACE;
-                }
-                return self::OPERATOR_NAMESPACE . $namespace . $type;
-            }
-
-            $type_parts[0] = $namespace_aliases[$type_parts[0]];
-            $type = implode(self::OPERATOR_NAMESPACE, $type_parts);
-        }
-
-        return $type;
-    }
-
-    /**
-     * Detects whether the given type represents an array.
-     *
-     * @param string $type A relative or absolute type as defined in the
-     *     phpDocumentor documentation.
-     *
-     * @return bool
-     */
-    protected function isTypeAnArray($type)
-    {
-        return substr($type, -2) === self::OPERATOR_ARRAY;
-    }
-
-    /**
-     * Detects whether the given type represents a PHPDoc keyword.
-     *
-     * @param string $type A relative or absolute type as defined in the
-     *     phpDocumentor documentation.
-     *
-     * @return bool
-     */
-    protected function isTypeAKeyword($type)
-    {
-        return in_array(strtolower($type), static::$keywords, true);
-    }
-
-    /**
-     * Detects whether the given type represents a relative or absolute path.
-     *
-     * This method will detect keywords as being absolute; even though they are
-     * not preceeded by a namespace separator.
-     *
-     * @param string $type A relative or absolute type as defined in the
-     *     phpDocumentor documentation.
-     *
-     * @return bool
-     */
-    protected function isRelativeType($type)
-    {
-        return ($type[0] !== self::OPERATOR_NAMESPACE)
-            || $this->isTypeAKeyword($type);
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/DescriptionTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/DescriptionTest.php
deleted file mode 100644
index a6ca7b3..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/DescriptionTest.php
+++ /dev/null
@@ -1,245 +0,0 @@
-<?php
-/**
- * phpDocumentor Description Test
- *
- * PHP Version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Description
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class DescriptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstruct()
-    {
-        $fixture = <<<LONGDESC
-This is text for a description.
-LONGDESC;
-        $object = new Description($fixture);
-        $this->assertSame($fixture, $object->getContents());
-
-        $parsedContents = $object->getParsedContents();
-        $this->assertCount(1, $parsedContents);
-        $this->assertSame($fixture, $parsedContents[0]);
-    }
-
-    public function testInlineTagParsing()
-    {
-        $fixture = <<<LONGDESC
-This is text for a {@link http://phpdoc.org/ description} that uses inline
-tags.
-LONGDESC;
-        $object = new Description($fixture);
-        $this->assertSame($fixture, $object->getContents());
-
-        $parsedContents = $object->getParsedContents();
-        $this->assertCount(3, $parsedContents);
-        $this->assertSame('This is text for a ', $parsedContents[0]);
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag\LinkTag',
-            $parsedContents[1]
-        );
-        $this->assertSame(
-            ' that uses inline
-tags.',
-            $parsedContents[2]
-        );
-    }
-
-    public function testInlineTagAtStartParsing()
-    {
-        $fixture = <<<LONGDESC
-{@link http://phpdoc.org/ This} is text for a description that uses inline
-tags.
-LONGDESC;
-        $object = new Description($fixture);
-        $this->assertSame($fixture, $object->getContents());
-
-        $parsedContents = $object->getParsedContents();
-        $this->assertCount(3, $parsedContents);
-
-        $this->assertSame('', $parsedContents[0]);
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag\LinkTag',
-            $parsedContents[1]
-        );
-        $this->assertSame(
-            ' is text for a description that uses inline
-tags.',
-            $parsedContents[2]
-        );
-    }
-
-    public function testNestedInlineTagParsing()
-    {
-        $fixture = <<<LONGDESC
-This is text for a description with {@internal inline tag with
-{@link http://phpdoc.org another inline tag} in it}.
-LONGDESC;
-        $object = new Description($fixture);
-        $this->assertSame($fixture, $object->getContents());
-
-        $parsedContents = $object->getParsedContents();
-        $this->assertCount(3, $parsedContents);
-
-        $this->assertSame(
-            'This is text for a description with ',
-            $parsedContents[0]
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $parsedContents[1]
-        );
-        $this->assertSame('.', $parsedContents[2]);
-
-        $parsedDescription = $parsedContents[1]->getParsedDescription();
-        $this->assertCount(3, $parsedDescription);
-        $this->assertSame("inline tag with\n", $parsedDescription[0]);
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag\LinkTag',
-            $parsedDescription[1]
-        );
-        $this->assertSame(' in it', $parsedDescription[2]);
-    }
-
-    public function testLiteralOpeningDelimiter()
-    {
-        $fixture = <<<LONGDESC
-This is text for a description containing { that is literal.
-LONGDESC;
-        $object = new Description($fixture);
-        $this->assertSame($fixture, $object->getContents());
-
-        $parsedContents = $object->getParsedContents();
-        $this->assertCount(1, $parsedContents);
-        $this->assertSame($fixture, $parsedContents[0]);
-    }
-
-    public function testNestedLiteralOpeningDelimiter()
-    {
-        $fixture = <<<LONGDESC
-This is text for a description containing {@internal inline tag that has { that
-is literal}.
-LONGDESC;
-        $object = new Description($fixture);
-        $this->assertSame($fixture, $object->getContents());
-
-        $parsedContents = $object->getParsedContents();
-        $this->assertCount(3, $parsedContents);
-        $this->assertSame(
-            'This is text for a description containing ',
-            $parsedContents[0]
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $parsedContents[1]
-        );
-        $this->assertSame('.', $parsedContents[2]);
-
-        $this->assertSame(
-            array('inline tag that has { that
-is literal'),
-            $parsedContents[1]->getParsedDescription()
-        );
-    }
-
-    public function testLiteralClosingDelimiter()
-    {
-        $fixture = <<<LONGDESC
-This is text for a description with {} that is not a tag.
-LONGDESC;
-        $object = new Description($fixture);
-        $this->assertSame($fixture, $object->getContents());
-
-        $parsedContents = $object->getParsedContents();
-        $this->assertCount(1, $parsedContents);
-        $this->assertSame(
-            'This is text for a description with } that is not a tag.',
-            $parsedContents[0]
-        );
-    }
-
-    public function testNestedLiteralClosingDelimiter()
-    {
-        $fixture = <<<LONGDESC
-This is text for a description with {@internal inline tag with {} that is not an
-inline tag}.
-LONGDESC;
-        $object = new Description($fixture);
-        $this->assertSame($fixture, $object->getContents());
-
-        $parsedContents = $object->getParsedContents();
-        $this->assertCount(3, $parsedContents);
-        $this->assertSame(
-            'This is text for a description with ',
-            $parsedContents[0]
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $parsedContents[1]
-        );
-        $this->assertSame('.', $parsedContents[2]);
-
-        $this->assertSame(
-            array('inline tag with } that is not an
-inline tag'),
-            $parsedContents[1]->getParsedDescription()
-        );
-    }
-
-    public function testInlineTagEscapingSequence()
-    {
-        $fixture = <<<LONGDESC
-This is text for a description with literal {{@}link}.
-LONGDESC;
-        $object = new Description($fixture);
-        $this->assertSame($fixture, $object->getContents());
-
-        $parsedContents = $object->getParsedContents();
-        $this->assertCount(1, $parsedContents);
-        $this->assertSame(
-            'This is text for a description with literal {@link}.',
-            $parsedContents[0]
-        );
-    }
-
-    public function testNestedInlineTagEscapingSequence()
-    {
-        $fixture = <<<LONGDESC
-This is text for a description with an {@internal inline tag with literal
-{{@}link{} in it}.
-LONGDESC;
-        $object = new Description($fixture);
-        $this->assertSame($fixture, $object->getContents());
-
-        $parsedContents = $object->getParsedContents();
-        $this->assertCount(3, $parsedContents);
-        $this->assertSame(
-            'This is text for a description with an ',
-            $parsedContents[0]
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $parsedContents[1]
-        );
-        $this->assertSame('.', $parsedContents[2]);
-
-        $this->assertSame(
-            array('inline tag with literal
-{@link} in it'),
-            $parsedContents[1]->getParsedDescription()
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/CoversTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/CoversTagTest.php
deleted file mode 100644
index ff257aa..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/CoversTagTest.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-/**
- * phpDocumentor Covers Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Daniel O'Connor <daniel.oconnor@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\CoversTag
- *
- * @author    Daniel O'Connor <daniel.oconnor@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class CoversTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\CoversTag can create
-     * a link for the covers doc block.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exContent
-     * @param string $exReference
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\CoversTag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exContent,
-        $exDescription,
-        $exReference
-    ) {
-        $tag = new CoversTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($exContent, $tag->getContent());
-        $this->assertEquals($exDescription, $tag->getDescription());
-        $this->assertEquals($exReference, $tag->getReference());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type, $content, $exContent, $exDescription, $exReference
-        return array(
-            array(
-                'covers',
-                'Foo::bar()',
-                'Foo::bar()',
-                '',
-                'Foo::bar()'
-            ),
-            array(
-                'covers',
-                'Foo::bar() Testing',
-                'Foo::bar() Testing',
-                'Testing',
-                'Foo::bar()',
-            ),
-            array(
-                'covers',
-                'Foo::bar() Testing comments',
-                'Foo::bar() Testing comments',
-                'Testing comments',
-                'Foo::bar()',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTagTest.php
deleted file mode 100644
index 7a75e79..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTagTest.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-/**
- * phpDocumentor Deprecated Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\DeprecatedTag
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class DeprecatedTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\LinkTag can create
-     * a link for the @deprecated doc block.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exContent
-     * @param string $exDescription
-     * @param string $exVersion
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\DeprecatedTag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exContent,
-        $exDescription,
-        $exVersion
-    ) {
-        $tag = new DeprecatedTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($exContent, $tag->getContent());
-        $this->assertEquals($exDescription, $tag->getDescription());
-        $this->assertEquals($exVersion, $tag->getVersion());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type, $content, $exContent, $exDescription, $exVersion
-        return array(
-            array(
-                'deprecated',
-                '1.0 First release.',
-                '1.0 First release.',
-                'First release.',
-                '1.0'
-            ),
-            array(
-                'deprecated',
-                "1.0\nFirst release.",
-                "1.0\nFirst release.",
-                'First release.',
-                '1.0'
-            ),
-            array(
-                'deprecated',
-                "1.0\nFirst\nrelease.",
-                "1.0\nFirst\nrelease.",
-                "First\nrelease.",
-                '1.0'
-            ),
-            array(
-                'deprecated',
-                'Unfinished release',
-                'Unfinished release',
-                'Unfinished release',
-                ''
-            ),
-            array(
-                'deprecated',
-                '1.0',
-                '1.0',
-                '',
-                '1.0'
-            ),
-            array(
-                'deprecated',
-                'GIT: $Id$',
-                'GIT: $Id$',
-                '',
-                'GIT: $Id$'
-            ),
-            array(
-                'deprecated',
-                'GIT: $Id$ Dev build',
-                'GIT: $Id$ Dev build',
-                'Dev build',
-                'GIT: $Id$'
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ExampleTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ExampleTagTest.php
deleted file mode 100644
index 519a61b..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ExampleTagTest.php
+++ /dev/null
@@ -1,203 +0,0 @@
-<?php
-/**
- * phpDocumentor Example Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\ExampleTag
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class ExampleTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\SourceTag can
-     * understand the @source DocBlock.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exContent
-     * @param string $exStartingLine
-     * @param string $exLineCount
-     * @param string $exFilepath
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\ExampleTag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exContent,
-        $exDescription,
-        $exStartingLine,
-        $exLineCount,
-        $exFilePath
-    ) {
-        $tag = new ExampleTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($exContent, $tag->getContent());
-        $this->assertEquals($exDescription, $tag->getDescription());
-        $this->assertEquals($exStartingLine, $tag->getStartingLine());
-        $this->assertEquals($exLineCount, $tag->getLineCount());
-        $this->assertEquals($exFilePath, $tag->getFilePath());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type,
-        // $content,
-        // $exContent,
-        // $exDescription,
-        // $exStartingLine,
-        // $exLineCount,
-        // $exFilePath
-        return array(
-            array(
-                'example',
-                'file.php',
-                'file.php',
-                '',
-                1,
-                null,
-                'file.php'
-            ),
-            array(
-                'example',
-                'Testing comments',
-                'Testing comments',
-                'comments',
-                1,
-                null,
-                'Testing'
-            ),
-            array(
-                'example',
-                'file.php 2 Testing',
-                'file.php 2 Testing',
-                'Testing',
-                2,
-                null,
-                'file.php'
-            ),
-            array(
-                'example',
-                'file.php 2 3 Testing comments',
-                'file.php 2 3 Testing comments',
-                'Testing comments',
-                2,
-                3,
-                'file.php'
-            ),
-            array(
-                'example',
-                'file.php 2 -1 Testing comments',
-                'file.php 2 -1 Testing comments',
-                '-1 Testing comments',
-                2,
-                null,
-                'file.php'
-            ),
-            array(
-                'example',
-                'file.php -1 1 Testing comments',
-                'file.php -1 1 Testing comments',
-                '-1 1 Testing comments',
-                1,
-                null,
-                'file.php'
-            ),
-            array(
-                'example',
-                '"file with spaces.php" Testing comments',
-                '"file with spaces.php" Testing comments',
-                'Testing comments',
-                1,
-                null,
-                'file with spaces.php'
-            ),
-            array(
-                'example',
-                '"file with spaces.php" 2 Testing comments',
-                '"file with spaces.php" 2 Testing comments',
-                'Testing comments',
-                2,
-                null,
-                'file with spaces.php'
-            ),
-            array(
-                'example',
-                '"file with spaces.php" 2 3 Testing comments',
-                '"file with spaces.php" 2 3 Testing comments',
-                'Testing comments',
-                2,
-                3,
-                'file with spaces.php'
-            ),
-            array(
-                'example',
-                '"file with spaces.php" 2 -3 Testing comments',
-                '"file with spaces.php" 2 -3 Testing comments',
-                '-3 Testing comments',
-                2,
-                null,
-                'file with spaces.php'
-            ),
-            array(
-                'example',
-                '"file with spaces.php" -2 3 Testing comments',
-                '"file with spaces.php" -2 3 Testing comments',
-                '-2 3 Testing comments',
-                1,
-                null,
-                'file with spaces.php'
-            ),
-            array(
-                'example',
-                'file%20with%20spaces.php Testing comments',
-                'file%20with%20spaces.php Testing comments',
-                'Testing comments',
-                1,
-                null,
-                'file with spaces.php'
-            ),
-            array(
-                'example',
-                'folder/file%20with%20spaces.php Testing comments',
-                'folder/file%20with%20spaces.php Testing comments',
-                'Testing comments',
-                1,
-                null,
-                'folder/file with spaces.php'
-            ),
-            array(
-                'example',
-                'http://example.com/file%20with%20spaces.php Testing comments',
-                'http://example.com/file%20with%20spaces.php Testing comments',
-                'Testing comments',
-                1,
-                null,
-                'http://example.com/file%20with%20spaces.php'
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/LinkTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/LinkTagTest.php
deleted file mode 100644
index 0c64ed0..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/LinkTagTest.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-/**
- * phpDocumentor Link Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Ben Selby <benmatselby@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\LinkTag
- *
- * @author    Ben Selby <benmatselby@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class LinkTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\LinkTag can create
-     * a link for the @link doc block.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exContent
-     * @param string $exDescription
-     * @param string $exLink
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\LinkTag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exContent,
-        $exDescription,
-        $exLink
-    ) {
-        $tag = new LinkTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($exContent, $tag->getContent());
-        $this->assertEquals($exDescription, $tag->getDescription());
-        $this->assertEquals($exLink, $tag->getLink());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type, $content, $exContent, $exDescription, $exLink
-        return array(
-            array(
-                'link',
-                'http://www.phpdoc.org/',
-                'http://www.phpdoc.org/',
-                'http://www.phpdoc.org/',
-                'http://www.phpdoc.org/'
-            ),
-            array(
-                'link',
-                'http://www.phpdoc.org/ Testing',
-                'http://www.phpdoc.org/ Testing',
-                'Testing',
-                'http://www.phpdoc.org/'
-            ),
-            array(
-                'link',
-                'http://www.phpdoc.org/ Testing comments',
-                'http://www.phpdoc.org/ Testing comments',
-                'Testing comments',
-                'http://www.phpdoc.org/'
-            ),
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/MethodTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/MethodTagTest.php
deleted file mode 100644
index efc3a15..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/MethodTagTest.php
+++ /dev/null
@@ -1,146 +0,0 @@
-<?php
-/**
- * phpDocumentor Method Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\MethodTag
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class MethodTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @param string $signature       The signature to test.
-     * @param bool   $valid           Whether the given signature is expected to
-     *     be valid.
-     * @param string $expected_name   The method name that is expected from this
-     *     signature.
-     * @param string $expected_return The return type that is expected from this
-     *     signature.
-     * @param bool   $paramCount      Number of parameters in the signature.
-     * @param string $description     The short description mentioned in the
-     *     signature.
-     * 
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\MethodTag
-     * @dataProvider getTestSignatures
-     *
-     * @return void
-     */
-    public function testConstruct(
-        $signature,
-        $valid,
-        $expected_name,
-        $expected_return,
-        $expected_isStatic,
-        $paramCount,
-        $description
-    ) {
-        ob_start();
-        $tag = new MethodTag('method', $signature);
-        $stdout = ob_get_clean();
-
-        $this->assertSame(
-            $valid,
-            empty($stdout),
-            'No error should have been output if the signature is valid'
-        );
-
-        if (!$valid) {
-            return;
-        }
-
-        $this->assertEquals($expected_name, $tag->getMethodName());
-        $this->assertEquals($expected_return, $tag->getType());
-        $this->assertEquals($description, $tag->getDescription());
-        $this->assertEquals($expected_isStatic, $tag->isStatic());
-        $this->assertCount($paramCount, $tag->getArguments());
-    }
-
-    public function getTestSignatures()
-    {
-        return array(
-            // TODO: Verify this case
-//            array(
-//                'foo',
-//                false, 'foo', '', false, 0, ''
-//            ),
-            array(
-                'foo()',
-                true, 'foo', 'void', false, 0, ''
-            ),
-            array(
-                'foo() description',
-                true, 'foo', 'void', false, 0, 'description'
-            ),
-            array(
-                'int foo()',
-                true, 'foo', 'int', false, 0, ''
-            ),
-            array(
-                'int foo() description',
-                true, 'foo', 'int', false, 0, 'description'
-            ),
-            array(
-                'int foo($a, $b)',
-                true, 'foo', 'int', false, 2, ''
-            ),
-            array(
-                'int foo() foo(int $a, int $b)',
-                true, 'foo', 'int', false, 2, ''
-            ),
-            array(
-                'int foo(int $a, int $b)',
-                true, 'foo', 'int', false, 2, ''
-            ),
-            array(
-                'null|int foo(int $a, int $b)',
-                true, 'foo', 'null|int', false, 2, ''
-            ),
-            array(
-                'int foo(null|int $a, int $b)',
-                true, 'foo', 'int', false, 2, ''
-            ),
-            array(
-                '\Exception foo() foo(Exception $a, Exception $b)',
-                true, 'foo', '\Exception', false, 2, ''
-            ),
-            array(
-                'int foo() foo(Exception $a, Exception $b) description',
-                true, 'foo', 'int', false, 2, 'description'
-            ),
-            array(
-                'int foo() foo(\Exception $a, \Exception $b) description',
-                true, 'foo', 'int', false, 2, 'description'
-            ),
-            array(
-                'void()',
-                true, 'void', 'void', false, 0, ''
-            ),
-            array(
-                'static foo()',
-                true, 'foo', 'static', false, 0, ''
-            ),
-            array(
-                'static void foo()',
-                true, 'foo', 'void', true, 0, ''
-            ),
-            array(
-                'static static foo()',
-                true, 'foo', 'static', true, 0, ''
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ParamTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ParamTagTest.php
deleted file mode 100644
index 0e05382..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ParamTagTest.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-/**
- * phpDocumentor Param tag test.
- * 
- * PHP version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\ParamTag
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class ParamTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\ParamTag can
-     * understand the @param DocBlock.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $extractedType
-     * @param string $extractedTypes
-     * @param string $extractedVarName
-     * @param string $extractedDescription
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\ParamTag
-     * @dataProvider provideDataForConstructor
-     *
-     * @return void
-     */
-    public function testConstructorParsesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $extractedType,
-        $extractedTypes,
-        $extractedVarName,
-        $extractedDescription
-    ) {
-        $tag = new ParamTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($extractedType, $tag->getType());
-        $this->assertEquals($extractedTypes, $tag->getTypes());
-        $this->assertEquals($extractedVarName, $tag->getVariableName());
-        $this->assertEquals($extractedDescription, $tag->getDescription());
-    }
-
-    /**
-     * Data provider for testConstructorParsesInputsIntoCorrectFields()
-     *
-     * @return array
-     */
-    public function provideDataForConstructor()
-    {
-        return array(
-            array('param', 'int', 'int', array('int'), '', ''),
-            array('param', '$bob', '', array(), '$bob', ''),
-            array(
-                'param',
-                'int Number of bobs',
-                'int',
-                array('int'),
-                '',
-                'Number of bobs'
-            ),
-            array(
-                'param',
-                'int $bob',
-                'int',
-                array('int'),
-                '$bob',
-                ''
-            ),
-            array(
-                'param',
-                'int $bob Number of bobs',
-                'int',
-                array('int'),
-                '$bob',
-                'Number of bobs'
-            ),
-            array(
-                'param',
-                "int Description \n on multiple lines",
-                'int',
-                array('int'),
-                '',
-                "Description \n on multiple lines"
-            ),
-            array(
-                'param',
-                "int \n\$bob Variable name on a new line",
-                'int',
-                array('int'),
-                '$bob',
-                "Variable name on a new line"
-            ),
-            array(
-                'param',
-                "\nint \$bob Type on a new line",
-                'int',
-                array('int'),
-                '$bob',
-                "Type on a new line"
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ReturnTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ReturnTagTest.php
deleted file mode 100644
index 9e2aec0..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ReturnTagTest.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-/**
- * phpDocumentor Return tag test.
- * 
- * PHP version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\ReturnTag
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class ReturnTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\ReturnTag can
-     * understand the @return DocBlock.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $extractedType
-     * @param string $extractedTypes
-     * @param string $extractedDescription
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\ReturnTag
-     * @dataProvider provideDataForConstructor
-     *
-     * @return void
-     */
-    public function testConstructorParsesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $extractedType,
-        $extractedTypes,
-        $extractedDescription
-    ) {
-        $tag = new ReturnTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($extractedType, $tag->getType());
-        $this->assertEquals($extractedTypes, $tag->getTypes());
-        $this->assertEquals($extractedDescription, $tag->getDescription());
-    }
-
-    /**
-     * Data provider for testConstructorParsesInputsIntoCorrectFields()
-     *
-     * @return array
-     */
-    public function provideDataForConstructor()
-    {
-        return array(
-            array('return', '', '', array(), ''),
-            array('return', 'int', 'int', array('int'), ''),
-            array(
-                'return',
-                'int Number of Bobs',
-                'int',
-                array('int'),
-                'Number of Bobs'
-            ),
-            array(
-                'return',
-                'int|double Number of Bobs',
-                'int|double',
-                array('int', 'double'),
-                'Number of Bobs'
-            ),
-            array(
-                'return',
-                "int Number of \n Bobs",
-                'int',
-                array('int'),
-                "Number of \n Bobs"
-            ),
-            array(
-                'return',
-                " int Number of Bobs",
-                'int',
-                array('int'),
-                "Number of Bobs"
-            ),
-            array(
-                'return',
-                "int\nNumber of Bobs",
-                'int',
-                array('int'),
-                "Number of Bobs"
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SeeTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SeeTagTest.php
deleted file mode 100644
index 6829b04..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SeeTagTest.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-/**
- * phpDocumentor See Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Daniel O'Connor <daniel.oconnor@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\SeeTag
- *
- * @author    Daniel O'Connor <daniel.oconnor@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class SeeTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the phpDocumentor_Reflection_DocBlock_Tag_See can create a link
-     * for the @see doc block.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exContent
-     * @param string $exReference
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\SeeTag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exContent,
-        $exDescription,
-        $exReference
-    ) {
-        $tag = new SeeTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($exContent, $tag->getContent());
-        $this->assertEquals($exDescription, $tag->getDescription());
-        $this->assertEquals($exReference, $tag->getReference());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type, $content, $exContent, $exDescription, $exReference
-        return array(
-            array(
-                'see',
-                'Foo::bar()',
-                'Foo::bar()',
-                '',
-                'Foo::bar()'
-            ),
-            array(
-                'see',
-                'Foo::bar() Testing',
-                'Foo::bar() Testing',
-                'Testing',
-                'Foo::bar()',
-            ),
-            array(
-                'see',
-                'Foo::bar() Testing comments',
-                'Foo::bar() Testing comments',
-                'Testing comments',
-                'Foo::bar()',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SinceTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SinceTagTest.php
deleted file mode 100644
index 8caf25d..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SinceTagTest.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-/**
- * phpDocumentor Since Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\SinceTag
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class SinceTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\LinkTag can create
-     * a link for the @since doc block.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exContent
-     * @param string $exDescription
-     * @param string $exVersion
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\SinceTag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exContent,
-        $exDescription,
-        $exVersion
-    ) {
-        $tag = new SinceTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($exContent, $tag->getContent());
-        $this->assertEquals($exDescription, $tag->getDescription());
-        $this->assertEquals($exVersion, $tag->getVersion());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type, $content, $exContent, $exDescription, $exVersion
-        return array(
-            array(
-                'since',
-                '1.0 First release.',
-                '1.0 First release.',
-                'First release.',
-                '1.0'
-            ),
-            array(
-                'since',
-                "1.0\nFirst release.",
-                "1.0\nFirst release.",
-                'First release.',
-                '1.0'
-            ),
-            array(
-                'since',
-                "1.0\nFirst\nrelease.",
-                "1.0\nFirst\nrelease.",
-                "First\nrelease.",
-                '1.0'
-            ),
-            array(
-                'since',
-                'Unfinished release',
-                'Unfinished release',
-                'Unfinished release',
-                ''
-            ),
-            array(
-                'since',
-                '1.0',
-                '1.0',
-                '',
-                '1.0'
-            ),
-            array(
-                'since',
-                'GIT: $Id$',
-                'GIT: $Id$',
-                '',
-                'GIT: $Id$'
-            ),
-            array(
-                'since',
-                'GIT: $Id$ Dev build',
-                'GIT: $Id$ Dev build',
-                'Dev build',
-                'GIT: $Id$'
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SourceTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SourceTagTest.php
deleted file mode 100644
index 2a40e0a..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SourceTagTest.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-/**
- * phpDocumentor Source Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\SourceTag
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class SourceTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\SourceTag can
-     * understand the @source DocBlock.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exContent
-     * @param string $exStartingLine
-     * @param string $exLineCount
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\SourceTag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exContent,
-        $exDescription,
-        $exStartingLine,
-        $exLineCount
-    ) {
-        $tag = new SourceTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($exContent, $tag->getContent());
-        $this->assertEquals($exDescription, $tag->getDescription());
-        $this->assertEquals($exStartingLine, $tag->getStartingLine());
-        $this->assertEquals($exLineCount, $tag->getLineCount());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type, $content, $exContent, $exDescription, $exStartingLine, $exLineCount
-        return array(
-            array(
-                'source',
-                '2',
-                '2',
-                '',
-                2,
-                null
-            ),
-            array(
-                'source',
-                'Testing',
-                'Testing',
-                'Testing',
-                1,
-                null
-            ),
-            array(
-                'source',
-                '2 Testing',
-                '2 Testing',
-                'Testing',
-                2,
-                null
-            ),
-            array(
-                'source',
-                '2 3 Testing comments',
-                '2 3 Testing comments',
-                'Testing comments',
-                2,
-                3
-            ),
-            array(
-                'source',
-                '2 -1 Testing comments',
-                '2 -1 Testing comments',
-                '-1 Testing comments',
-                2,
-                null
-            ),
-            array(
-                'source',
-                '-1 1 Testing comments',
-                '-1 1 Testing comments',
-                '-1 1 Testing comments',
-                1,
-                null
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTagTest.php
deleted file mode 100644
index 3c669d5..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTagTest.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-/**
- * phpDocumentor Throws tag test.
- * 
- * PHP version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\ThrowsTag
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class ThrowsTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\ThrowsTag can
-     * understand the @throws DocBlock.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $extractedType
-     * @param string $extractedTypes
-     * @param string $extractedDescription
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\ThrowsTag
-     * @dataProvider provideDataForConstructor
-     *
-     * @return void
-     */
-    public function testConstructorParsesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $extractedType,
-        $extractedTypes,
-        $extractedDescription
-    ) {
-        $tag = new ThrowsTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($extractedType, $tag->getType());
-        $this->assertEquals($extractedTypes, $tag->getTypes());
-        $this->assertEquals($extractedDescription, $tag->getDescription());
-    }
-
-    /**
-     * Data provider for testConstructorParsesInputsIntoCorrectFields()
-     *
-     * @return array
-     */
-    public function provideDataForConstructor()
-    {
-        return array(
-            array('throws', '', '', array(), ''),
-            array('throws', 'int', 'int', array('int'), ''),
-            array(
-                'throws',
-                'int Number of Bobs',
-                'int',
-                array('int'),
-                'Number of Bobs'
-            ),
-            array(
-                'throws',
-                'int|double Number of Bobs',
-                'int|double',
-                array('int', 'double'),
-                'Number of Bobs'
-            ),
-            array(
-                'throws',
-                "int Number of \n Bobs",
-                'int',
-                array('int'),
-                "Number of \n Bobs"
-            ),
-            array(
-                'throws',
-                " int Number of Bobs",
-                'int',
-                array('int'),
-                "Number of Bobs"
-            ),
-            array(
-                'throws',
-                "int\nNumber of Bobs",
-                'int',
-                array('int'),
-                "Number of Bobs"
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/UsesTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/UsesTagTest.php
deleted file mode 100644
index 45868d7..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/UsesTagTest.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-/**
- * phpDocumentor Uses Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Daniel O'Connor <daniel.oconnor@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\UsesTag
- *
- * @author    Daniel O'Connor <daniel.oconnor@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class UsesTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\UsesTag can create
-     * a link for the @uses doc block.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exContent
-     * @param string $exReference
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\UsesTag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exContent,
-        $exDescription,
-        $exReference
-    ) {
-        $tag = new UsesTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($exContent, $tag->getContent());
-        $this->assertEquals($exDescription, $tag->getDescription());
-        $this->assertEquals($exReference, $tag->getReference());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type, $content, $exContent, $exDescription, $exReference
-        return array(
-            array(
-                'uses',
-                'Foo::bar()',
-                'Foo::bar()',
-                '',
-                'Foo::bar()'
-            ),
-            array(
-                'uses',
-                'Foo::bar() Testing',
-                'Foo::bar() Testing',
-                'Testing',
-                'Foo::bar()',
-            ),
-            array(
-                'uses',
-                'Foo::bar() Testing comments',
-                'Foo::bar() Testing comments',
-                'Testing comments',
-                'Foo::bar()',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VarTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VarTagTest.php
deleted file mode 100644
index 9ae2aa5..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VarTagTest.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-/**
- * phpDocumentor Var Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Daniel O'Connor <daniel.oconnor@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\VarTag
- *
- * @author    Daniel O'Connor <daniel.oconnor@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class VarTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\VarTag can
-     * understand the @var doc block.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exType
-     * @param string $exVariable
-     * @param string $exDescription
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\VarTag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exType,
-        $exVariable,
-        $exDescription
-    ) {
-        $tag = new VarTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($exType, $tag->getType());
-        $this->assertEquals($exVariable, $tag->getVariableName());
-        $this->assertEquals($exDescription, $tag->getDescription());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type, $content, $exType, $exVariable, $exDescription
-        return array(
-            array(
-                'var',
-                'int',
-                'int',
-                '',
-                ''
-            ),
-            array(
-                'var',
-                'int $bob',
-                'int',
-                '$bob',
-                ''
-            ),
-            array(
-                'var',
-                'int $bob Number of bobs',
-                'int',
-                '$bob',
-                'Number of bobs'
-            ),
-            array(
-                'var',
-                '',
-                '',
-                '',
-                ''
-            ),
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VersionTagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VersionTagTest.php
deleted file mode 100644
index e145386..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VersionTagTest.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-/**
- * phpDocumentor Version Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\VersionTag
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class VersionTagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\LinkTag can create
-     * a link for the @version doc block.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exContent
-     * @param string $exDescription
-     * @param string $exVersion
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag\VersionTag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exContent,
-        $exDescription,
-        $exVersion
-    ) {
-        $tag = new VersionTag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($exContent, $tag->getContent());
-        $this->assertEquals($exDescription, $tag->getDescription());
-        $this->assertEquals($exVersion, $tag->getVersion());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type, $content, $exContent, $exDescription, $exVersion
-        return array(
-            array(
-                'version',
-                '1.0 First release.',
-                '1.0 First release.',
-                'First release.',
-                '1.0'
-            ),
-            array(
-                'version',
-                "1.0\nFirst release.",
-                "1.0\nFirst release.",
-                'First release.',
-                '1.0'
-            ),
-            array(
-                'version',
-                "1.0\nFirst\nrelease.",
-                "1.0\nFirst\nrelease.",
-                "First\nrelease.",
-                '1.0'
-            ),
-            array(
-                'version',
-                'Unfinished release',
-                'Unfinished release',
-                'Unfinished release',
-                ''
-            ),
-            array(
-                'version',
-                '1.0',
-                '1.0',
-                '',
-                '1.0'
-            ),
-            array(
-                'version',
-                'GIT: $Id$',
-                'GIT: $Id$',
-                '',
-                'GIT: $Id$'
-            ),
-            array(
-                'version',
-                'GIT: $Id$ Dev build',
-                'GIT: $Id$ Dev build',
-                'Dev build',
-                'GIT: $Id$'
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/TagTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/TagTest.php
deleted file mode 100644
index 9e873ec..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/TagTest.php
+++ /dev/null
@@ -1,313 +0,0 @@
-<?php
-/**
- * phpDocumentor Var Tag Test
- * 
- * PHP version 5.3
- *
- * @author    Daniel O'Connor <daniel.oconnor@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-use phpDocumentor\Reflection\DocBlock;
-use phpDocumentor\Reflection\DocBlock\Context;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Tag\VarTag
- *
- * @author    Daniel O'Connor <daniel.oconnor@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class TagTest extends \PHPUnit_Framework_TestCase
-{
-    
-    /**
-     * @expectedException \InvalidArgumentException
-     * 
-     * @return void
-     */
-    public function testInvalidTagLine()
-    {
-        Tag::createInstance('Invalid tag line');
-    }
-
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
-     * 
-     * @return void
-     */
-    public function testTagHandlerUnregistration()
-    {
-        $currentHandler = __NAMESPACE__ . '\Tag\VarTag';
-        $tagPreUnreg = Tag::createInstance('@var mixed');
-        $this->assertInstanceOf(
-            $currentHandler,
-            $tagPreUnreg
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPreUnreg
-        );
-
-        Tag::registerTagHandler('var', null);
-
-        $tagPostUnreg = Tag::createInstance('@var mixed');
-        $this->assertNotInstanceOf(
-            $currentHandler,
-            $tagPostUnreg
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPostUnreg
-        );
-
-        Tag::registerTagHandler('var', $currentHandler);
-    }
-
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
-     * 
-     * @return void
-     */
-    public function testTagHandlerCorrectRegistration()
-    {
-        if (0 == ini_get('allow_url_include')) {
-            $this->markTestSkipped('"data" URIs for includes are required.');
-        }
-        $currentHandler = __NAMESPACE__ . '\Tag\VarTag';
-        $tagPreReg = Tag::createInstance('@var mixed');
-        $this->assertInstanceOf(
-            $currentHandler,
-            $tagPreReg
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPreReg
-        );
-
-        include 'data:text/plain;base64,'. base64_encode(
-<<<TAG_HANDLER
-<?php
-    class MyTagHandler extends \phpDocumentor\Reflection\DocBlock\Tag {}
-TAG_HANDLER
-        );
-
-        $this->assertTrue(Tag::registerTagHandler('var', '\MyTagHandler'));
-
-        $tagPostReg = Tag::createInstance('@var mixed');
-        $this->assertNotInstanceOf(
-            $currentHandler,
-            $tagPostReg
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPostReg
-        );
-        $this->assertInstanceOf(
-            '\MyTagHandler',
-            $tagPostReg
-        );
-
-        $this->assertTrue(Tag::registerTagHandler('var', $currentHandler));
-    }
-    
-    /**
-     * @depends testTagHandlerCorrectRegistration
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag::createInstance
-     * 
-     * @return void
-     */
-    public function testNamespacedTagHandlerCorrectRegistration()
-    {
-        $tagPreReg = Tag::createInstance('@T something');
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPreReg
-        );
-        $this->assertNotInstanceOf(
-            '\MyTagHandler',
-            $tagPreReg
-        );
-
-        $this->assertTrue(
-            Tag::registerTagHandler('\MyNamespace\MyTag', '\MyTagHandler')
-        );
-
-        $tagPostReg = Tag::createInstance(
-            '@T something',
-            new DocBlock(
-                '',
-                new Context('', array('T' => '\MyNamespace\MyTag'))
-            )
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPostReg
-        );
-        $this->assertInstanceOf(
-            '\MyTagHandler',
-            $tagPostReg
-        );
-
-        $this->assertTrue(
-            Tag::registerTagHandler('\MyNamespace\MyTag', null)
-        );
-    }
-    
-    /**
-     * @depends testTagHandlerCorrectRegistration
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag::createInstance
-     * 
-     * @return void
-     */
-    public function testNamespacedTagHandlerIncorrectRegistration()
-    {
-        $tagPreReg = Tag::createInstance('@T something');
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPreReg
-        );
-        $this->assertNotInstanceOf(
-            '\MyTagHandler',
-            $tagPreReg
-        );
-
-        $this->assertFalse(
-            Tag::registerTagHandler('MyNamespace\MyTag', '\MyTagHandler')
-        );
-
-        $tagPostReg = Tag::createInstance(
-            '@T something',
-            new DocBlock(
-                '',
-                new Context('', array('T' => '\MyNamespace\MyTag'))
-            )
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPostReg
-        );
-        $this->assertNotInstanceOf(
-            '\MyTagHandler',
-            $tagPostReg
-        );
-    }
-
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
-     * 
-     * @return void
-     */
-    public function testNonExistentTagHandlerRegistration()
-    {
-        $currentHandler = __NAMESPACE__ . '\Tag\VarTag';
-        $tagPreReg = Tag::createInstance('@var mixed');
-        $this->assertInstanceOf(
-            $currentHandler,
-            $tagPreReg
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPreReg
-        );
-
-        $this->assertFalse(Tag::registerTagHandler('var', 'Non existent'));
-
-        $tagPostReg = Tag::createInstance('@var mixed');
-        $this->assertInstanceOf(
-            $currentHandler,
-            $tagPostReg
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPostReg
-        );
-    }
-
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
-     * 
-     * @return void
-     */
-    public function testIncompatibleTagHandlerRegistration()
-    {
-        $currentHandler = __NAMESPACE__ . '\Tag\VarTag';
-        $tagPreReg = Tag::createInstance('@var mixed');
-        $this->assertInstanceOf(
-            $currentHandler,
-            $tagPreReg
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPreReg
-        );
-
-        $this->assertFalse(
-            Tag::registerTagHandler('var', __NAMESPACE__ . '\TagTest')
-        );
-
-        $tagPostReg = Tag::createInstance('@var mixed');
-        $this->assertInstanceOf(
-            $currentHandler,
-            $tagPostReg
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\Tag',
-            $tagPostReg
-        );
-    }
-
-    /**
-     * Test that the \phpDocumentor\Reflection\DocBlock\Tag\VarTag can
-     * understand the @var doc block.
-     *
-     * @param string $type
-     * @param string $content
-     * @param string $exDescription
-     *
-     * @covers \phpDocumentor\Reflection\DocBlock\Tag
-     * @dataProvider provideDataForConstuctor
-     *
-     * @return void
-     */
-    public function testConstructorParesInputsIntoCorrectFields(
-        $type,
-        $content,
-        $exDescription
-    ) {
-        $tag = new Tag($type, $content);
-
-        $this->assertEquals($type, $tag->getName());
-        $this->assertEquals($content, $tag->getContent());
-        $this->assertEquals($exDescription, $tag->getDescription());
-    }
-
-    /**
-     * Data provider for testConstructorParesInputsIntoCorrectFields
-     *
-     * @return array
-     */
-    public function provideDataForConstuctor()
-    {
-        // $type, $content, $exDescription
-        return array(
-            array(
-                'unknown',
-                'some content',
-                'some content',
-            ),
-            array(
-                'unknown',
-                '',
-                '',
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Type/CollectionTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Type/CollectionTest.php
deleted file mode 100644
index 78c7306..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Type/CollectionTest.php
+++ /dev/null
@@ -1,195 +0,0 @@
-<?php
-/**
- * phpDocumentor Collection Test
- * 
- * PHP version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Type;
-
-use phpDocumentor\Reflection\DocBlock\Context;
-
-/**
- * Test class for \phpDocumentor\Reflection\DocBlock\Type\Collection
- * 
- * @covers phpDocumentor\Reflection\DocBlock\Type\Collection
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class CollectionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers phpDocumentor\Reflection\DocBlock\Type\Collection::__construct
-     * @covers phpDocumentor\Reflection\DocBlock\Type\Collection::getContext
-     * 
-     * @return void
-     */
-    public function testConstruct()
-    {
-        $collection = new Collection();
-        $this->assertCount(0, $collection);
-        $this->assertEquals('', $collection->getContext()->getNamespace());
-        $this->assertCount(0, $collection->getContext()->getNamespaceAliases());
-    }
-
-    /**
-     * @covers phpDocumentor\Reflection\DocBlock\Type\Collection::__construct
-     * 
-     * @return void
-     */
-    public function testConstructWithTypes()
-    {
-        $collection = new Collection(array('integer', 'string'));
-        $this->assertCount(2, $collection);
-    }
-
-    /**
-     * @covers phpDocumentor\Reflection\DocBlock\Type\Collection::__construct
-     * 
-     * @return void
-     */
-    public function testConstructWithNamespace()
-    {
-        $collection = new Collection(array(), new Context('\My\Space'));
-        $this->assertEquals('My\Space', $collection->getContext()->getNamespace());
-
-        $collection = new Collection(array(), new Context('My\Space'));
-        $this->assertEquals('My\Space', $collection->getContext()->getNamespace());
-
-        $collection = new Collection(array(), null);
-        $this->assertEquals('', $collection->getContext()->getNamespace());
-    }
-
-    /**
-     * @covers phpDocumentor\Reflection\DocBlock\Type\Collection::__construct
-     * 
-     * @return void
-     */
-    public function testConstructWithNamespaceAliases()
-    {
-        $fixture = array('a' => 'b');
-        $collection = new Collection(array(), new Context(null, $fixture));
-        $this->assertEquals(
-            array('a' => '\b'),
-            $collection->getContext()->getNamespaceAliases()
-        );
-    }
-
-    /**
-     * @param string $fixture
-     * @param array  $expected
-     *
-     * @dataProvider provideTypesToExpand
-     * @covers phpDocumentor\Reflection\DocBlock\Type\Collection::add
-     * 
-     * @return void
-     */
-    public function testAdd($fixture, $expected)
-    {
-        $collection = new Collection(
-            array(),
-            new Context('\My\Space', array('Alias' => '\My\Space\Aliasing'))
-        );
-        $collection->add($fixture);
-
-        $this->assertSame($expected, $collection->getArrayCopy());
-    }
-
-    /**
-     * @param string $fixture
-     * @param array  $expected
-     *
-     * @dataProvider provideTypesToExpandWithoutNamespace
-     * @covers phpDocumentor\Reflection\DocBlock\Type\Collection::add
-     * 
-     * @return void
-     */
-    public function testAddWithoutNamespace($fixture, $expected)
-    {
-        $collection = new Collection(
-            array(),
-            new Context(null, array('Alias' => '\My\Space\Aliasing'))
-        );
-        $collection->add($fixture);
-
-        $this->assertSame($expected, $collection->getArrayCopy());
-    }
-
-    /**
-     * @covers phpDocumentor\Reflection\DocBlock\Type\Collection::add
-     * @expectedException InvalidArgumentException
-     * 
-     * @return void
-     */
-    public function testAddWithInvalidArgument()
-    {
-        $collection = new Collection();
-        $collection->add(array());
-    }
-
-    /**
-     * Returns the types and their expected values to test the retrieval of
-     * types.
-     *
-     * @param string $method    Name of the method consuming this data provider.
-     * @param string $namespace Name of the namespace to user as basis.
-     *
-     * @return string[]
-     */
-    public function provideTypesToExpand($method, $namespace = '\My\Space\\')
-    {
-        return array(
-            array('', array()),
-            array(' ', array()),
-            array('int', array('int')),
-            array('int ', array('int')),
-            array('string', array('string')),
-            array('DocBlock', array($namespace.'DocBlock')),
-            array('DocBlock[]', array($namespace.'DocBlock[]')),
-            array(' DocBlock ', array($namespace.'DocBlock')),
-            array('\My\Space\DocBlock', array('\My\Space\DocBlock')),
-            array('Alias\DocBlock', array('\My\Space\Aliasing\DocBlock')),
-            array(
-                'DocBlock|Tag',
-                array($namespace .'DocBlock', $namespace .'Tag')
-            ),
-            array(
-                'DocBlock|null',
-                array($namespace.'DocBlock', 'null')
-            ),
-            array(
-                '\My\Space\DocBlock|Tag',
-                array('\My\Space\DocBlock', $namespace.'Tag')
-            ),
-            array(
-                'DocBlock[]|null',
-                array($namespace.'DocBlock[]', 'null')
-            ),
-            array(
-                'DocBlock[]|int[]',
-                array($namespace.'DocBlock[]', 'int[]')
-            ),
-        );
-    }
-
-    /**
-     * Returns the types and their expected values to test the retrieval of
-     * types when no namespace is available.
-     *
-     * @param string $method Name of the method consuming this data provider.
-     *
-     * @return string[]
-     */
-    public function provideTypesToExpandWithoutNamespace($method)
-    {
-        return $this->provideTypesToExpand($method, '\\');
-    }
-}
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlockTest.php b/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlockTest.php
deleted file mode 100644
index 30eedfc..0000000
--- a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlockTest.php
+++ /dev/null
@@ -1,337 +0,0 @@
-<?php
-/**
- * phpDocumentor DocBlock Test
- *
- * PHP Version 5.3
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-use phpDocumentor\Reflection\DocBlock\Context;
-use phpDocumentor\Reflection\DocBlock\Location;
-use phpDocumentor\Reflection\DocBlock\Tag\ReturnTag;
-
-/**
- * Test class for phpDocumentor\Reflection\DocBlock
- *
- * @author    Mike van Riel <mike.vanriel@naenius.com>
- * @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-class DocBlockTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock
-     * 
-     * @return void
-     */
-    public function testConstruct()
-    {
-        $fixture = <<<DOCBLOCK
-/**
- * This is a short description
- *
- * This is a long description
- *
- * @see \MyClass
- * @return void
- */
-DOCBLOCK;
-        $object = new DocBlock(
-            $fixture,
-            new Context('\MyNamespace', array('PHPDoc' => '\phpDocumentor')),
-            new Location(2)
-        );
-        $this->assertEquals(
-            'This is a short description',
-            $object->getShortDescription()
-        );
-        $this->assertEquals(
-            'This is a long description',
-            $object->getLongDescription()->getContents()
-        );
-        $this->assertCount(2, $object->getTags());
-        $this->assertTrue($object->hasTag('see'));
-        $this->assertTrue($object->hasTag('return'));
-        $this->assertFalse($object->hasTag('category'));
-        
-        $this->assertSame('MyNamespace', $object->getContext()->getNamespace());
-        $this->assertSame(
-            array('PHPDoc' => '\phpDocumentor'),
-            $object->getContext()->getNamespaceAliases()
-        );
-        $this->assertSame(2, $object->getLocation()->getLineNumber());
-    }
-
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock::splitDocBlock
-     *
-     * @return void
-     */
-    public function testConstructWithTagsOnly()
-    {
-        $fixture = <<<DOCBLOCK
-/**
- * @see \MyClass
- * @return void
- */
-DOCBLOCK;
-        $object = new DocBlock($fixture);
-        $this->assertEquals('', $object->getShortDescription());
-        $this->assertEquals('', $object->getLongDescription()->getContents());
-        $this->assertCount(2, $object->getTags());
-        $this->assertTrue($object->hasTag('see'));
-        $this->assertTrue($object->hasTag('return'));
-        $this->assertFalse($object->hasTag('category'));
-    }
-
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock::isTemplateStart
-     */
-    public function testIfStartOfTemplateIsDiscovered()
-    {
-        $fixture = <<<DOCBLOCK
-/**#@+
- * @see \MyClass
- * @return void
- */
-DOCBLOCK;
-        $object = new DocBlock($fixture);
-        $this->assertEquals('', $object->getShortDescription());
-        $this->assertEquals('', $object->getLongDescription()->getContents());
-        $this->assertCount(2, $object->getTags());
-        $this->assertTrue($object->hasTag('see'));
-        $this->assertTrue($object->hasTag('return'));
-        $this->assertFalse($object->hasTag('category'));
-        $this->assertTrue($object->isTemplateStart());
-    }
-
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock::isTemplateEnd
-     */
-    public function testIfEndOfTemplateIsDiscovered()
-    {
-        $fixture = <<<DOCBLOCK
-/**#@-*/
-DOCBLOCK;
-        $object = new DocBlock($fixture);
-        $this->assertEquals('', $object->getShortDescription());
-        $this->assertEquals('', $object->getLongDescription()->getContents());
-        $this->assertTrue($object->isTemplateEnd());
-    }
-
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock::cleanInput
-     * 
-     * @return void
-     */
-    public function testConstructOneLiner()
-    {
-        $fixture = '/** Short description and nothing more. */';
-        $object = new DocBlock($fixture);
-        $this->assertEquals(
-            'Short description and nothing more.',
-            $object->getShortDescription()
-        );
-        $this->assertEquals('', $object->getLongDescription()->getContents());
-        $this->assertCount(0, $object->getTags());
-    }
-
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock::__construct
-     * 
-     * @return void
-     */
-    public function testConstructFromReflector()
-    {
-        $object = new DocBlock(new \ReflectionClass($this));
-        $this->assertEquals(
-            'Test class for phpDocumentor\Reflection\DocBlock',
-            $object->getShortDescription()
-        );
-        $this->assertEquals('', $object->getLongDescription()->getContents());
-        $this->assertCount(4, $object->getTags());
-        $this->assertTrue($object->hasTag('author'));
-        $this->assertTrue($object->hasTag('copyright'));
-        $this->assertTrue($object->hasTag('license'));
-        $this->assertTrue($object->hasTag('link'));
-        $this->assertFalse($object->hasTag('category'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * 
-     * @return void
-     */
-    public function testExceptionOnInvalidObject()
-    {
-        new DocBlock($this);
-    }
-
-    public function testDotSeperation()
-    {
-        $fixture = <<<DOCBLOCK
-/**
- * This is a short description.
- * This is a long description.
- * This is a continuation of the long description.
- */
-DOCBLOCK;
-        $object = new DocBlock($fixture);
-        $this->assertEquals(
-            'This is a short description.',
-            $object->getShortDescription()
-        );
-        $this->assertEquals(
-            "This is a long description.\nThis is a continuation of the long "
-            ."description.",
-            $object->getLongDescription()->getContents()
-        );
-    }
-
-    /**
-     * @covers \phpDocumentor\Reflection\DocBlock::parseTags
-     * @expectedException \LogicException
-     * 
-     * @return void
-     */
-    public function testInvalidTagBlock()
-    {
-        if (0 == ini_get('allow_url_include')) {
-            $this->markTestSkipped('"data" URIs for includes are required.');
-        }
-
-        include 'data:text/plain;base64,'. base64_encode(
-            <<<DOCBLOCK_EXTENSION
-<?php
-class MyReflectionDocBlock extends \phpDocumentor\Reflection\DocBlock {
-    protected function splitDocBlock(\$comment) {
-        return array('', '', 'Invalid tag block');
-    }
-}
-DOCBLOCK_EXTENSION
-        );
-        new \MyReflectionDocBlock('');
-        
-    }
-
-    public function testTagCaseSensitivity()
-    {
-        $fixture = <<<DOCBLOCK
-/**
- * This is a short description.
- *
- * This is a long description.
- *
- * @method null something()
- * @Method({"GET", "POST"})
- */
-DOCBLOCK;
-        $object = new DocBlock($fixture);
-        $this->assertEquals(
-            'This is a short description.',
-            $object->getShortDescription()
-        );
-        $this->assertEquals(
-            'This is a long description.',
-            $object->getLongDescription()->getContents()
-        );
-        $tags = $object->getTags();
-        $this->assertCount(2, $tags);
-        $this->assertTrue($object->hasTag('method'));
-        $this->assertTrue($object->hasTag('Method'));
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\DocBlock\Tag\MethodTag',
-            $tags[0]
-        );
-        $this->assertInstanceOf(
-            __NAMESPACE__ . '\DocBlock\Tag',
-            $tags[1]
-        );
-        $this->assertNotInstanceOf(
-            __NAMESPACE__ . '\DocBlock\Tag\MethodTag',
-            $tags[1]
-        );
-    }
-
-    /**
-     * @depends testConstructFromReflector
-     * @covers \phpDocumentor\Reflection\DocBlock::getTagsByName
-     * 
-     * @return void
-     */
-    public function testGetTagsByNameZeroAndOneMatch()
-    {
-        $object = new DocBlock(new \ReflectionClass($this));
-        $this->assertEmpty($object->getTagsByName('category'));
-        $this->assertCount(1, $object->getTagsByName('author'));
-    }
-
-    /**
-     * @depends testConstructWithTagsOnly
-     * @covers \phpDocumentor\Reflection\DocBlock::parseTags
-     * 
-     * @return void
-     */
-    public function testParseMultilineTag()
-    {
-        $fixture = <<<DOCBLOCK
-/**
- * @return void Content on
- *     multiple lines.
- */
-DOCBLOCK;
-        $object = new DocBlock($fixture);
-        $this->assertCount(1, $object->getTags());
-    }
-
-    /**
-     * @depends testConstructWithTagsOnly
-     * @covers \phpDocumentor\Reflection\DocBlock::parseTags
-     * 
-     * @return void
-     */
-    public function testParseMultilineTagWithLineBreaks()
-    {
-        $fixture = <<<DOCBLOCK
-/**
- * @return void Content on
- *     multiple lines.
- *
- *     One more, after the break.
- */
-DOCBLOCK;
-        $object = new DocBlock($fixture);
-        $this->assertCount(1, $tags = $object->getTags());
-	    /** @var ReturnTag $tag */
-	    $tag = reset($tags);
-	    $this->assertEquals("Content on\n    multiple lines.\n\n    One more, after the break.", $tag->getDescription());
-    }
-
-    /**
-     * @depends testConstructWithTagsOnly
-     * @covers \phpDocumentor\Reflection\DocBlock::getTagsByName
-     * 
-     * @return void
-     */
-    public function testGetTagsByNameMultipleMatch()
-    {
-        $fixture = <<<DOCBLOCK
-/**
- * @param string
- * @param int
- * @return void
- */
-DOCBLOCK;
-        $object = new DocBlock($fixture);
-        $this->assertEmpty($object->getTagsByName('category'));
-        $this->assertCount(1, $object->getTagsByName('return'));
-        $this->assertCount(2, $object->getTagsByName('param'));
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/.gitignore b/core/vendor/phpspec/prophecy/.gitignore
deleted file mode 100644
index 0c39a17..0000000
--- a/core/vendor/phpspec/prophecy/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-*.tgz
-*.phar
-bin
-vendor
-composer.lock
diff --git a/core/vendor/phpspec/prophecy/.travis.yml b/core/vendor/phpspec/prophecy/.travis.yml
deleted file mode 100644
index 4a69309..0000000
--- a/core/vendor/phpspec/prophecy/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: php
-
-php: [5.3, 5.4, 5.5, hhvm, hhvm-nightly]
-
-sudo: false
-
-before_script: travis_retry composer install --no-interaction --prefer-source
-
-script: vendor/bin/phpspec run -fpretty -v
diff --git a/core/vendor/phpspec/prophecy/CHANGES.md b/core/vendor/phpspec/prophecy/CHANGES.md
deleted file mode 100644
index fe761da..0000000
--- a/core/vendor/phpspec/prophecy/CHANGES.md
+++ /dev/null
@@ -1,110 +0,0 @@
-1.4.0 / 2015-03-27
-==================
-
-  * Fixed errors in return type phpdocs (thanks @sobit)
-  * Fixed stringifying of hash containing one value (thanks @avant1)
-  * Improved clarity of method call expectation exception (thanks @dantleech)
-  * Add ability to specify which argument is returned in willReturnArgument (thanks @coderbyheart)
-  * Add more information to MethodNotFound exceptions (thanks @ciaranmcnulty)
-  * Support for mocking classes with methods that return references (thanks @edsonmedina)
-  * Improved object comparison (thanks @whatthejeff)
-  * Adopted '^' in composer dependencies (thanks @GrahamCampbell)
-  * Fixed non-typehinted arguments being treated as optional (thanks @whatthejeff)
-  * Magic methods are now filtered for keywords (thanks @seagoj)
-  * More readable errors for failure when expecting single calls (thanks @dantleech)
-
-1.3.1 / 2014-11-17
-==================
-
-  * Fix the edge case when failed predictions weren't recorded for `getCheckedPredictions()`
-
-1.3.0 / 2014-11-14
-==================
-
-  * Add a way to get checked predictions with `MethodProphecy::getCheckedPredictions()`
-  * Fix HHVM compatibility
-  * Remove dead code (thanks @stof)
-  * Add support for DirectoryIterators (thanks @shanethehat)
-
-1.2.0 / 2014-07-18
-==================
-
-  * Added support for doubling magic methods documented in the class phpdoc (thanks @armetiz)
-  * Fixed a segfault appearing in some cases (thanks @dmoreaulf)
-  * Fixed the doubling of methods with typehints on non-existent classes (thanks @gquemener)
-  * Added support for internal classes using keywords as method names (thanks @milan)
-  * Added IdenticalValueToken and Argument::is (thanks @florianv)
-  * Removed the usage of scalar typehints in HHVM as HHVM 3 does not support them anymore in PHP code (thanks @whatthejeff)
-
-1.1.2 / 2014-01-24
-==================
-
-  * Spy automatically promotes spied method call to an expected one
-
-1.1.1 / 2014-01-15
-==================
-
-  * Added support for HHVM
-
-1.1.0 / 2014-01-01
-==================
-
-  * Changed the generated class names to use a static counter instead of a random number
-  * Added a clss patch for ReflectionClass::newInstance to make its argument optional consistently (thanks @docteurklein)
-  * Fixed mirroring of classes with typehints on non-existent classes (thanks @docteurklein)
-  * Fixed the support of array callables in CallbackPromise and CallbackPrediction (thanks @ciaranmcnulty)
-  * Added support for properties in ObjectStateToken (thanks @adrienbrault)
-  * Added support for mocking classes with a final constructor (thanks @ciaranmcnulty)
-  * Added ArrayEveryEntryToken and Argument::withEveryEntry() (thanks @adrienbrault)
-  * Added an exception when trying to prophesize on a final method instead of ignoring silently (thanks @docteurklein)
-  * Added StringContainToken and Argument::containingString() (thanks @peterjmit)
-  * Added ``shouldNotHaveBeenCalled`` on the MethodProphecy (thanks @ciaranmcnulty)
-  * Fixed the comparison of objects in ExactValuetoken (thanks @sstok)
-  * Deprecated ``shouldNotBeenCalled`` in favor of ``shouldNotHaveBeenCalled``
-
-1.0.4 / 2013-08-10
-==================
-
-  * Better randomness for generated class names (thanks @sstok)
-  * Add support for interfaces into TypeToken and Argument::type() (thanks @sstok)
-  * Add support for old-style (method name === class name) constructors (thanks @l310 for report)
-
-1.0.3 / 2013-07-04
-==================
-
-  * Support callable typehints (thanks @stof)
-  * Do not attempt to autoload arrays when generating code (thanks @MarcoDeBortoli)
-  * New ArrayEntryToken (thanks @kagux)
-
-1.0.2 / 2013-05-19
-==================
-
-  * Logical `AND` token added (thanks @kagux)
-  * Logical `NOT` token added (thanks @kagux)
-  * Add support for setting custom constructor arguments
-  * Properly stringify hashes
-  * Record calls that throw exceptions
-  * Migrate spec suite to PhpSpec 2.0
-
-1.0.1 / 2013-04-30
-==================
-
-  * Fix broken UnexpectedCallException message
-  * Trim AggregateException message
-
-1.0.0 / 2013-04-29
-==================
-
-  * Improve exception messages
-
-1.0.0-BETA2 / 2013-04-03
-========================
-
-  * Add more debug information to CallTimes and Call prediction exception messages
-  * Fix MethodNotFoundException wrong namespace (thanks @gunnarlium)
-  * Fix some typos in the exception messages (thanks @pborreli)
-
-1.0.0-BETA1 / 2013-03-25
-========================
-
-  * Initial release
diff --git a/core/vendor/phpspec/prophecy/CONTRIBUTING.md b/core/vendor/phpspec/prophecy/CONTRIBUTING.md
deleted file mode 100644
index 6ea0589..0000000
--- a/core/vendor/phpspec/prophecy/CONTRIBUTING.md
+++ /dev/null
@@ -1,21 +0,0 @@
-Contributing
-------------
-
-Prophecy is an open source, community-driven project. If you'd like to contribute,
-feel free to do this, but remember to follow this few simple rules:
-
-- Make your feature addition or bug fix,
-- Add either specs or examples for any changes you're making (bugfixes or additions)
-  (please look into `spec/` folder for some examples). This is important so we don't break
-  it in a future version unintentionally,
-- Commit your code, but do not mess with `CHANGES.md`,
-
-Running tests
--------------
-
-Make sure that you don't break anything with your changes by running:
-
-```bash
-$> composer install --dev --prefer-dist
-$> vendor/bin/phpspec
-```
diff --git a/core/vendor/phpspec/prophecy/LICENSE b/core/vendor/phpspec/prophecy/LICENSE
deleted file mode 100644
index c8b3647..0000000
--- a/core/vendor/phpspec/prophecy/LICENSE
+++ /dev/null
@@ -1,23 +0,0 @@
-Copyright (c) 2013 Konstantin Kudryashov <ever.zet@gmail.com>
-                   Marcello Duarte <marcello.duarte@gmail.com>
-
-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/core/vendor/phpspec/prophecy/README.md b/core/vendor/phpspec/prophecy/README.md
deleted file mode 100644
index 639ffd0..0000000
--- a/core/vendor/phpspec/prophecy/README.md
+++ /dev/null
@@ -1,389 +0,0 @@
-# Prophecy
-
-[![Build Status](https://travis-ci.org/phpspec/prophecy.svg?branch=master)](https://travis-ci.org/phpspec/prophecy)
-
-Prophecy is a highly opinionated yet very powerful and flexible PHP object mocking
-framework. Though initially it was created to fulfil phpspec2 needs, it is flexible
-enough to be used inside any testing framework out there with minimal effort.
-
-## A simple example
-
-```php
-<?php
-
-class UserTest extends PHPUnit_Framework_TestCase
-{
-    private $prophet;
-
-    public function testPasswordHashing()
-    {
-        $hasher = $this->prophet->prophesize('App\Security\Hasher');
-        $user   = new App\Entity\User($hasher->reveal());
-
-        $hasher->generateHash($user, 'qwerty')->willReturn('hashed_pass');
-
-        $user->setPassword('qwerty');
-
-        $this->assertEquals('hashed_pass', $user->getPassword());
-    }
-
-    protected function setup()
-    {
-        $this->prophet = new \Prophecy\Prophet;
-    }
-
-    protected function tearDown()
-    {
-        $this->prophet->checkPredictions();
-    }
-}
-```
-
-## Installation
-
-### Prerequisites
-
-Prophecy requires PHP 5.3.3 or greater.
-
-### Setup through composer
-
-First, add Prophecy to the list of dependencies inside your `composer.json`:
-
-```json
-{
-    "require-dev": {
-        "phpspec/prophecy": "~1.0"
-    }
-}
-```
-
-Then simply install it with composer:
-
-```bash
-$> composer install --prefer-dist
-```
-
-You can read more about Composer on its [official webpage](http://getcomposer.org).
-
-## How to use it
-
-First of all, in Prophecy every word has a logical meaning, even the name of the library
-itself (Prophecy). When you start feeling that, you'll become very fluid with this
-tool.
-
-For example, Prophecy has been named that way because it concentrates on describing the future
-behavior of objects with very limited knowledge about them. But as with any other prophecy,
-those object prophecies can't create themselves - there should be a Prophet:
-
-```php
-$prophet = new Prophecy\Prophet;
-```
-
-The Prophet creates prophecies by *prophesizing* them:
-
-```php
-$prophecy = $prophet->prophesize();
-```
-
-The result of the `prophesize()` method call is a new object of class `ObjectProphecy`. Yes,
-that's your specific object prophecy, which describes how your object would behave
-in the near future. But first, you need to specify which object you're talking about,
-right?
-
-```php
-$prophecy->willExtend('stdClass');
-$prophecy->willImplement('SessionHandlerInterface');
-```
-
-There are 2 interesting calls - `willExtend` and `willImplement`. The first one tells
-object prophecy that our object should extend specific class, the second one says that
-it should implement some interface. Obviously, objects in PHP can implement multiple
-interfaces, but extend only one parent class.
-
-### Dummies
-
-Ok, now we have our object prophecy. What can we do with it? First of all, we can get
-our object *dummy* by revealing its prophecy:
-
-```php
-$dummy = $prophecy->reveal();
-```
-
-The `$dummy` variable now holds a special dummy object. Dummy objects are objects that extend
-and/or implement preset classes/interfaces by overriding all their public methods. The key
-point about dummies is that they do not hold any logic - they just do nothing. Any method
-of the dummy will always return `null` and the dummy will never throw any exceptions.
-Dummy is your friend if you don't care about the actual behavior of this double and just need
-a token object to satisfy a method typehint.
-
-You need to understand one thing - a dummy is not a prophecy. Your object prophecy is still
-assigned to `$prophecy` variable and in order to manipulate with your expectations, you
-should work with it. `$dummy` is a dummy - a simple php object that tries to fulfil your
-prophecy.
-
-### Stubs
-
-Ok, now we know how to create basic prophecies and reveal dummies from them. That's
-awesome if we don't care about our _doubles_ (objects that reflect originals)
-interactions. If we do, we need to use *stubs* or *mocks*.
-
-A stub is an object double, which doesn't have any expectations about the object behavior,
-but when put in specific environment, behaves in specific way. Ok, I know, it's cryptic,
-but bear with me for a minute. Simply put, a stub is a dummy, which depending on the called
-method signature does different things (has logic). To create stubs in Prophecy:
-
-```php
-$prophecy->read('123')->willReturn('value');
-```
-
-Oh wow. We've just made an arbitrary call on the object prophecy? Yes, we did. And this
-call returned us a new object instance of class `MethodProphecy`. Yep, that's a specific
-method with arguments prophecy. Method prophecies give you the ability to create method
-promises or predictions. We'll talk about method predictions later in the _Mocks_ section.
-
-#### Promises
-
-Promises are logical blocks, that represent your fictional methods in prophecy terms
-and they are handled by the `MethodProphecy::will(PromiseInterface $promise)` method.
-As a matter of fact, the call that we made earlier (`willReturn('value')`) is a simple
-shortcut to:
-
-```php
-$prophecy->read('123')->will(new Prophecy\Promise\ReturnPromise(array('value')));
-```
-
-This promise will cause any call to our double's `read()` method with exactly one
-argument - `'123'` to always return `'value'`. But that's only for this
-promise, there's plenty others you can use:
-
-- `ReturnPromise` or `->willReturn(1)` - returns a value from a method call
-- `ReturnArgumentPromise` or `->willReturnArgument($index)` - returns the nth method argument from call
-- `ThrowPromise` or `->willThrow` - causes the method to throw specific exception
-- `CallbackPromise` or `->will($callback)` - gives you a quick way to define your own custom logic
-
-Keep in mind, that you can always add even more promises by implementing
-`Prophecy\Promise\PromiseInterface`.
-
-#### Method prophecies idempotency
-
-Prophecy enforces same method prophecies and, as a consequence, same promises and
-predictions for the same method calls with the same arguments. This means:
-
-```php
-$methodProphecy1 = $prophecy->read('123');
-$methodProphecy2 = $prophecy->read('123');
-$methodProphecy3 = $prophecy->read('321');
-
-$methodProphecy1 === $methodProphecy2;
-$methodProphecy1 !== $methodProphecy3;
-```
-
-That's interesting, right? Now you might ask me how would you define more complex
-behaviors where some method call changes behavior of others. In PHPUnit or Mockery
-you do that by predicting how many times your method will be called. In Prophecy,
-you'll use promises for that:
-
-```php
-$user->getName()->willReturn(null);
-
-// For PHP 5.4
-$user->setName('everzet')->will(function () {
-    $this->getName()->willReturn('everzet');
-});
-
-// For PHP 5.3
-$user->setName('everzet')->will(function ($args, $user) {
-    $user->getName()->willReturn('everzet');
-});
-
-// Or
-$user->setName('everzet')->will(function ($args) use ($user) {
-    $user->getName()->willReturn('everzet');
-});
-```
-
-And now it doesn't matter how many times or in which order your methods are called.
-What matters is their behaviors and how well you faked it.
-
-#### Arguments wildcarding
-
-The previous example is awesome (at least I hope it is for you), but that's not
-optimal enough. We hardcoded `'everzet'` in our expectation. Isn't there a better
-way? In fact there is, but it involves understanding what this `'everzet'`
-actually is.
-
-You see, even if method arguments used during method prophecy creation look
-like simple method arguments, in reality they are not. They are argument token
-wildcards.  As a matter of fact, `->setName('everzet')` looks like a simple call just
-because Prophecy automatically transforms it under the hood into:
-
-```php
-$user->setName(new Prophecy\Argument\Token\ExactValueToken('everzet'));
-```
-
-Those argument tokens are simple PHP classes, that implement
-`Prophecy\Argument\Token\TokenInterface` and tell Prophecy how to compare real arguments
-with your expectations. And yes, those classnames are damn big. That's why there's a
-shortcut class `Prophecy\Argument`, which you can use to create tokens like that:
-
-```php
-use Prophecy\Argument;
-
-$user->setName(Argument::exact('everzet'));
-```
-
-`ExactValueToken` is not very useful in our case as it forced us to hardcode the username.
-That's why Prophecy comes bundled with a bunch of other tokens:
-
-- `IdenticalValueToken` or `Argument::is($value)` - checks that the argument is identical to a specific value
-- `ExactValueToken` or `Argument::exact($value)` - checks that the argument matches a specific value
-- `TypeToken` or `Argument::type($typeOrClass)` - checks that the argument matches a specific type or
-  classname
-- `ObjectStateToken` or `Argument::which($method, $value)` - checks that the argument method returns
-  a specific value
-- `CallbackToken` or `Argument::that(callback)` - checks that the argument matches a custom callback
-- `AnyValueToken` or `Argument::any()` - matches any argument
-- `AnyValuesToken` or `Argument::cetera()` - matches any arguments to the rest of the signature
-
-And you can add even more by implementing `TokenInterface` with your own custom classes.
-
-So, let's refactor our initial `{set,get}Name()` logic with argument tokens:
-
-```php
-use Prophecy\Argument;
-
-$user->getName()->willReturn(null);
-
-// For PHP 5.4
-$user->setName(Argument::type('string'))->will(function ($args) {
-    $this->getName()->willReturn($args[0]);
-});
-
-// For PHP 5.3
-$user->setName(Argument::type('string'))->will(function ($args, $user) {
-    $user->getName()->willReturn($args[0]);
-});
-
-// Or
-$user->setName(Argument::type('string'))->will(function ($args) use ($user) {
-    $user->getName()->willReturn($args[0]);
-});
-```
-
-That's it. Now our `{set,get}Name()` prophecy will work with any string argument provided to it.
-We've just described how our stub object should behave, even though the original object could have
-no behavior whatsoever.
-
-One last bit about arguments now. You might ask, what happens in case of:
-
-```php
-use Prophecy\Argument;
-
-$user->getName()->willReturn(null);
-
-// For PHP 5.4
-$user->setName(Argument::type('string'))->will(function ($args) {
-    $this->getName()->willReturn($args[0]);
-});
-
-// For PHP 5.3
-$user->setName(Argument::type('string'))->will(function ($args, $user) {
-    $user->getName()->willReturn($args[0]);
-});
-
-// Or
-$user->setName(Argument::type('string'))->will(function ($args) use ($user) {
-    $user->getName()->willReturn($args[0]);
-});
-
-$user->setName(Argument::any())->will(function () {
-});
-```
-
-Nothing. Your stub will continue behaving the way it did before. That's because of how
-arguments wildcarding works. Every argument token type has a different score level, which
-wildcard then uses to calculate the final arguments match score and use the method prophecy
-promise that has the highest score. In this case, `Argument::type()` in case of success
-scores `5` and `Argument::any()` scores `3`. So the type token wins, as does the first
-`setName()` method prophecy and its promise. The simple rule of thumb - more precise token
-always wins.
-
-#### Getting stub objects
-
-Ok, now we know how to define our prophecy method promises, let's get our stub from
-it:
-
-```php
-$stub = $prophecy->reveal();
-```
-
-As you might see, the only difference between how we get dummies and stubs is that with
-stubs we describe every object conversation instead of just agreeing with `null` returns
-(object being *dummy*). As a matter of fact, after you define your first promise
-(method call), Prophecy will force you to define all the communications - it throws
-the `UnexpectedCallException` for any call you didn't describe with object prophecy before
-calling it on a stub.
-
-### Mocks
-
-Now we know how to define doubles without behavior (dummies) and doubles with behavior, but
-no expectations (stubs). What's left is doubles for which we have some expectations. These
-are called mocks and in Prophecy they look almost exactly the same as stubs, except that
-they define *predictions* instead of *promises* on method prophecies:
-
-```php
-$entityManager->flush()->shouldBeCalled();
-```
-
-#### Predictions
-
-The `shouldBeCalled()` method here assigns `CallPrediction` to our method prophecy.
-Predictions are a delayed behavior check for your prophecies. You see, during the entire lifetime
-of your doubles, Prophecy records every single call you're making against it inside your
-code. After that, Prophecy can use this collected information to check if it matches defined
-predictions. You can assign predictions to method prophecies using the
-`MethodProphecy::should(PredictionInterface $prediction)` method. As a matter of fact,
-the `shouldBeCalled()` method we used earlier is just a shortcut to:
-
-```php
-$entityManager->flush()->should(new Prophecy\Prediction\CallPrediction());
-```
-
-It checks if your method of interest (that matches both the method name and the arguments wildcard)
-was called 1 or more times. If the prediction failed then it throws an exception. When does this
-check happen? Whenever you call `checkPredictions()` on the main Prophet object:
-
-```php
-$prophet->checkPredictions();
-```
-
-In PHPUnit, you would want to put this call into the `tearDown()` method. If no predictions
-are defined, it would do nothing. So it won't harm to call it after every test.
-
-There are plenty more predictions you can play with:
-
-- `CallPrediction` or `shouldBeCalled()` - checks that the method has been called 1 or more times
-- `NoCallsPrediction` or `shouldNotBeCalled()` - checks that the method has not been called
-- `CallTimesPrediction` or `shouldBeCalledTimes($count)` - checks that the method has been called
-  `$count` times
-- `CallbackPrediction` or `should($callback)` - checks the method against your own custom callback
-
-Of course, you can always create your own custom prediction any time by implementing
-`PredictionInterface`.
-
-### Spies
-
-The last bit of awesomeness in Prophecy is out-of-the-box spies support. As I said in the previous
-section, Prophecy records every call made during the double's entire lifetime. This means
-you don't need to record predictions in order to check them. You can also do it
-manually by using the `MethodProphecy::shouldHave(PredictionInterface $prediction)` method:
-
-```php
-$em = $prophet->prophesize('Doctrine\ORM\EntityManager');
-
-$controller->createUser($em->reveal());
-
-$em->flush()->shouldHaveBeenCalled();
-```
-
-Such manipulation with doubles is called spying. And with Prophecy it just works.
diff --git a/core/vendor/phpspec/prophecy/composer.json b/core/vendor/phpspec/prophecy/composer.json
deleted file mode 100644
index 654aaad..0000000
--- a/core/vendor/phpspec/prophecy/composer.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-    "name":         "phpspec/prophecy",
-    "description":  "Highly opinionated mocking framework for PHP 5.3+",
-    "keywords":     ["Mock", "Stub", "Dummy", "Double", "Fake", "Spy"],
-    "homepage":     "https://github.com/phpspec/prophecy",
-    "type":         "library",
-    "license":      "MIT",
-    "authors":      [
-        {
-            "name":      "Konstantin Kudryashov",
-            "email":     "ever.zet@gmail.com",
-            "homepage":  "http://everzet.com"
-        },
-        {
-            "name":      "Marcello Duarte",
-            "email":     "marcello.duarte@gmail.com"
-        }
-    ],
-    "require": {
-        "phpdocumentor/reflection-docblock": "~2.0",
-        "sebastian/comparator":              "~1.1",
-        "doctrine/instantiator":             "^1.0.2"
-    },
-
-    "require-dev": {
-        "phpspec/phpspec": "~2.0"
-    },
-
-    "autoload": {
-        "psr-0": {
-            "Prophecy\\": "src/"
-        }
-    },
-
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.4.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php
deleted file mode 100644
index d96318e..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument\Token\TokenInterface;
-
-class ArgumentsWildcardSpec extends ObjectBehavior
-{
-    /**
-     * @param \stdClass $object
-     */
-    function it_wraps_non_token_arguments_into_ExactValueToken($object)
-    {
-        $this->beConstructedWith(array(42, 'zet', $object));
-
-        $class = get_class($object->getWrappedObject());
-        $hash  = spl_object_hash($object->getWrappedObject());
-
-        $this->__toString()->shouldReturn("exact(42), exact(\"zet\"), exact($class:$hash Object (\n    'objectProphecy' => Prophecy\Prophecy\ObjectProphecy Object (*Prophecy*)\n))");
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $token1
-     * @param \Prophecy\Argument\Token\TokenInterface $token2
-     * @param \Prophecy\Argument\Token\TokenInterface $token3
-     */
-    function it_generates_string_representation_from_all_tokens_imploded($token1, $token2, $token3)
-    {
-        $token1->__toString()->willReturn('token_1');
-        $token2->__toString()->willReturn('token_2');
-        $token3->__toString()->willReturn('token_3');
-
-        $this->beConstructedWith(array($token1, $token2, $token3));
-        $this->__toString()->shouldReturn('token_1, token_2, token_3');
-    }
-
-    function it_exposes_list_of_tokens(TokenInterface $token)
-    {
-        $this->beConstructedWith(array($token));
-
-        $this->getTokens()->shouldReturn(array($token));
-    }
-
-    function it_returns_score_of_1_if_there_are_no_tokens_and_arguments()
-    {
-        $this->beConstructedWith(array());
-
-        $this->scoreArguments(array())->shouldReturn(1);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $token1
-     * @param \Prophecy\Argument\Token\TokenInterface $token2
-     * @param \Prophecy\Argument\Token\TokenInterface $token3
-     */
-    function it_should_return_match_score_based_on_all_tokens_score($token1, $token2, $token3)
-    {
-        $token1->scoreArgument('one')->willReturn(3);
-        $token1->isLast()->willReturn(false);
-        $token2->scoreArgument(2)->willReturn(5);
-        $token2->isLast()->willReturn(false);
-        $token3->scoreArgument($obj = new \stdClass())->willReturn(10);
-        $token3->isLast()->willReturn(false);
-
-        $this->beConstructedWith(array($token1, $token2, $token3));
-        $this->scoreArguments(array('one', 2, $obj))->shouldReturn(18);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $token1
-     * @param \Prophecy\Argument\Token\TokenInterface $token2
-     * @param \Prophecy\Argument\Token\TokenInterface $token3
-     */
-    function it_returns_false_if_there_is_less_arguments_than_tokens($token1, $token2, $token3)
-    {
-        $token1->scoreArgument('one')->willReturn(3);
-        $token1->isLast()->willReturn(false);
-        $token2->scoreArgument(2)->willReturn(5);
-        $token2->isLast()->willReturn(false);
-        $token3->scoreArgument(null)->willReturn(false);
-        $token3->isLast()->willReturn(false);
-
-        $this->beConstructedWith(array($token1, $token2, $token3));
-        $this->scoreArguments(array('one', 2))->shouldReturn(false);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $token1
-     * @param \Prophecy\Argument\Token\TokenInterface $token2
-     * @param \Prophecy\Argument\Token\TokenInterface $token3
-     */
-    function it_returns_false_if_there_is_less_tokens_than_arguments($token1, $token2, $token3)
-    {
-        $token1->scoreArgument('one')->willReturn(3);
-        $token1->isLast()->willReturn(false);
-        $token2->scoreArgument(2)->willReturn(5);
-        $token2->isLast()->willReturn(false);
-        $token3->scoreArgument($obj = new \stdClass())->willReturn(10);
-        $token3->isLast()->willReturn(false);
-
-        $this->beConstructedWith(array($token1, $token2, $token3));
-        $this->scoreArguments(array('one', 2, $obj, 4))->shouldReturn(false);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $token1
-     * @param \Prophecy\Argument\Token\TokenInterface $token2
-     * @param \Prophecy\Argument\Token\TokenInterface $token3
-     */
-    function it_should_return_false_if_one_of_the_tokens_returns_false($token1, $token2, $token3)
-    {
-        $token1->scoreArgument('one')->willReturn(3);
-        $token1->isLast()->willReturn(false);
-        $token2->scoreArgument(2)->willReturn(false);
-        $token2->isLast()->willReturn(false);
-        $token3->scoreArgument($obj = new \stdClass())->willReturn(10);
-        $token3->isLast()->willReturn(false);
-
-        $this->beConstructedWith(array($token1, $token2, $token3));
-        $this->scoreArguments(array('one', 2, $obj))->shouldReturn(false);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $token1
-     * @param \Prophecy\Argument\Token\TokenInterface $token2
-     * @param \Prophecy\Argument\Token\TokenInterface $token3
-     */
-    function it_should_calculate_score_until_last_token($token1, $token2, $token3)
-    {
-        $token1->scoreArgument('one')->willReturn(3);
-        $token1->isLast()->willReturn(false);
-
-        $token2->scoreArgument(2)->willReturn(7);
-        $token2->isLast()->willReturn(true);
-
-        $token3->scoreArgument($obj = new \stdClass())->willReturn(10);
-        $token3->isLast()->willReturn(false);
-
-        $this->beConstructedWith(array($token1, $token2, $token3));
-        $this->scoreArguments(array('one', 2, $obj))->shouldReturn(10);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php
deleted file mode 100644
index a43e923..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-
-class AnyValueTokenSpec extends ObjectBehavior
-{
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_is_not_last()
-    {
-        $this->shouldNotBeLast();
-    }
-
-    function its_string_representation_is_star()
-    {
-        $this->__toString()->shouldReturn('*');
-    }
-
-    function it_scores_any_argument_as_3()
-    {
-        $this->scoreArgument(42)->shouldReturn(3);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php
deleted file mode 100644
index c29076f..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-
-class AnyValuesTokenSpec extends ObjectBehavior
-{
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_is_last()
-    {
-        $this->shouldBeLast();
-    }
-
-    function its_string_representation_is_star_with_followup()
-    {
-        $this->__toString()->shouldReturn('* [, ...]');
-    }
-
-    function it_scores_any_argument_as_2()
-    {
-        $this->scoreArgument(42)->shouldReturn(2);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php
deleted file mode 100644
index 5d040d5..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-
-class ArrayCountTokenSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith(2);
-    }
-
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_is_not_last()
-    {
-        $this->shouldNotBeLast();
-    }
-
-    function it_scores_6_if_argument_array_has_proper_count()
-    {
-        $this->scoreArgument(array(1,2))->shouldReturn(6);
-    }
-
-    /**
-     * @param \Countable $countable
-     */
-    function it_scores_6_if_argument_countable_object_has_proper_count($countable)
-    {
-        $countable->count()->willReturn(2);
-        $this->scoreArgument($countable)->shouldReturn(6);
-    }
-
-    function it_does_not_score_if_argument_is_neither_array_nor_countable_object()
-    {
-        $this->scoreArgument('string')->shouldBe(false);
-        $this->scoreArgument(5)->shouldBe(false);
-        $this->scoreArgument(new \stdClass)->shouldBe(false);
-    }
-
-    function it_does_not_score_if_argument_array_has_wrong_count()
-    {
-        $this->scoreArgument(array(1))->shouldReturn(false);
-    }
-
-    /**
-     * @param \Countable $countable
-     */
-    function it_does_not_score_if_argument_countable_object_has_wrong_count($countable)
-    {
-        $countable->count()->willReturn(3);
-        $this->scoreArgument($countable)->shouldReturn(false);
-    }
-
-    function it_has_simple_string_representation()
-    {
-        $this->__toString()->shouldBe('count(2)');
-    }
-
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php
deleted file mode 100644
index 8ff0f15..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php
+++ /dev/null
@@ -1,229 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-use Prophecy\Exception\InvalidArgumentException;
-
-class ArrayEntryTokenSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $key
-     * @param \Prophecy\Argument\Token\TokenInterface $value
-     */
-    function let($key, $value)
-    {
-        $this->beConstructedWith($key, $value);
-    }
-
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_is_not_last()
-    {
-        $this->shouldNotBeLast();
-    }
-
-    function it_holds_key_and_value($key, $value)
-    {
-        $this->getKey()->shouldBe($key);
-        $this->getValue()->shouldBe($value);
-    }
-
-    function its_string_representation_tells_that_its_an_array_containing_the_key_value_pair($key, $value)
-    {
-        $key->__toString()->willReturn('key');
-        $value->__toString()->willReturn('value');
-        $this->__toString()->shouldBe('[..., key => value, ...]');
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $key
-     * @param \stdClass                               $object
-     */
-    function it_wraps_non_token_value_into_ExactValueToken($key, $object)
-    {
-        $this->beConstructedWith($key, $object);
-        $this->getValue()->shouldHaveType('\Prophecy\Argument\Token\ExactValueToken');
-    }
-
-    /**
-     * @param \stdClass                               $object
-     * @param \Prophecy\Argument\Token\TokenInterface $value
-     */
-    function it_wraps_non_token_key_into_ExactValueToken($object, $value)
-    {
-        $this->beConstructedWith($object, $value);
-        $this->getKey()->shouldHaveType('\Prophecy\Argument\Token\ExactValueToken');
-    }
-
-    function it_scores_array_half_of_combined_scores_from_key_and_value_tokens($key, $value)
-    {
-        $key->scoreArgument('key')->willReturn(4);
-        $value->scoreArgument('value')->willReturn(6);
-        $this->scoreArgument(array('key'=>'value'))->shouldBe(5);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $key
-     * @param \Prophecy\Argument\Token\TokenInterface $value
-     * @param \Iterator                               $object
-     */
-    function it_scores_traversable_object_half_of_combined_scores_from_key_and_value_tokens($key, $value, $object)
-    {
-        $object->current()->will(function () use ($object) {
-            $object->valid()->willReturn(false);
-
-            return 'value';
-        });
-        $object->key()->willReturn('key');
-        $object->rewind()->willReturn(null);
-        $object->next()->willReturn(null);
-        $object->valid()->willReturn(true);
-        $key->scoreArgument('key')->willReturn(6);
-        $value->scoreArgument('value')->willReturn(2);
-        $this->scoreArgument($object)->shouldBe(4);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\AnyValuesToken $key
-     * @param \Prophecy\Argument\Token\TokenInterface $value
-     * @param \ArrayAccess                            $object
-     */
-    function it_throws_exception_during_scoring_of_array_accessible_object_if_key_is_not_ExactValueToken($key, $value, $object)
-    {
-        $key->__toString()->willReturn('any_token');
-        $this->beConstructedWith($key,$value);
-        $errorMessage = 'You can only use exact value tokens to match key of ArrayAccess object'.PHP_EOL.
-                        'But you used `any_token`.';
-        $this->shouldThrow(new InvalidArgumentException($errorMessage))->duringScoreArgument($object);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\ExactValueToken $key
-     * @param \Prophecy\Argument\Token\TokenInterface  $value
-     * @param \ArrayAccess                             $object
-     */
-    function it_scores_array_accessible_object_half_of_combined_scores_from_key_and_value_tokens($key, $value, $object)
-    {
-        $object->offsetExists('key')->willReturn(true);
-        $object->offsetGet('key')->willReturn('value');
-        $key->getValue()->willReturn('key');
-        $key->scoreArgument('key')->willReturn(3);
-        $value->scoreArgument('value')->willReturn(1);
-        $this->scoreArgument($object)->shouldBe(2);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\AnyValuesToken $key
-     * @param \Prophecy\Argument\Token\TokenInterface $value
-     * @param \ArrayIterator                          $object
-     */
-    function it_accepts_any_key_token_type_to_score_object_that_is_both_traversable_and_array_accessible($key, $value, $object)
-    {
-        $this->beConstructedWith($key, $value);
-        $object->current()->will(function () use ($object) {
-            $object->valid()->willReturn(false);
-
-            return 'value';
-        });
-        $object->key()->willReturn('key');
-        $object->rewind()->willReturn(null);
-        $object->next()->willReturn(null);
-        $object->valid()->willReturn(true);
-        $this->shouldNotThrow(new InvalidArgumentException)->duringScoreArgument($object);
-    }
-
-    function it_does_not_score_if_argument_is_neither_array_nor_traversable_nor_array_accessible()
-    {
-        $this->scoreArgument('string')->shouldBe(false);
-        $this->scoreArgument(new \stdClass)->shouldBe(false);
-    }
-
-    function it_does_not_score_empty_array()
-    {
-        $this->scoreArgument(array())->shouldBe(false);
-    }
-
-    function it_does_not_score_array_if_key_and_value_tokens_do_not_score_same_entry($key, $value)
-    {
-        $argument = array(1 => 'foo', 2 => 'bar');
-        $key->scoreArgument(1)->willReturn(true);
-        $key->scoreArgument(2)->willReturn(false);
-        $value->scoreArgument('foo')->willReturn(false);
-        $value->scoreArgument('bar')->willReturn(true);
-        $this->scoreArgument($argument)->shouldBe(false);
-    }
-
-    /**
-     * @param \Iterator $object
-     */
-    function it_does_not_score_traversable_object_without_entries($object)
-    {
-        $object->rewind()->willReturn(null);
-        $object->next()->willReturn(null);
-        $object->valid()->willReturn(false);
-        $this->scoreArgument($object)->shouldBe(false);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $key
-     * @param \Prophecy\Argument\Token\TokenInterface $value
-     * @param \Iterator                               $object
-     */
-    function it_does_not_score_traversable_object_if_key_and_value_tokens_do_not_score_same_entry($key, $value, $object)
-    {
-        $object->current()->willReturn('foo');
-        $object->current()->will(function () use ($object) {
-            $object->valid()->willReturn(false);
-
-            return 'bar';
-        });
-        $object->key()->willReturn(1);
-        $object->key()->willReturn(2);
-        $object->rewind()->willReturn(null);
-        $object->next()->willReturn(null);
-        $object->valid()->willReturn(true);
-        $key->scoreArgument(1)->willReturn(true);
-        $key->scoreArgument(2)->willReturn(false);
-        $value->scoreArgument('foo')->willReturn(false);
-        $value->scoreArgument('bar')->willReturn(true);
-        $this->scoreArgument($object)->shouldBe(false);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\ExactValueToken $key
-     * @param \ArrayAccess                             $object
-     */
-    function it_does_not_score_array_accessible_object_if_it_has_no_offset_with_key_token_value($key, $object)
-    {
-        $object->offsetExists('key')->willReturn(false);
-        $key->getValue()->willReturn('key');
-        $this->scoreArgument($object)->shouldBe(false);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\ExactValueToken $key
-     * @param \Prophecy\Argument\Token\TokenInterface  $value
-     * @param \ArrayAccess                             $object
-     */
-    function it_does_not_score_array_accessible_object_if_key_and_value_tokens_do_not_score_same_entry($key, $value, $object)
-    {
-        $object->offsetExists('key')->willReturn(true);
-        $object->offsetGet('key')->willReturn('value');
-        $key->getValue()->willReturn('key');
-        $value->scoreArgument('value')->willReturn(false);
-        $key->scoreArgument('key')->willReturn(true);
-        $this->scoreArgument($object)->shouldBe(false);
-    }
-
-    function its_score_is_capped_at_8($key, $value)
-    {
-        $key->scoreArgument('key')->willReturn(10);
-        $value->scoreArgument('value')->willReturn(10);
-        $this->scoreArgument(array('key'=>'value'))->shouldBe(8);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php
deleted file mode 100644
index 8662e7d..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class ArrayEveryEntryTokenSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $value
-     */
-    function let($value)
-    {
-        $this->beConstructedWith($value);
-    }
-
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_is_not_last()
-    {
-        $this->shouldNotBeLast();
-    }
-
-    function it_holds_value($value)
-    {
-        $this->getValue()->shouldBe($value);
-    }
-
-    function its_string_representation_tells_that_its_an_array_containing_only_value($value)
-    {
-        $value->__toString()->willReturn('value');
-        $this->__toString()->shouldBe('[value, ..., value]');
-    }
-
-    /**
-     * @param \stdClass $stdClass
-     */
-    function it_wraps_non_token_value_into_ExactValueToken($stdClass)
-    {
-        $this->beConstructedWith($stdClass);
-        $this->getValue()->shouldHaveType('Prophecy\Argument\Token\ExactValueToken');
-    }
-
-    function it_does_not_score_if_argument_is_neither_array_nor_traversable()
-    {
-        $this->scoreArgument('string')->shouldBe(false);
-        $this->scoreArgument(new \stdClass)->shouldBe(false);
-    }
-
-    function it_does_not_score_empty_array()
-    {
-        $this->scoreArgument(array())->shouldBe(false);
-    }
-
-    /**
-     * @param \Iterator $object
-     */
-    function it_does_not_score_traversable_object_without_entries($object)
-    {
-        $object->rewind()->willReturn(null);
-        $object->next()->willReturn(null);
-        $object->valid()->willReturn(false);
-        $this->scoreArgument($object)->shouldBe(false);
-    }
-
-    function it_scores_avg_of_scores_from_value_tokens($value)
-    {
-        $value->scoreArgument('value1')->willReturn(6);
-        $value->scoreArgument('value2')->willReturn(3);
-        $this->scoreArgument(array('value1', 'value2'))->shouldBe(4.5);
-    }
-
-    function it_scores_false_if_entry_scores_false($value)
-    {
-        $value->scoreArgument('value1')->willReturn(6);
-        $value->scoreArgument('value2')->willReturn(false);
-        $this->scoreArgument(array('value1', 'value2'))->shouldBe(false);
-    }
-
-    function it_does_not_score_array_keys($value)
-    {
-        $value->scoreArgument('value')->willReturn(6);
-        $value->scoreArgument('key')->shouldNotBeCalled(0);
-        $this->scoreArgument(array('key' => 'value'))->shouldBe(6);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $value
-     * @param \Iterator                               $object
-     */
-    function it_scores_traversable_object_from_value_token($value, $object)
-    {
-        $object->current()->will(function ($args, $object) {
-            $object->valid()->willReturn(false);
-
-            return 'value';
-        });
-        $object->key()->willReturn('key');
-        $object->rewind()->willReturn(null);
-        $object->next()->willReturn(null);
-        $object->valid()->willReturn(true);
-        $value->scoreArgument('value')->willReturn(2);
-        $this->scoreArgument($object)->shouldBe(2);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php
deleted file mode 100644
index 4395bf0..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-
-class CallbackTokenSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('get_class');
-    }
-
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_is_not_last()
-    {
-        $this->shouldNotBeLast();
-    }
-
-    function it_scores_7_if_argument_matches_callback()
-    {
-        $this->beConstructedWith(function ($argument) { return 2 === $argument; });
-
-        $this->scoreArgument(2)->shouldReturn(7);
-    }
-
-    function it_does_not_scores_if_argument_does_not_match_callback()
-    {
-        $this->beConstructedWith(function ($argument) { return 2 === $argument; });
-
-        $this->scoreArgument(5)->shouldReturn(false);
-    }
-
-    function its_string_representation_should_tell_that_its_callback()
-    {
-        $this->__toString()->shouldReturn('callback()');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php
deleted file mode 100644
index 9e46e02..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-
-class ExactValueTokenSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith(42);
-    }
-
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_is_not_last()
-    {
-        $this->shouldNotBeLast();
-    }
-
-    function it_holds_value()
-    {
-        $this->getValue()->shouldReturn(42);
-    }
-
-    function it_scores_10_if_value_is_equal_to_argument()
-    {
-        $this->scoreArgument(42)->shouldReturn(10);
-        $this->scoreArgument('42')->shouldReturn(10);
-    }
-
-    function it_scores_10_if_value_is_an_object_and_equal_to_argument()
-    {
-        $value = new \DateTime();
-        $value2 = clone $value;
-
-        $this->beConstructedWith($value);
-        $this->scoreArgument($value2)->shouldReturn(10);
-    }
-
-    function it_does_not_scores_if_value_is_not_equal_to_argument()
-    {
-        $this->scoreArgument(50)->shouldReturn(false);
-        $this->scoreArgument(new \stdClass())->shouldReturn(false);
-    }
-
-    function it_does_not_scores_if_value_an_object_and_is_not_equal_to_argument()
-    {
-        $value = new ExactValueTokenFixtureB('ABC');
-        $value2 = new ExactValueTokenFixtureB('CBA');
-
-        $this->beConstructedWith($value);
-        $this->scoreArgument($value2)->shouldReturn(false);
-    }
-
-    function it_does_not_scores_if_value_type_and_is_not_equal_to_argument()
-    {
-        $this->beConstructedWith(false);
-        $this->scoreArgument(0)->shouldReturn(false);
-    }
-
-    function it_generates_proper_string_representation_for_integer()
-    {
-        $this->beConstructedWith(42);
-        $this->__toString()->shouldReturn('exact(42)');
-    }
-
-    function it_generates_proper_string_representation_for_string()
-    {
-        $this->beConstructedWith('some string');
-        $this->__toString()->shouldReturn('exact("some string")');
-    }
-
-    function it_generates_single_line_representation_for_multiline_string()
-    {
-        $this->beConstructedWith("some\nstring");
-        $this->__toString()->shouldReturn('exact("some\\nstring")');
-    }
-
-    function it_generates_proper_string_representation_for_double()
-    {
-        $this->beConstructedWith(42.3);
-        $this->__toString()->shouldReturn('exact(42.3)');
-    }
-
-    function it_generates_proper_string_representation_for_boolean_true()
-    {
-        $this->beConstructedWith(true);
-        $this->__toString()->shouldReturn('exact(true)');
-    }
-
-    function it_generates_proper_string_representation_for_boolean_false()
-    {
-        $this->beConstructedWith(false);
-        $this->__toString()->shouldReturn('exact(false)');
-    }
-
-    function it_generates_proper_string_representation_for_null()
-    {
-        $this->beConstructedWith(null);
-        $this->__toString()->shouldReturn('exact(null)');
-    }
-
-    function it_generates_proper_string_representation_for_empty_array()
-    {
-        $this->beConstructedWith(array());
-        $this->__toString()->shouldReturn('exact([])');
-    }
-
-    function it_generates_proper_string_representation_for_array()
-    {
-        $this->beConstructedWith(array('zet', 42));
-        $this->__toString()->shouldReturn('exact(["zet", 42])');
-    }
-
-    function it_generates_proper_string_representation_for_resource()
-    {
-        $resource = fopen(__FILE__, 'r');
-        $this->beConstructedWith($resource);
-        $this->__toString()->shouldReturn('exact(stream:'.$resource.')');
-    }
-
-    /**
-     * @param \stdClass $object
-     */
-    function it_generates_proper_string_representation_for_object($object)
-    {
-        $objHash = sprintf('%s:%s',
-            get_class($object->getWrappedObject()),
-            spl_object_hash($object->getWrappedObject())
-        );
-
-        $this->beConstructedWith($object);
-        $this->__toString()->shouldReturn("exact($objHash Object (\n    'objectProphecy' => Prophecy\Prophecy\ObjectProphecy Object (*Prophecy*)\n))");
-    }
-}
-
-class ExactValueTokenFixtureA
-{
-    public $errors;
-}
-
-class ExactValueTokenFixtureB extends ExactValueTokenFixtureA
-{
-    public $errors;
-    public $value = null;
-
-    public function __construct($value)
-    {
-        $this->value = $value;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php
deleted file mode 100644
index 00c3a21..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class IdenticalValueTokenSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith(42);
-    }
-
-    function it_is_initializable()
-    {
-        $this->shouldHaveType('Prophecy\Argument\Token\IdenticalValueToken');
-    }
-
-    function it_scores_11_if_string_value_is_identical_to_argument()
-    {
-        $this->beConstructedWith('foo');
-        $this->scoreArgument('foo')->shouldReturn(11);
-    }
-
-    function it_scores_11_if_boolean_value_is_identical_to_argument()
-    {
-        $this->beConstructedWith(false);
-        $this->scoreArgument(false)->shouldReturn(11);
-    }
-
-    function it_scores_11_if_integer_value_is_identical_to_argument()
-    {
-        $this->beConstructedWith(31);
-        $this->scoreArgument(31)->shouldReturn(11);
-    }
-
-    function it_scores_11_if_float_value_is_identical_to_argument()
-    {
-        $this->beConstructedWith(31.12);
-        $this->scoreArgument(31.12)->shouldReturn(11);
-    }
-
-    function it_scores_11_if_array_value_is_identical_to_argument()
-    {
-        $this->beConstructedWith(array('foo' => 'bar'));
-        $this->scoreArgument(array('foo' => 'bar'))->shouldReturn(11);
-    }
-
-    function it_scores_11_if_object_value_is_identical_to_argument()
-    {
-        $object = new \stdClass();
-
-        $this->beConstructedWith($object);
-        $this->scoreArgument($object)->shouldReturn(11);
-    }
-
-    function it_scores_false_if_value_is_not_identical_to_argument()
-    {
-        $this->beConstructedWith(new \stdClass());
-        $this->scoreArgument('foo')->shouldReturn(false);
-    }
-
-    function it_scores_false_if_object_value_is_not_the_same_instance_than_argument()
-    {
-        $this->beConstructedWith(new \stdClass());
-        $this->scoreArgument(new \stdClass())->shouldReturn(false);
-    }
-
-    function it_scores_false_if_integer_value_is_not_identical_to_boolean_argument()
-    {
-        $this->beConstructedWith(1);
-        $this->scoreArgument(true)->shouldReturn(false);
-    }
-
-    function it_is_not_last()
-    {
-        $this->shouldNotBeLast();
-    }
-
-    function it_generates_proper_string_representation_for_integer()
-    {
-        $this->beConstructedWith(42);
-        $this->__toString()->shouldReturn('identical(42)');
-    }
-
-    function it_generates_proper_string_representation_for_string()
-    {
-        $this->beConstructedWith('some string');
-        $this->__toString()->shouldReturn('identical("some string")');
-    }
-
-    function it_generates_single_line_representation_for_multiline_string()
-    {
-        $this->beConstructedWith("some\nstring");
-        $this->__toString()->shouldReturn('identical("some\\nstring")');
-    }
-
-    function it_generates_proper_string_representation_for_double()
-    {
-        $this->beConstructedWith(42.3);
-        $this->__toString()->shouldReturn('identical(42.3)');
-    }
-
-    function it_generates_proper_string_representation_for_boolean_true()
-    {
-        $this->beConstructedWith(true);
-        $this->__toString()->shouldReturn('identical(true)');
-    }
-
-    function it_generates_proper_string_representation_for_boolean_false()
-    {
-        $this->beConstructedWith(false);
-        $this->__toString()->shouldReturn('identical(false)');
-    }
-
-    function it_generates_proper_string_representation_for_null()
-    {
-        $this->beConstructedWith(null);
-        $this->__toString()->shouldReturn('identical(null)');
-    }
-
-    function it_generates_proper_string_representation_for_empty_array()
-    {
-        $this->beConstructedWith(array());
-        $this->__toString()->shouldReturn('identical([])');
-    }
-
-    function it_generates_proper_string_representation_for_array()
-    {
-        $this->beConstructedWith(array('zet', 42));
-        $this->__toString()->shouldReturn('identical(["zet", 42])');
-    }
-
-    function it_generates_proper_string_representation_for_resource()
-    {
-        $resource = fopen(__FILE__, 'r');
-        $this->beConstructedWith($resource);
-        $this->__toString()->shouldReturn('identical(stream:'.$resource.')');
-    }
-
-    function it_generates_proper_string_representation_for_object($object)
-    {
-        $objHash = sprintf('%s:%s',
-            get_class($object->getWrappedObject()),
-            spl_object_hash($object->getWrappedObject())
-        );
-
-        $this->beConstructedWith($object);
-        $this->__toString()->shouldReturn("identical($objHash Object (\n    'objectProphecy' => Prophecy\Prophecy\ObjectProphecy Object (*Prophecy*)\n))");
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php
deleted file mode 100644
index bb5e384..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class LogicalAndTokenSpec extends ObjectBehavior
-{
-    function it_implements_TokenInterface()
-    {
-        $this->beConstructedWith(array());
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_is_not_last()
-    {
-        $this->beConstructedWith(array());
-        $this->shouldNotBeLast();
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $token1
-     * @param \Prophecy\Argument\Token\TokenInterface $token2
-     * @param \Prophecy\Argument\Token\TokenInterface $token3
-     */
-    function it_generates_string_representation_from_all_tokens_imploded($token1, $token2, $token3)
-    {
-        $token1->__toString()->willReturn('token_1');
-        $token2->__toString()->willReturn('token_2');
-        $token3->__toString()->willReturn('token_3');
-
-        $this->beConstructedWith(array($token1, $token2, $token3));
-        $this->__toString()->shouldReturn('bool(token_1 AND token_2 AND token_3)');
-    }
-
-    function it_wraps_non_token_arguments_into_ExactValueToken()
-    {
-        $this->beConstructedWith(array(15, '1985'));
-        $this->__toString()->shouldReturn("bool(exact(15) AND exact(\"1985\"))");
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $token1
-     * @param \Prophecy\Argument\Token\TokenInterface $token2
-     */
-    function it_scores_the_maximum_score_from_all_scores_returned_by_tokens($token1, $token2)
-    {
-        $token1->scoreArgument(1)->willReturn(10);
-        $token2->scoreArgument(1)->willReturn(5);
-        $this->beConstructedWith(array($token1, $token2));
-        $this->scoreArgument(1)->shouldReturn(10);
-    }
-
-    function it_does_not_score_if_there_are_no_arguments_or_tokens()
-    {
-        $this->beConstructedWith(array());
-        $this->scoreArgument('any')->shouldReturn(false);
-    }
-
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $token1
-     * @param \Prophecy\Argument\Token\TokenInterface $token2
-     */
-    function it_does_not_score_if_either_of_tokens_does_not_score($token1, $token2)
-    {
-        $token1->scoreArgument(1)->willReturn(10);
-        $token1->scoreArgument(2)->willReturn(false);
-
-        $token2->scoreArgument(1)->willReturn(false);
-        $token2->scoreArgument(2)->willReturn(10);
-
-        $this->beConstructedWith(array($token1, $token2));
-
-        $this->scoreArgument(1)->shouldReturn(false);
-        $this->scoreArgument(2)->shouldReturn(false);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php
deleted file mode 100644
index 7ce7f3d..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument\Token\TokenInterface;
-
-class LogicalNotTokenSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Argument\Token\TokenInterface $token
-     */
-    function let($token)
-    {
-        $this->beConstructedWith($token);
-    }
-
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_holds_originating_token($token)
-    {
-        $this->getOriginatingToken()->shouldReturn($token);
-    }
-
-    function it_has_simple_string_representation($token)
-    {
-        $token->__toString()->willReturn('value');
-        $this->__toString()->shouldBe('not(value)');
-    }
-
-    function it_wraps_non_token_argument_into_ExactValueToken()
-    {
-        $this->beConstructedWith(5);
-        $token = $this->getOriginatingToken();
-        $token->shouldhaveType('Prophecy\Argument\Token\ExactValueToken');
-        $token->getValue()->shouldBe(5);
-    }
-
-    function it_scores_4_if_preset_token_does_not_match_the_argument($token)
-    {
-        $token->scoreArgument('argument')->willReturn(false);
-        $this->scoreArgument('argument')->shouldBe(4);
-    }
-
-    function it_does_not_score_if_preset_token_matches_argument($token)
-    {
-        $token->scoreArgument('argument')->willReturn(5);
-        $this->scoreArgument('argument')->shouldBe(false);
-    }
-
-    function it_is_last_if_preset_token_is_last($token)
-    {
-        $token->isLast()->willReturn(true);
-        $this->shouldBeLast();
-    }
-
-    function it_is_not_last_if_preset_token_is_not_last($token)
-    {
-        $token->isLast()->willReturn(false);
-        $this->shouldNotBeLast();
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php
deleted file mode 100644
index a783a15..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-
-class ObjectStateTokenSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('getName', 'stdClass');
-    }
-
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_is_not_last()
-    {
-        $this->shouldNotBeLast();
-    }
-
-    /**
-     * @param \ReflectionClass $reflection
-     */
-    function it_scores_8_if_argument_object_has_specific_method_state($reflection)
-    {
-        $reflection->getName()->willReturn('stdClass');
-
-        $this->scoreArgument($reflection)->shouldReturn(8);
-    }
-
-    /**
-     * @param \stdClass $class
-     */
-    function it_scores_8_if_argument_object_has_specific_property_state($class)
-    {
-        $class->getName = 'stdClass';
-
-        $this->scoreArgument($class)->shouldReturn(8);
-    }
-
-    function it_does_not_score_if_argument_method_state_does_not_match()
-    {
-        $value = new ObjectStateTokenFixtureB('ABC');
-        $value2 = new ObjectStateTokenFixtureB('CBA');
-
-        $this->beConstructedWith('getSelf', $value);
-        $this->scoreArgument($value2)->shouldReturn(false);
-    }
-
-    /**
-     * @param \stdClass $class
-     */
-    function it_does_not_score_if_argument_property_state_does_not_match($class)
-    {
-        $class->getName = 'SplFileInfo';
-
-        $this->scoreArgument($class)->shouldReturn(false);
-    }
-
-    /**
-     * @param \spec\Prophecy\Argument\Token\ObjectStateTokenFixtureA $class
-     */
-    function it_does_not_score_if_argument_object_does_not_have_method_or_property($class)
-    {
-        $this->scoreArgument($class)->shouldReturn(false);
-    }
-
-    function it_does_not_score_if_argument_is_not_object()
-    {
-        $this->scoreArgument(42)->shouldReturn(false);
-    }
-
-    function it_has_simple_string_representation()
-    {
-        $this->__toString()->shouldReturn('state(getName(), "stdClass")');
-    }
-}
-
-class ObjectStateTokenFixtureA
-{
-    public $errors;
-}
-
-class ObjectStateTokenFixtureB extends ObjectStateTokenFixtureA
-{
-    public $errors;
-    public $value = null;
-
-    public function __construct($value)
-    {
-        $this->value = $value;
-    }
-
-    public function getSelf()
-    {
-        return $this;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php
deleted file mode 100644
index c7fd265..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class StringContainsTokenSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('a substring');
-    }
-
-    function it_is_initializable()
-    {
-        $this->shouldHaveType('Prophecy\Argument\Token\StringContainsToken');
-    }
-
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_holds_value()
-    {
-        $this->getValue()->shouldReturn('a substring');
-    }
-
-    function it_is_not_last()
-    {
-        $this->shouldNotBeLast();
-    }
-
-    function it_scores_6_if_the_argument_contains_the_value()
-    {
-        $this->scoreArgument('Argument containing a substring')->shouldReturn(6);
-    }
-
-    function it_does_not_score_if_the_argument_does_not_contain_the_value()
-    {
-        $this->scoreArgument('Argument will not match')->shouldReturn(false);
-    }
-
-    function its_string_representation_shows_substring()
-    {
-        $this->__toString()->shouldReturn('contains("a substring")');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php
deleted file mode 100644
index f9a9507..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Argument\Token;
-
-use PhpSpec\ObjectBehavior;
-
-class TypeTokenSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('integer');
-    }
-
-    function it_implements_TokenInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
-    }
-
-    function it_is_not_last()
-    {
-        $this->shouldNotBeLast();
-    }
-
-    function it_scores_5_if_argument_matches_simple_type()
-    {
-        $this->beConstructedWith('integer');
-
-        $this->scoreArgument(42)->shouldReturn(5);
-    }
-
-    function it_does_not_scores_if_argument_does_not_match_simple_type()
-    {
-        $this->beConstructedWith('integer');
-
-        $this->scoreArgument(42.0)->shouldReturn(false);
-    }
-
-    /**
-     * @param \ReflectionObject $object
-     */
-    function it_scores_5_if_argument_is_an_instance_of_specified_class($object)
-    {
-        $this->beConstructedWith('ReflectionClass');
-
-        $this->scoreArgument($object)->shouldReturn(5);
-    }
-
-    function it_has_simple_string_representation()
-    {
-        $this->__toString()->shouldReturn('type(integer)');
-    }
-
-    function it_scores_5_if_argument_is_an_instance_of_specified_interface(\Prophecy\Argument\Token\TokenInterface $interface)
-    {
-        $this->beConstructedWith('Prophecy\Argument\Token\TokenInterface');
-
-        $this->scoreArgument($interface)->shouldReturn(5);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php
deleted file mode 100644
index 990aa80..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-namespace spec\Prophecy;
-
-use PhpSpec\ObjectBehavior;
-
-class ArgumentSpec extends ObjectBehavior
-{
-    function it_has_a_shortcut_for_exact_argument_token()
-    {
-        $token = $this->exact(42);
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ExactValueToken');
-        $token->getValue()->shouldReturn(42);
-    }
-
-    function it_has_a_shortcut_for_any_argument_token()
-    {
-        $token = $this->any();
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\AnyValueToken');
-    }
-
-    function it_has_a_shortcut_for_multiple_arguments_token()
-    {
-        $token = $this->cetera();
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\AnyValuesToken');
-    }
-
-    function it_has_a_shortcut_for_type_token()
-    {
-        $token = $this->type('integer');
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\TypeToken');
-    }
-
-    function it_has_a_shortcut_for_callback_token()
-    {
-        $token = $this->that('get_class');
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\CallbackToken');
-    }
-
-    function it_has_a_shortcut_for_object_state_token()
-    {
-        $token = $this->which('getName', 'everzet');
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ObjectStateToken');
-    }
-
-    function it_has_a_shortcut_for_logical_and_token()
-    {
-        $token = $this->allOf('integer', 5);
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\LogicalAndToken');
-    }
-
-    function it_has_a_shortcut_for_array_count_token()
-    {
-        $token = $this->size(5);
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ArrayCountToken');
-    }
-
-    function it_has_a_shortcut_for_array_entry_token()
-    {
-        $token = $this->withEntry('key', 'value');
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ArrayEntryToken');
-    }
-
-    function it_has_a_shortcut_for_array_every_entry_token()
-    {
-        $token = $this->withEveryEntry('value');
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ArrayEveryEntryToken');
-    }
-
-    function it_has_a_shortcut_for_identical_value_token()
-    {
-        $token = $this->is('value');
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\IdenticalValueToken');
-    }
-
-    function it_has_a_shortcut_for_array_entry_token_matching_any_key()
-    {
-        $token = $this->containing('value');
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ArrayEntryToken');
-        $token->getKey()->shouldHaveType('Prophecy\Argument\Token\AnyValueToken');
-    }
-
-    function it_has_a_shortcut_for_array_entry_token_matching_any_value()
-    {
-        $token = $this->withKey('key');
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ArrayEntryToken');
-        $token->getValue()->shouldHaveType('Prophecy\Argument\Token\AnyValueToken');
-    }
-
-    function it_has_a_shortcut_for_logical_not_token()
-    {
-        $token = $this->not('kagux');
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\LogicalNotToken');
-    }
-
-    function it_has_a_shortcut_for_string_contains_token()
-    {
-        $token = $this->containingString('string');
-        $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\StringContainsToken');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php
deleted file mode 100644
index e9b91c8..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php
+++ /dev/null
@@ -1,188 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Call;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Argument\ArgumentsWildcard;
-
-class CallCenterSpec extends ObjectBehavior
-{
-    function let(ObjectProphecy $objectProphecy)
-    {
-    }
-
-    function it_records_calls_made_through_makeCall_method(ObjectProphecy $objectProphecy, ArgumentsWildcard $wildcard)
-    {
-        $wildcard->scoreArguments(array(5, 2, 3))->willReturn(10);
-        $objectProphecy->getMethodProphecies()->willReturn(array());
-
-        $this->makeCall($objectProphecy, 'setValues', array(5, 2, 3));
-
-        $calls = $this->findCalls('setValues', $wildcard);
-        $calls->shouldHaveCount(1);
-
-        $calls[0]->shouldBeAnInstanceOf('Prophecy\Call\Call');
-        $calls[0]->getMethodName()->shouldReturn('setValues');
-        $calls[0]->getArguments()->shouldReturn(array(5, 2, 3));
-        $calls[0]->getReturnValue()->shouldReturn(null);
-    }
-
-    function it_returns_null_for_any_call_through_makeCall_if_no_method_prophecies_added(
-        $objectProphecy
-    )
-    {
-        $objectProphecy->getMethodProphecies()->willReturn(array());
-
-        $this->makeCall($objectProphecy, 'setValues', array(5, 2, 3))->shouldReturn(null);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy    $method1
-     * @param \Prophecy\Prophecy\MethodProphecy    $method2
-     * @param \Prophecy\Prophecy\MethodProphecy    $method3
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments1
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments2
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments3
-     * @param \Prophecy\Promise\PromiseInterface   $promise
-     */
-    function it_executes_promise_of_method_prophecy_that_matches_signature_passed_to_makeCall(
-        $objectProphecy, $method1, $method2, $method3, $arguments1, $arguments2, $arguments3,
-        $promise
-    )
-    {
-        $method1->getMethodName()->willReturn('getName');
-        $method1->getArgumentsWildcard()->willReturn($arguments1);
-        $arguments1->scoreArguments(array('world', 'everything'))->willReturn(false);
-
-        $method2->getMethodName()->willReturn('setTitle');
-        $method2->getArgumentsWildcard()->willReturn($arguments2);
-        $arguments2->scoreArguments(array('world', 'everything'))->willReturn(false);
-
-        $method3->getMethodName()->willReturn('getName');
-        $method3->getArgumentsWildcard()->willReturn($arguments3);
-        $method3->getPromise()->willReturn($promise);
-        $arguments3->scoreArguments(array('world', 'everything'))->willReturn(200);
-
-        $objectProphecy->getMethodProphecies()->willReturn(array(
-            'method1' => array($method1),
-            'method2' => array($method2, $method3)
-        ));
-        $objectProphecy->getMethodProphecies('getName')->willReturn(array($method1, $method3));
-        $objectProphecy->reveal()->willReturn(new \stdClass());
-
-        $promise->execute(array('world', 'everything'), $objectProphecy->getWrappedObject(), $method3)->willReturn(42);
-
-        $this->makeCall($objectProphecy, 'getName', array('world', 'everything'))->shouldReturn(42);
-
-        $calls = $this->findCalls('getName', $arguments3);
-        $calls->shouldHaveCount(1);
-        $calls[0]->getReturnValue()->shouldReturn(42);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy    $method1
-     * @param \Prophecy\Prophecy\MethodProphecy    $method2
-     * @param \Prophecy\Prophecy\MethodProphecy    $method3
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments1
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments2
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments3
-     * @param \Prophecy\Promise\PromiseInterface   $promise
-     */
-    function it_executes_promise_of_method_prophecy_that_matches_with_highest_score_to_makeCall(
-        $objectProphecy, $method1, $method2, $method3, $arguments1, $arguments2, $arguments3,
-        $promise
-    )
-    {
-        $method1->getMethodName()->willReturn('getName');
-        $method1->getArgumentsWildcard()->willReturn($arguments1);
-        $arguments1->scoreArguments(array('world', 'everything'))->willReturn(50);
-
-        $method2->getMethodName()->willReturn('getName');
-        $method2->getArgumentsWildcard()->willReturn($arguments2);
-        $method2->getPromise()->willReturn($promise);
-        $arguments2->scoreArguments(array('world', 'everything'))->willReturn(300);
-
-        $method3->getMethodName()->willReturn('getName');
-        $method3->getArgumentsWildcard()->willReturn($arguments3);
-        $arguments3->scoreArguments(array('world', 'everything'))->willReturn(200);
-
-        $objectProphecy->getMethodProphecies()->willReturn(array(
-            'method1' => array($method1),
-            'method2' => array($method2, $method3)
-        ));
-        $objectProphecy->getMethodProphecies('getName')->willReturn(array(
-            $method1, $method2, $method3
-        ));
-        $objectProphecy->reveal()->willReturn(new \stdClass());
-
-        $promise->execute(array('world', 'everything'), $objectProphecy->getWrappedObject(), $method2)
-            ->willReturn('second');
-
-        $this->makeCall($objectProphecy, 'getName', array('world', 'everything'))
-            ->shouldReturn('second');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy    $method
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments
-     */
-    function it_throws_exception_if_call_does_not_match_any_of_defined_method_prophecies(
-        $objectProphecy, $method, $arguments
-    )
-    {
-        $method->getMethodName()->willReturn('getName');
-        $method->getArgumentsWildcard()->willReturn($arguments);
-        $arguments->scoreArguments(array('world', 'everything'))->willReturn(false);
-        $arguments->__toString()->willReturn('arg1, arg2');
-
-        $objectProphecy->getMethodProphecies()->willReturn(array('method1' => array($method)));
-        $objectProphecy->getMethodProphecies('getName')->willReturn(array($method));
-
-        $this->shouldThrow('Prophecy\Exception\Call\UnexpectedCallException')
-            ->duringMakeCall($objectProphecy, 'getName', array('world', 'everything'));
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy    $method
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments
-     */
-    function it_returns_null_if_method_prophecy_that_matches_makeCall_arguments_has_no_promise(
-        $objectProphecy, $method, $arguments
-    )
-    {
-        $method->getMethodName()->willReturn('getName');
-        $method->getArgumentsWildcard()->willReturn($arguments);
-        $method->getPromise()->willReturn(null);
-        $arguments->scoreArguments(array('world', 'everything'))->willReturn(100);
-
-        $objectProphecy->getMethodProphecies()->willReturn(array($method));
-        $objectProphecy->getMethodProphecies('getName')->willReturn(array($method));
-
-        $this->makeCall($objectProphecy, 'getName', array('world', 'everything'))
-            ->shouldReturn(null);
-    }
-
-    /**
-     * @param \Prophecy\Argument\ArgumentsWildcard $wildcard
-     */
-    function it_finds_recorded_calls_by_a_method_name_and_arguments_wildcard(
-        $objectProphecy, $wildcard
-    )
-    {
-        $objectProphecy->getMethodProphecies()->willReturn(array());
-
-        $this->makeCall($objectProphecy, 'getName', array('world'));
-        $this->makeCall($objectProphecy, 'getName', array('everything'));
-        $this->makeCall($objectProphecy, 'setName', array(42));
-
-        $wildcard->scoreArguments(array('world'))->willReturn(false);
-        $wildcard->scoreArguments(array('everything'))->willReturn(10);
-
-        $calls = $this->findCalls('getName', $wildcard);
-
-        $calls->shouldHaveCount(1);
-        $calls[0]->getMethodName()->shouldReturn('getName');
-        $calls[0]->getArguments()->shouldReturn(array('everything'));
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php
deleted file mode 100644
index d1a8539..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Call;
-
-use PhpSpec\ObjectBehavior;
-
-class CallSpec extends ObjectBehavior
-{
-    /**
-     * @param \Exception $exception
-     */
-    function let($exception)
-    {
-        $this->beConstructedWith('setValues', array(5, 2), 42, $exception, 'some_file.php', 23);
-    }
-
-    function it_exposes_method_name_through_getter()
-    {
-        $this->getMethodName()->shouldReturn('setValues');
-    }
-
-    function it_exposes_arguments_through_getter()
-    {
-        $this->getArguments()->shouldReturn(array(5, 2));
-    }
-
-    function it_exposes_return_value_through_getter()
-    {
-        $this->getReturnValue()->shouldReturn(42);
-    }
-
-    function it_exposes_exception_through_getter($exception)
-    {
-        $this->getException()->shouldReturn($exception);
-    }
-
-    function it_exposes_file_and_line_through_getter()
-    {
-        $this->getFile()->shouldReturn('some_file.php');
-        $this->getLine()->shouldReturn(23);
-    }
-
-    function it_returns_shortpath_to_callPlace()
-    {
-        $this->getCallPlace()->shouldReturn('some_file.php:23');
-    }
-
-    function it_returns_unknown_as_callPlace_if_no_file_or_line_provided()
-    {
-        $this->beConstructedWith('setValues', array(), 0, null, null, null);
-
-        $this->getCallPlace()->shouldReturn('unknown');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php
deleted file mode 100644
index 2d7d934..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\ClassPatch;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class DisableConstructorPatchSpec extends ObjectBehavior
-{
-    function it_is_a_patch()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface');
-    }
-
-    function its_priority_is_100()
-    {
-        $this->getPriority()->shouldReturn(100);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_supports_anything($node)
-    {
-        $this->supports($node)->shouldReturn(true);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode    $class
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode   $method
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $arg1
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $arg2
-     */
-    function it_makes_all_constructor_arguments_optional($class, $method, $arg1, $arg2)
-    {
-        $class->hasMethod('__construct')->willReturn(true);
-        $class->getMethod('__construct')->willReturn($method);
-        $method->getArguments()->willReturn(array($arg1, $arg2));
-
-        $arg1->setDefault(null)->shouldBeCalled();
-        $arg2->setDefault(null)->shouldBeCalled();
-
-        $method->setCode(Argument::type('string'))->shouldBeCalled();
-
-        $this->apply($class);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $class
-     */
-    function it_creates_new_constructor_if_object_has_none($class)
-    {
-        $class->hasMethod('__construct')->willReturn(false);
-        $class->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))
-            ->shouldBeCalled();
-
-        $this->apply($class);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php
deleted file mode 100644
index 8c348b8..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\ClassPatch;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class HhvmExceptionPatchSpec extends ObjectBehavior
-{
-    function it_is_a_patch()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface');
-    }
-
-    function its_priority_is_minus_50()
-    {
-        $this->getPriority()->shouldReturn(-50);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode  $node
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $getterMethod
-     */
-    function it_uses_parent_code_for_setTraceOptions($node, $method, $getterMethod)
-    {
-        $node->hasMethod('setTraceOptions')->willReturn(true);
-        $node->getMethod('setTraceOptions')->willReturn($method);
-        $node->hasMethod('getTraceOptions')->willReturn(true);
-        $node->getMethod('getTraceOptions')->willReturn($getterMethod);
-
-        $method->useParentCode()->shouldBeCalled();
-        $getterMethod->useParentCode()->shouldBeCalled();
-
-        $this->apply($node);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php
deleted file mode 100644
index 200d961..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\ClassPatch;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-
-class KeywordPatchSpec extends ObjectBehavior
-{
-    function it_is_a_patch()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface');
-    }
-
-    function its_priority_is_49()
-    {
-        $this->getPriority()->shouldReturn(49);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method1
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method2
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method3
-     */
-    function it_will_remove_echo_and_eval_methods($node, $method1, $method2, $method3)
-    {
-        $node->removeMethod('eval')->shouldBeCalled();
-        $node->removeMethod('echo')->shouldBeCalled();
-
-        $method1->getName()->willReturn('echo');
-        $method2->getName()->willReturn('eval');
-        $method3->getName()->willReturn('notKeyword');
-
-        $node->getMethods()->willReturn(array(
-            'echo' => $method1,
-            'eval' => $method2,
-            'notKeyword' => $method3,
-        ));
-
-        $this->apply($node);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php
deleted file mode 100644
index cb1d0f0..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\ClassPatch;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-
-class MagicCallPatchSpec extends ObjectBehavior
-{
-    function it_is_a_patch()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface');
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_supports_anything($node)
-    {
-        $this->supports($node)->shouldReturn(true);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_discovers_api_using_phpdoc($node)
-    {
-        $node->getParentClass()->willReturn('spec\Prophecy\Doubler\ClassPatch\MagicalApi');
-
-        $node->addMethod(new MethodNode('undefinedMethod'))->shouldBeCalled();
-
-        $this->apply($node);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_ignores_existing_methods($node)
-    {
-        $node->getParentClass()->willReturn('spec\Prophecy\Doubler\ClassPatch\MagicalApiExtended');
-
-        $node->addMethod(new MethodNode('undefinedMethod'))->shouldBeCalled();
-        $node->addMethod(new MethodNode('definedMethod'))->shouldNotBeCalled();
-
-        $this->apply($node);
-    }
-
-    function it_has_50_priority()
-    {
-        $this->getPriority()->shouldReturn(50);
-    }
-}
-
-/**
- * @method void undefinedMethod()
- */
-class MagicalApi
-{
-    /**
-     * @return void
-     */
-    public function definedMethod()
-    {
-
-    }
-}
-
-/**
- * @method void undefinedMethod()
- * @method void definedMethod()
- */
-class MagicalApiExtended extends MagicalApi
-{
-
-}
\ No newline at end of file
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php
deleted file mode 100644
index c460814..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\ClassPatch;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class ProphecySubjectPatchSpec extends ObjectBehavior
-{
-    function it_is_a_patch()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface');
-    }
-
-    function it_has_priority_of_0()
-    {
-        $this->getPriority()->shouldReturn(0);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_supports_any_class($node)
-    {
-        $this->supports($node)->shouldReturn(true);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_forces_class_to_implement_ProphecySubjectInterface($node)
-    {
-        $node->addInterface('Prophecy\Prophecy\ProphecySubjectInterface')->shouldBeCalled();
-
-        $node->addProperty('objectProphecy', 'private')->willReturn(null);
-        $node->getMethods()->willReturn(array());
-        $node->hasMethod(Argument::any())->willReturn(false);
-        $node->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))->willReturn(null);
-        $node->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))->willReturn(null);
-
-        $this->apply($node);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode  $node
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $constructor
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method1
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method2
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method3
-     */
-    function it_forces_all_class_methods_except_constructor_to_proxy_calls_into_prophecy_makeCall(
-        $node, $constructor, $method1, $method2, $method3
-    )
-    {
-        $node->addInterface('Prophecy\Prophecy\ProphecySubjectInterface')->willReturn(null);
-        $node->addProperty('objectProphecy', 'private')->willReturn(null);
-        $node->hasMethod(Argument::any())->willReturn(false);
-        $node->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))->willReturn(null);
-        $node->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))->willReturn(null);
-
-        $constructor->getName()->willReturn('__construct');
-        $method1->getName()->willReturn('method1');
-        $method2->getName()->willReturn('method2');
-        $method3->getName()->willReturn('method3');
-
-        $node->getMethods()->willReturn(array(
-            'method1' => $method1,
-            'method2' => $method2,
-            'method3' => $method3,
-        ));
-
-        $constructor->setCode(Argument::any())->shouldNotBeCalled();
-
-        $method1->setCode('return $this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());')
-            ->shouldBeCalled();
-        $method2->setCode('return $this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());')
-            ->shouldBeCalled();
-        $method3->setCode('return $this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());')
-            ->shouldBeCalled();
-
-        $this->apply($node);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php
deleted file mode 100644
index 4116e4d..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\ClassPatch;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class ReflectionClassNewInstancePatchSpec extends ObjectBehavior
-{
-    function it_is_a_patch()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface');
-    }
-
-    function its_priority_is_50()
-    {
-        $this->getPriority()->shouldReturn(50);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $reflectionClassNode
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $anotherClassNode
-     */
-    function it_supports_ReflectionClass_only($reflectionClassNode, $anotherClassNode)
-    {
-        $reflectionClassNode->getParentClass()->willReturn('ReflectionClass');
-        $anotherClassNode->getParentClass()->willReturn('stdClass');
-
-        $this->supports($reflectionClassNode)->shouldReturn(true);
-        $this->supports($anotherClassNode)->shouldReturn(false);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode    $class
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode   $method
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $arg1
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $arg2
-     */
-    function it_makes_all_newInstance_arguments_optional($class, $method, $arg1, $arg2)
-    {
-        $class->getMethod('newInstance')->willReturn($method);
-        $method->getArguments()->willReturn(array($arg1));
-        $arg1->setDefault(null)->shouldBeCalled();
-
-        $this->apply($class);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php
deleted file mode 100644
index 37fe82f..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\ClassPatch;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class SplFileInfoPatchSpec extends ObjectBehavior
-{
-    function it_is_a_patch()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface');
-    }
-
-    function its_priority_is_50()
-    {
-        $this->getPriority()->shouldReturn(50);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_does_not_support_nodes_without_parent_class($node)
-    {
-        $node->getParentClass()->willReturn('stdClass');
-        $this->supports($node)->shouldReturn(false);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_supports_nodes_with_SplFileInfo_as_parent_class($node)
-    {
-        $node->getParentClass()->willReturn('SplFileInfo');
-        $this->supports($node)->shouldReturn(true);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_supports_nodes_with_derivative_of_SplFileInfo_as_parent_class($node)
-    {
-        $node->getParentClass()->willReturn('SplFileInfo');
-        $this->supports($node)->shouldReturn(true);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_adds_a_method_to_node_if_not_exists($node)
-    {
-        $node->hasMethod('__construct')->willReturn(false);
-        $node->addMethod(Argument::any())->shouldBeCalled();
-        $node->getParentClass()->shouldBeCalled();
-
-        $this->apply($node);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode  $node
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method
-     */
-    function it_updates_existing_method_if_found($node, $method)
-    {
-        $node->hasMethod('__construct')->willReturn(true);
-        $node->getMethod('__construct')->willReturn($method);
-        $node->getParentClass()->shouldBeCalled();
-
-        $method->useParentCode()->shouldBeCalled();
-
-        $this->apply($node);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode  $node
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method
-     */
-    function it_should_not_supply_a_file_for_a_directory_iterator($node, $method)
-    {
-        $node->hasMethod('__construct')->willReturn(true);
-        $node->getMethod('__construct')->willReturn($method);
-        $node->getParentClass()->willReturn('DirectoryIterator');
-
-        $method->setCode(Argument::that(function($value) {
-            return strpos($value, '.php') === false;
-        }))->shouldBeCalled();
-
-        $this->apply($node);
-    }
-
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php
deleted file mode 100644
index 2279b72..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\ClassPatch;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class TraversablePatchSpec extends ObjectBehavior
-{
-    function it_is_a_patch()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface');
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_supports_class_that_implements_only_Traversable($node)
-    {
-        $node->getInterfaces()->willReturn(array('Traversable'));
-
-        $this->supports($node)->shouldReturn(true);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_does_not_support_class_that_implements_Iterator($node)
-    {
-        $node->getInterfaces()->willReturn(array('Traversable', 'Iterator'));
-
-        $this->supports($node)->shouldReturn(false);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_does_not_support_class_that_implements_IteratorAggregate($node)
-    {
-        $node->getInterfaces()->willReturn(array('Traversable', 'IteratorAggregate'));
-
-        $this->supports($node)->shouldReturn(false);
-    }
-
-    function it_has_100_priority()
-    {
-        $this->getPriority()->shouldReturn(100);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_forces_node_to_implement_IteratorAggregate($node)
-    {
-        $node->addInterface('Iterator')->shouldBeCalled();
-
-        $node->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))->willReturn(null);
-
-        $this->apply($node);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php
deleted file mode 100644
index a39fa87..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class DoublerSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Doubler\Generator\ClassMirror  $mirror
-     * @param \Prophecy\Doubler\Generator\ClassCreator $creator
-     * @param \Prophecy\Doubler\NameGenerator          $namer
-     */
-    function let($mirror, $creator, $namer)
-    {
-        $this->beConstructedWith($mirror, $creator, $namer);
-    }
-
-    function it_does_not_have_patches_by_default()
-    {
-        $this->getClassPatches()->shouldHaveCount(0);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\ClassPatch\ClassPatchInterface $patch
-     */
-    function its_registerClassPatch_adds_a_patch_to_the_doubler($patch)
-    {
-        $this->registerClassPatch($patch);
-        $this->getClassPatches()->shouldReturn(array($patch));
-    }
-
-    /**
-     * @param \Prophecy\Doubler\ClassPatch\ClassPatchInterface $alt1
-     * @param \Prophecy\Doubler\ClassPatch\ClassPatchInterface $alt2
-     * @param \Prophecy\Doubler\ClassPatch\ClassPatchInterface $alt3
-     * @param \Prophecy\Doubler\ClassPatch\ClassPatchInterface $alt4
-     */
-    function its_getClassPatches_sorts_patches_by_priority($alt1, $alt2, $alt3, $alt4)
-    {
-        $alt1->getPriority()->willReturn(2);
-        $alt2->getPriority()->willReturn(50);
-        $alt3->getPriority()->willReturn(10);
-        $alt4->getPriority()->willReturn(0);
-
-        $this->registerClassPatch($alt1);
-        $this->registerClassPatch($alt2);
-        $this->registerClassPatch($alt3);
-        $this->registerClassPatch($alt4);
-
-        $this->getClassPatches()->shouldReturn(array($alt2, $alt3, $alt1, $alt4));
-    }
-
-    /**
-     * @param \Prophecy\Doubler\ClassPatch\ClassPatchInterface $alt1
-     * @param \Prophecy\Doubler\ClassPatch\ClassPatchInterface $alt2
-     * @param \ReflectionClass                                 $class
-     * @param \ReflectionClass                                 $interface1
-     * @param \ReflectionClass                                 $interface2
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode       $node
-     */
-    function its_double_mirrors_alterates_and_instantiates_provided_class(
-        $mirror, $creator, $namer, $alt1, $alt2, $class, $interface1, $interface2, $node
-    )
-    {
-        $mirror->reflect($class, array($interface1, $interface2))->willReturn($node);
-        $alt1->supports($node)->willReturn(true);
-        $alt2->supports($node)->willReturn(false);
-        $alt1->getPriority()->willReturn(1);
-        $alt2->getPriority()->willReturn(2);
-        $namer->name($class, array($interface1, $interface2))->willReturn('SplStack');
-        $class->getName()->willReturn('stdClass');
-        $interface1->getName()->willReturn('ArrayAccess');
-        $interface2->getName()->willReturn('Iterator');
-
-        $alt1->apply($node)->shouldBeCalled();
-        $alt2->apply($node)->shouldNotBeCalled();
-        $creator->create('SplStack', $node)->shouldBeCalled();
-
-        $this->registerClassPatch($alt1);
-        $this->registerClassPatch($alt2);
-
-        $this->double($class, array($interface1, $interface2))
-            ->shouldReturnAnInstanceOf('SplStack');
-    }
-
-    /**
-     * @param \ReflectionClass                           $class
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_double_instantiates_a_class_with_constructor_argument($mirror, $class, $node, $namer)
-    {
-        $class->getName()->willReturn('ReflectionClass');
-        $mirror->reflect($class, array())->willReturn($node);
-        $namer->name($class, array())->willReturn('ReflectionClass');
-
-        $double = $this->double($class, array(), array('stdClass'));
-        $double->shouldBeAnInstanceOf('ReflectionClass');
-        $double->getName()->shouldReturn('stdClass');
-    }
-
-    /**
-     * @param \ReflectionClass                           $class
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function it_can_instantiate_class_with_final_constructor($mirror, $class, $node, $namer)
-    {
-        $class->getName()->willReturn('spec\Prophecy\Doubler\WithFinalConstructor');
-        $mirror->reflect($class, array())->willReturn($node);
-        $namer->name($class, array())->willReturn('spec\Prophecy\Doubler\WithFinalConstructor');
-
-        $double = $this->double($class, array());
-
-        $double->shouldBeAnInstanceOf('spec\Prophecy\Doubler\WithFinalConstructor');
-    }
-}
-
-class WithFinalConstructor
-{
-    final public function __construct() {}
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php
deleted file mode 100644
index 1dc8cda..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php
+++ /dev/null
@@ -1,186 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\Generator;
-
-use PhpSpec\ObjectBehavior;
-
-class ClassCodeGeneratorSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode    $class
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode   $method1
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode   $method2
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode   $method3
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $argument11
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $argument12
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $argument21
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $argument31
-     */
-    function it_generates_proper_php_code_for_specific_ClassNode(
-        $class, $method1, $method2, $method3, $argument11, $argument12, $argument21, $argument31
-    )
-    {
-        $class->getParentClass()->willReturn('RuntimeException');
-        $class->getInterfaces()->willReturn(array(
-            'Prophecy\Doubler\Generator\MirroredInterface', 'ArrayAccess', 'ArrayIterator'
-        ));
-        $class->getProperties()->willReturn(array('name' => 'public', 'email' => 'private'));
-        $class->getMethods()->willReturn(array($method1, $method2, $method3));
-
-        $method1->getName()->willReturn('getName');
-        $method1->getVisibility()->willReturn('public');
-        $method1->returnsReference()->willReturn(false);
-        $method1->isStatic()->willReturn(true);
-        $method1->getArguments()->willReturn(array($argument11, $argument12));
-        $method1->getCode()->willReturn('return $this->name;');
-
-        $method2->getName()->willReturn('getEmail');
-        $method2->getVisibility()->willReturn('protected');
-        $method2->returnsReference()->willReturn(false);
-        $method2->isStatic()->willReturn(false);
-        $method2->getArguments()->willReturn(array($argument21));
-        $method2->getCode()->willReturn('return $this->email;');
-
-        $method3->getName()->willReturn('getRefValue');
-        $method3->getVisibility()->willReturn('public');
-        $method3->returnsReference()->willReturn(true);
-        $method3->isStatic()->willReturn(false);
-        $method3->getArguments()->willReturn(array($argument31));
-        $method3->getCode()->willReturn('return $this->refValue;');
-
-        $argument11->getName()->willReturn('fullname');
-        $argument11->getTypeHint()->willReturn('array');
-        $argument11->isOptional()->willReturn(true);
-        $argument11->getDefault()->willReturn(null);
-        $argument11->isPassedByReference()->willReturn(false);
-
-        $argument12->getName()->willReturn('class');
-        $argument12->getTypeHint()->willReturn('ReflectionClass');
-        $argument12->isOptional()->willReturn(false);
-        $argument12->isPassedByReference()->willReturn(false);
-
-        $argument21->getName()->willReturn('default');
-        $argument21->getTypeHint()->willReturn(null);
-        $argument21->isOptional()->willReturn(true);
-        $argument21->getDefault()->willReturn('ever.zet@gmail.com');
-        $argument21->isPassedByReference()->willReturn(false);
-
-        $argument31->getName()->willReturn('refValue');
-        $argument31->getTypeHint()->willReturn(null);
-        $argument31->isOptional()->willReturn(false);
-        $argument31->getDefault()->willReturn();
-        $argument31->isPassedByReference()->willReturn(false);
-
-        $code = $this->generate('CustomClass', $class);
-        $expected = <<<'PHP'
-namespace  {
-class CustomClass extends \RuntimeException implements \Prophecy\Doubler\Generator\MirroredInterface, \ArrayAccess, \ArrayIterator {
-public $name;
-private $email;
-
-public static function getName(array $fullname = NULL, \ReflectionClass $class) {
-return $this->name;
-}
-protected  function getEmail( $default = 'ever.zet@gmail.com') {
-return $this->email;
-}
-public  function &getRefValue( $refValue) {
-return $this->refValue;
-}
-
-}
-}
-PHP;
-        $expected = strtr($expected, array("\r\n" => "\n", "\r" => "\n"));
-        $code->shouldBe($expected);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode    $class
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode   $method
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $argument
-     */
-    function it_overrides_properly_methods_with_args_passed_by_reference(
-        $class, $method, $argument
-    )
-    {
-        $class->getParentClass()->willReturn('RuntimeException');
-        $class->getInterfaces()->willReturn(array('Prophecy\Doubler\Generator\MirroredInterface'));
-        $class->getProperties()->willReturn(array());
-        $class->getMethods()->willReturn(array($method));
-
-        $method->getName()->willReturn('getName');
-        $method->getVisibility()->willReturn('public');
-        $method->isStatic()->willReturn(false);
-        $method->getArguments()->willReturn(array($argument));
-        $method->returnsReference()->willReturn(false);
-        $method->getCode()->willReturn('return $this->name;');
-
-        $argument->getName()->willReturn('fullname');
-        $argument->getTypeHint()->willReturn('array');
-        $argument->isOptional()->willReturn(true);
-        $argument->getDefault()->willReturn(null);
-        $argument->isPassedByReference()->willReturn(true);
-
-        $code = $this->generate('CustomClass', $class);
-        $expected =<<<'PHP'
-namespace  {
-class CustomClass extends \RuntimeException implements \Prophecy\Doubler\Generator\MirroredInterface {
-
-public  function getName(array &$fullname = NULL) {
-return $this->name;
-}
-
-}
-}
-PHP;
-        $expected = strtr($expected, array("\r\n" => "\n", "\r" => "\n"));
-        $code->shouldBe($expected);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $class
-     */
-    function it_generates_empty_class_for_empty_ClassNode($class)
-    {
-        $class->getParentClass()->willReturn('stdClass');
-        $class->getInterfaces()->willReturn(array('Prophecy\Doubler\Generator\MirroredInterface'));
-        $class->getProperties()->willReturn(array());
-        $class->getMethods()->willReturn(array());
-
-        $code = $this->generate('CustomClass', $class);
-        $expected =<<<'PHP'
-namespace  {
-class CustomClass extends \stdClass implements \Prophecy\Doubler\Generator\MirroredInterface {
-
-
-}
-}
-PHP;
-        $expected = strtr($expected, array("\r\n" => "\n", "\r" => "\n"));
-        $code->shouldBe($expected);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $class
-     */
-    function it_wraps_class_in_namespace_if_it_is_namespaced($class)
-    {
-        $class->getParentClass()->willReturn('stdClass');
-        $class->getInterfaces()->willReturn(array('Prophecy\Doubler\Generator\MirroredInterface'));
-        $class->getProperties()->willReturn(array());
-        $class->getMethods()->willReturn(array());
-
-        $code = $this->generate('My\Awesome\CustomClass', $class);
-        $expected =<<<'PHP'
-namespace My\Awesome {
-class CustomClass extends \stdClass implements \Prophecy\Doubler\Generator\MirroredInterface {
-
-
-}
-}
-PHP;
-        $expected = strtr($expected, array("\r\n" => "\n", "\r" => "\n"));
-        $code->shouldBe($expected);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php
deleted file mode 100644
index c7b5700..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\Generator;
-
-use PhpSpec\ObjectBehavior;
-
-class ClassCreatorSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Doubler\Generator\ClassCodeGenerator $generator
-     */
-    function let($generator)
-    {
-        $this->beConstructedWith($generator);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $class
-     */
-    function it_evaluates_code_generated_by_ClassCodeGenerator($generator, $class)
-    {
-        $generator->generate('stdClass', $class)->shouldBeCalled()->willReturn(
-            'return 42;'
-        );
-
-        $this->create('stdClass', $class)->shouldReturn(42);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $class
-     */
-    function it_throws_an_exception_if_class_does_not_exist_after_evaluation($generator, $class)
-    {
-        $generator->generate('CustomClass', $class)->shouldBeCalled()->willReturn(
-            'return 42;'
-        );
-
-        $class->getParentClass()->willReturn('stdClass');
-        $class->getInterfaces()->willReturn(array('Interface1', 'Interface2'));
-
-        $this->shouldThrow('Prophecy\Exception\Doubler\ClassCreatorException')
-            ->duringCreate('CustomClass', $class);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassMirrorSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassMirrorSpec.php
deleted file mode 100644
index dd9e9c4..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassMirrorSpec.php
+++ /dev/null
@@ -1,554 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\Generator;
-
-use PhpSpec\ObjectBehavior;
-use I\Simply;
-
-use ReflectionClass;
-use ReflectionMethod;
-use ReflectionParameter;
-
-class ClassMirrorSpec extends ObjectBehavior
-{
-    /**
-     * @param ReflectionClass  $class
-     * @param ReflectionMethod $method1
-     * @param ReflectionMethod $method2
-     * @param ReflectionMethod $method3
-     */
-    function it_reflects_a_class_by_mirroring_all_its_public_methods(
-        $class, $method1, $method2, $method3
-    )
-    {
-        $class->getName()->willReturn('Custom\ClassName');
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(false);
-        $class->getMethods(ReflectionMethod::IS_ABSTRACT)->willReturn(array());
-        $class->getMethods(ReflectionMethod::IS_PUBLIC)->willReturn(array(
-            $method1, $method2, $method3
-        ));
-
-        $method1->getName()->willReturn('getName');
-        $method2->getName()->willReturn('isPublic');
-        $method3->getName()->willReturn('isAbstract');
-
-        $method1->isFinal()->willReturn(false);
-        $method2->isFinal()->willReturn(false);
-        $method3->isFinal()->willReturn(false);
-
-        $method1->isProtected()->willReturn(false);
-        $method2->isProtected()->willReturn(false);
-        $method3->isProtected()->willReturn(false);
-
-        $method1->isStatic()->willReturn(false);
-        $method2->isStatic()->willReturn(false);
-        $method3->isStatic()->willReturn(false);
-
-        $method1->returnsReference()->willReturn(false);
-        $method2->returnsReference()->willReturn(false);
-        $method3->returnsReference()->willReturn(false);
-
-        $method1->getParameters()->willReturn(array());
-        $method2->getParameters()->willReturn(array());
-        $method3->getParameters()->willReturn(array());
-
-        $classNode   = $this->reflect($class, array());
-        $classNode->shouldBeAnInstanceOf('Prophecy\Doubler\Generator\Node\ClassNode');
-        $classNode->getParentClass()->shouldReturn('Custom\ClassName');
-
-        $methodNodes = $classNode->getMethods();
-        $methodNodes->shouldHaveCount(3);
-
-        $classNode->hasMethod('getName')->shouldReturn(true);
-        $classNode->hasMethod('isPublic')->shouldReturn(true);
-        $classNode->hasMethod('isAbstract')->shouldReturn(true);
-    }
-
-    /**
-     * @param ReflectionClass     $class
-     * @param ReflectionMethod    $method
-     * @param ReflectionParameter $parameter
-     */
-    function it_changes_argument_names_if_they_are_varying($class, $method, $parameter)
-    {
-
-        $class->getName()->willReturn('Custom\ClassName');
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(false);
-        $class->getMethods(ReflectionMethod::IS_PUBLIC)->willReturn(array($method));
-        $class->getMethods(ReflectionMethod::IS_ABSTRACT)->willReturn(array());
-
-        $method->getParameters()->willReturn(array($parameter));
-        $method->getName()->willReturn('methodName');
-        $method->isFinal()->willReturn(false);
-        $method->isProtected()->willReturn(false);
-        $method->isStatic()->willReturn(false);
-        $method->returnsReference()->willReturn(false);
-
-        $parameter->getName()->willReturn('...');
-        $parameter->isDefaultValueAvailable()->willReturn(true);
-        $parameter->getDefaultValue()->willReturn(null);
-        $parameter->isPassedByReference()->willReturn(false);
-        $parameter->getClass()->willReturn($class);
-
-        $classNode = $this->reflect($class, array());
-
-        $methodNodes = $classNode->getMethods();
-
-        $argumentNodes = $methodNodes['methodName']->getArguments();
-        $argumentNode = $argumentNodes[0];
-
-        $argumentNode->getName()->shouldReturn('__dot_dot_dot__');
-    }
-
-    /**
-     * @param ReflectionClass  $class
-     * @param ReflectionMethod $method
-     */
-    function it_reflects_protected_abstract_methods($class, $method)
-    {
-        $class->getName()->willReturn('Custom\ClassName');
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(false);
-        $class->getMethods(ReflectionMethod::IS_ABSTRACT)->willReturn(array($method));
-        $class->getMethods(ReflectionMethod::IS_PUBLIC)->willReturn(array());
-
-        $method->isProtected()->willReturn(true);
-        $method->isStatic()->willReturn(false);
-        $method->getParameters()->willReturn(array());
-        $method->getName()->willReturn('innerDetail');
-        $method->returnsReference()->willReturn(false);
-
-
-        $classNode   = $this->reflect($class, array());
-        $classNode->shouldBeAnInstanceOf('Prophecy\Doubler\Generator\Node\ClassNode');
-        $classNode->getParentClass()->shouldReturn('Custom\ClassName');
-
-        $methodNodes = $classNode->getMethods();
-        $methodNodes->shouldHaveCount(1);
-
-        $methodNodes['innerDetail']->getVisibility()->shouldReturn('protected');
-    }
-
-    /**
-     * @param ReflectionClass  $class
-     * @param ReflectionMethod $method
-     */
-    function it_reflects_public_static_methods($class, $method)
-    {
-        $class->getName()->willReturn('Custom\ClassName');
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(false);
-        $class->getMethods(ReflectionMethod::IS_ABSTRACT)->willReturn(array($method));
-        $class->getMethods(ReflectionMethod::IS_PUBLIC)->willReturn(array());
-
-        $method->isProtected()->willReturn(true);
-        $method->isStatic()->willReturn(true);
-        $method->getParameters()->willReturn(array());
-        $method->getName()->willReturn('innerDetail');
-        $method->returnsReference()->willReturn(false);
-
-        $classNode   = $this->reflect($class, array());
-        $classNode->shouldBeAnInstanceOf('Prophecy\Doubler\Generator\Node\ClassNode');
-        $classNode->getParentClass()->shouldReturn('Custom\ClassName');
-
-        $methodNodes = $classNode->getMethods();
-        $methodNodes->shouldHaveCount(1);
-
-        $methodNodes['innerDetail']->getVisibility()->shouldReturn('protected');
-        $methodNodes['innerDetail']->isStatic()->shouldReturn(true);
-    }
-
-    /**
-     * @param ReflectionClass     $class
-     * @param ReflectionMethod    $method
-     * @param ReflectionParameter $param1
-     * @param ReflectionParameter $param2
-     * @param ReflectionClass     $typeHint
-     * @param ReflectionParameter $param3
-     */
-    function it_properly_reads_methods_arguments_with_types(
-        $class, $method, $param1, $param2, $typeHint, $param3
-    )
-    {
-        $class->getName()->willReturn('Custom\ClassName');
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(false);
-        $class->getMethods(ReflectionMethod::IS_ABSTRACT)->willReturn(array());
-        $class->getMethods(ReflectionMethod::IS_PUBLIC)->willReturn(array($method));
-
-        $method->getName()->willReturn('methodWithArgs');
-        $method->isFinal()->willReturn(false);
-        $method->isProtected()->willReturn(true);
-        $method->isStatic()->willReturn(false);
-        $method->returnsReference()->willReturn(false);
-        $method->getParameters()->willReturn(array($param1, $param2, $param3));
-
-        $param1->getName()->willReturn('arg_1');
-        $param1->isArray()->willReturn(true);
-        $param1->getClass()->willReturn(null);
-        $param1->isDefaultValueAvailable()->willReturn(true);
-        $param1->isPassedByReference()->willReturn(false);
-        $param1->allowsNull()->willReturn(false);
-        $param1->getDefaultValue()->willReturn(array());
-
-        $param2->getName()->willReturn('arg2');
-        $param2->isArray()->willReturn(false);
-        $param2->getClass()->willReturn($typeHint);
-        $param2->isDefaultValueAvailable()->willReturn(false);
-        $param2->isOptional()->willReturn(false);
-        $param2->isPassedByReference()->willReturn(false);
-        $param2->allowsNull()->willReturn(false);
-        $typeHint->getName()->willReturn('ArrayAccess');
-
-        $param3->getName()->willReturn('arg_3');
-        $param3->isArray()->willReturn(false);
-        if (version_compare(PHP_VERSION, '5.4', '>=')) {
-            $param3->isCallable()->willReturn(true);
-        }
-        $param3->getClass()->willReturn(null);
-        $param3->isOptional()->willReturn(false);
-        $param3->isDefaultValueAvailable()->willReturn(false);
-        $param3->isPassedByReference()->willReturn(false);
-        $param3->allowsNull()->willReturn(true);
-
-        $classNode   = $this->reflect($class, array());
-        $methodNodes = $classNode->getMethods();
-        $argNodes    = $methodNodes['methodWithArgs']->getArguments();
-
-        $argNodes[0]->getName()->shouldReturn('arg_1');
-        $argNodes[0]->getTypeHint()->shouldReturn('array');
-        $argNodes[0]->isOptional()->shouldReturn(true);
-        $argNodes[0]->getDefault()->shouldReturn(array());
-
-        $argNodes[1]->getName()->shouldReturn('arg2');
-        $argNodes[1]->getTypeHint()->shouldReturn('ArrayAccess');
-        $argNodes[1]->isOptional()->shouldReturn(false);
-
-        $argNodes[2]->getName()->shouldReturn('arg_3');
-        if (version_compare(PHP_VERSION, '5.4', '>=')) {
-            $argNodes[2]->getTypeHint()->shouldReturn('callable');
-            $argNodes[2]->isOptional()->shouldReturn(true);
-            $argNodes[2]->getDefault()->shouldReturn(null);
-        } else {
-            $argNodes[2]->isOptional()->shouldReturn(false);
-        }
-    }
-
-    /**
-     * @param ReflectionClass     $class
-     * @param ReflectionMethod    $method
-     * @param ReflectionParameter $param1
-     */
-    function it_marks_required_args_without_types_as_not_optional(
-        $class, $method, $param1
-    )
-    {
-        $class->getName()->willReturn('Custom\ClassName');
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(false);
-        $class->getMethods(ReflectionMethod::IS_ABSTRACT)->willReturn(array());
-        $class->getMethods(ReflectionMethod::IS_PUBLIC)->willReturn(array($method));
-
-        $method->getName()->willReturn('methodWithArgs');
-        $method->isFinal()->willReturn(false);
-        $method->isProtected()->willReturn(false);
-        $method->isStatic()->willReturn(false);
-        $method->returnsReference()->willReturn(false);
-        $method->getParameters()->willReturn(array($param1));
-
-        $param1->getName()->willReturn('arg_1');
-        $param1->isArray()->willReturn(false);
-        if (version_compare(PHP_VERSION, '5.4', '>=')) {
-            $param1->isCallable()->willReturn(false);
-        }
-        $param1->getClass()->willReturn(null);
-        $param1->isDefaultValueAvailable()->willReturn(false);
-        $param1->isOptional()->willReturn(false);
-        $param1->isPassedByReference()->willReturn(false);
-        $param1->allowsNull()->willReturn(true);
-        if (defined('HHVM_VERSION')) {
-            $param1->getTypehintText()->willReturn(null);
-        }
-
-        $classNode   = $this->reflect($class, array());
-        $methodNodes = $classNode->getMethods();
-        $argNodes    = $methodNodes['methodWithArgs']->getArguments();
-
-        $argNodes[0]->isOptional()->shouldReturn(false);
-    }
-
-    /**
-     * @param ReflectionClass     $class
-     * @param ReflectionMethod    $method
-     * @param ReflectionParameter $param1
-     * @param ReflectionParameter $param2
-     * @param ReflectionClass     $typeHint
-     */
-    function it_marks_passed_by_reference_args_as_passed_by_reference(
-        $class, $method, $param1, $param2, $typeHint
-    )
-    {
-        $class->getName()->willReturn('Custom\ClassName');
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(false);
-        $class->getMethods(ReflectionMethod::IS_ABSTRACT)->willReturn(array());
-        $class->getMethods(ReflectionMethod::IS_PUBLIC)->willReturn(array($method));
-
-        $method->getName()->willReturn('methodWithArgs');
-        $method->isFinal()->willReturn(false);
-        $method->isProtected()->willReturn(false);
-        $method->isStatic()->willReturn(false);
-        $method->returnsReference()->willReturn(false);
-        $method->getParameters()->willReturn(array($param1, $param2));
-
-        $param1->getName()->willReturn('arg_1');
-        $param1->isArray()->willReturn(false);
-        if (version_compare(PHP_VERSION, '5.4', '>=')) {
-            $param1->isCallable()->willReturn(false);
-        }
-        $param1->getClass()->willReturn(null);
-        $param1->isDefaultValueAvailable()->willReturn(false);
-        $param1->isOptional()->willReturn(true);
-        $param1->isPassedByReference()->willReturn(true);
-        $param1->allowsNull()->willReturn(false);
-        if (defined('HHVM_VERSION')) {
-            $param1->getTypehintText()->willReturn(null);
-        }
-
-        $param2->getName()->willReturn('arg2');
-        $param2->isArray()->willReturn(false);
-        $param2->getClass()->willReturn($typeHint);
-        $param2->isDefaultValueAvailable()->willReturn(false);
-        $param2->isOptional()->willReturn(false);
-        $param2->isPassedByReference()->willReturn(false);
-        $param2->allowsNull()->willReturn(false);
-        $typeHint->getName()->willReturn('ArrayAccess');
-
-        $classNode   = $this->reflect($class, array());
-        $methodNodes = $classNode->getMethods();
-        $argNodes    = $methodNodes['methodWithArgs']->getArguments();
-
-        $argNodes[0]->isPassedByReference()->shouldReturn(true);
-        $argNodes[1]->isPassedByReference()->shouldReturn(false);
-    }
-
-    /**
-     * @param ReflectionClass $class
-     */
-    function it_throws_an_exception_if_class_is_final($class)
-    {
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(true);
-        $class->getName()->willReturn('Custom\ClassName');
-
-        $this->shouldThrow('Prophecy\Exception\Doubler\ClassMirrorException')
-             ->duringReflect($class, array());
-    }
-
-    /**
-     * @param ReflectionClass  $class
-     * @param ReflectionMethod $method
-     */
-    function it_ignores_final_methods($class, $method)
-    {
-        $class->getName()->willReturn('Custom\ClassName');
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(false);
-        $class->getMethods(ReflectionMethod::IS_ABSTRACT)->willReturn(array());
-        $class->getMethods(ReflectionMethod::IS_PUBLIC)->willReturn(array($method));
-
-        $method->isFinal()->willReturn(true);
-        $method->getName()->willReturn('finalImplementation');
-
-        $classNode = $this->reflect($class, array());
-        $classNode->getMethods()->shouldHaveCount(0);
-    }
-
-    /**
-     * @param ReflectionClass $interface
-     */
-    function it_throws_an_exception_if_interface_provided_instead_of_class($interface)
-    {
-        $interface->isInterface()->willReturn(true);
-        $interface->getName()->willReturn('Custom\ClassName');
-
-        $this->shouldThrow('Prophecy\Exception\InvalidArgumentException')
-             ->duringReflect($interface, array());
-    }
-
-    /**
-     * @param ReflectionClass  $interface1
-     * @param ReflectionClass  $interface2
-     * @param ReflectionMethod $method1
-     * @param ReflectionMethod $method2
-     * @param ReflectionMethod $method3
-     */
-    function it_reflects_all_interfaces_methods(
-        $interface1, $interface2, $method1, $method2, $method3
-    )
-    {
-        $interface1->getName()->willReturn('MyInterface1');
-        $interface2->getName()->willReturn('MyInterface2');
-
-        $interface1->isInterface()->willReturn(true);
-        $interface2->isInterface()->willReturn(true);
-
-        $interface1->getMethods()->willReturn(array($method1));
-        $interface2->getMethods()->willReturn(array($method2, $method3));
-
-        $method1->getName()->willReturn('getName');
-        $method2->getName()->willReturn('isPublic');
-        $method3->getName()->willReturn('isAbstract');
-
-        $method1->isProtected()->willReturn(false);
-        $method2->isProtected()->willReturn(false);
-        $method3->isProtected()->willReturn(false);
-
-        $method1->returnsReference()->willReturn(false);
-        $method2->returnsReference()->willReturn(false);
-        $method3->returnsReference()->willReturn(false);
-
-        $method1->isStatic()->willReturn(false);
-        $method2->isStatic()->willReturn(false);
-        $method3->isStatic()->willReturn(false);
-
-        $method1->getParameters()->willReturn(array());
-        $method2->getParameters()->willReturn(array());
-        $method3->getParameters()->willReturn(array());
-
-        $classNode = $this->reflect(null, array($interface1, $interface2));
-
-        $classNode->shouldBeAnInstanceOf('Prophecy\Doubler\Generator\Node\ClassNode');
-        $classNode->getParentClass()->shouldReturn('stdClass');
-        $classNode->getInterfaces()->shouldReturn(array(
-            'Prophecy\Doubler\Generator\ReflectionInterface', 'MyInterface2', 'MyInterface1',
-        ));
-
-        $methodNodes = $classNode->getMethods();
-        $methodNodes->shouldHaveCount(3);
-
-        $classNode->hasMethod('getName')->shouldReturn(true);
-        $classNode->hasMethod('isPublic')->shouldReturn(true);
-        $classNode->hasMethod('isAbstract')->shouldReturn(true);
-    }
-
-    /**
-     * @param ReflectionClass  $class
-     * @param ReflectionMethod $method1
-     * @param ReflectionMethod $method2
-     * @param ReflectionMethod $method3
-     */
-    function it_ignores_virtually_private_methods($class, $method1, $method2, $method3)
-    {
-        $class->getName()->willReturn('SomeClass');
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(false);
-        $class->getMethods(ReflectionMethod::IS_ABSTRACT)->willReturn(array());
-        $class->getMethods(ReflectionMethod::IS_PUBLIC)->willReturn(array($method1, $method2, $method3));
-
-        $method1->getName()->willReturn('_getName');
-        $method2->getName()->willReturn('__toString');
-        $method3->getName()->willReturn('isAbstract');
-
-        $method1->isFinal()->willReturn(false);
-        $method2->isFinal()->willReturn(false);
-        $method3->isFinal()->willReturn(false);
-
-        $method1->isProtected()->willReturn(false);
-        $method2->isProtected()->willReturn(false);
-        $method3->isProtected()->willReturn(false);
-
-        $method1->isStatic()->willReturn(false);
-        $method2->isStatic()->willReturn(false);
-        $method3->isStatic()->willReturn(false);
-
-        $method1->returnsReference()->willReturn(false);
-        $method2->returnsReference()->willReturn(false);
-        $method3->returnsReference()->willReturn(false);
-
-        $method1->getParameters()->willReturn(array());
-        $method2->getParameters()->willReturn(array());
-        $method3->getParameters()->willReturn(array());
-
-        $classNode = $this->reflect($class, array());
-        $methodNodes = $classNode->getMethods();
-        $methodNodes->shouldHaveCount(2);
-
-        $classNode->hasMethod('isAbstract')->shouldReturn(true);
-    }
-
-    /**
-     * @param ReflectionClass  $class
-     * @param ReflectionMethod $method
-     */
-    function it_does_not_throw_exception_for_virtually_private_finals($class, $method)
-    {
-        $class->getName()->willReturn('SomeClass');
-        $class->isInterface()->willReturn(false);
-        $class->isFinal()->willReturn(false);
-        $class->getMethods(ReflectionMethod::IS_ABSTRACT)->willReturn(array());
-        $class->getMethods(ReflectionMethod::IS_PUBLIC)->willReturn(array($method));
-
-        $method->getName()->willReturn('__toString');
-        $method->isFinal()->willReturn(true);
-
-        $this->shouldNotThrow()->duringReflect($class, array());
-    }
-
-    /**
-     * @param ReflectionClass $class
-     */
-    function it_throws_an_exception_if_class_provided_in_interfaces_list($class)
-    {
-        $class->getName()->willReturn('MyClass');
-        $class->isInterface()->willReturn(false);
-
-        $this->shouldThrow('InvalidArgumentException')
-             ->duringReflect(null, array($class));
-    }
-
-    function it_throws_an_exception_if_not_reflection_provided_as_interface()
-    {
-        $this->shouldThrow('InvalidArgumentException')
-             ->duringReflect(null, array(null));
-    }
-
-    function it_doesnt_fail_to_typehint_nonexistent_FQCN()
-    {
-        $classNode = $this->reflect(new ReflectionClass('spec\Prophecy\Doubler\Generator\OptionalDepsClass'), array());
-        $method = $classNode->getMethod('iHaveAStrangeTypeHintedArg');
-        $arguments = $method->getArguments();
-        $arguments[0]->getTypeHint()->shouldBe('I\Simply\Am\Nonexistent');
-    }
-
-    function it_doesnt_fail_to_typehint_nonexistent_RQCN()
-    {
-        $classNode = $this->reflect(new ReflectionClass('spec\Prophecy\Doubler\Generator\OptionalDepsClass'), array());
-        $method = $classNode->getMethod('iHaveAnEvenStrangerTypeHintedArg');
-        $arguments = $method->getArguments();
-        $arguments[0]->getTypeHint()->shouldBe('I\Simply\Am\Not');
-    }
-
-    function it_doesnt_use_scalar_typehints()
-    {
-        $classNode = $this->reflect(new ReflectionClass('ReflectionMethod'), array());
-        $method = $classNode->getMethod('export');
-        $arguments = $method->getArguments();
-        $arguments[0]->getTypeHint()->shouldReturn(null);
-        $arguments[1]->getTypeHint()->shouldReturn(null);
-        $arguments[2]->getTypeHint()->shouldReturn(null);
-    }
-}
-
-class OptionalDepsClass
-{
-    public function iHaveAStrangeTypeHintedArg(\I\Simply\Am\Nonexistent $class)
-    {
-    }
-
-    public function iHaveAnEvenStrangerTypeHintedArg(Simply\Am\Not $class)
-    {
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php
deleted file mode 100644
index cea578f..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\Generator\Node;
-
-use PhpSpec\ObjectBehavior;
-
-class ArgumentNodeSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('name');
-    }
-
-    function it_is_not_be_passed_by_reference_by_default()
-    {
-        $this->shouldNotBePassedByReference();
-    }
-
-    function it_is_passed_by_reference_if_marked()
-    {
-        $this->setAsPassedByReference();
-        $this->shouldBePassedByReference();
-    }
-
-    function it_has_name_with_which_it_was_been_constructed()
-    {
-        $this->getName()->shouldReturn('name');
-    }
-
-    function it_has_no_typehint_by_default()
-    {
-        $this->getTypeHint()->shouldReturn(null);
-    }
-
-    function its_typeHint_is_mutable()
-    {
-        $this->setTypeHint('array');
-        $this->getTypeHint()->shouldReturn('array');
-    }
-
-    function it_does_not_have_default_value_by_default()
-    {
-        $this->getDefault()->shouldReturn(null);
-    }
-
-    function it_is_not_optional_by_default()
-    {
-        $this->isOptional()->shouldReturn(false);
-    }
-
-    function its_default_is_mutable()
-    {
-        $this->setDefault(array());
-        $this->getDefault()->shouldReturn(array());
-    }
-
-    function it_is_marked_as_optional_when_default_is_set()
-    {
-        $this->setDefault(null);
-        $this->isOptional()->shouldReturn(true);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php
deleted file mode 100644
index 18f0e1c..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\Generator\Node;
-
-use PhpSpec\ObjectBehavior;
-
-class ClassNodeSpec extends ObjectBehavior
-{
-    function its_parentClass_is_a_stdClass_by_default()
-    {
-        $this->getParentClass()->shouldReturn('stdClass');
-    }
-
-    function its_parentClass_is_mutable()
-    {
-        $this->setParentClass('Exception');
-        $this->getParentClass()->shouldReturn('Exception');
-    }
-
-    function its_parentClass_is_set_to_stdClass_if_user_set_null()
-    {
-        $this->setParentClass(null);
-        $this->getParentClass()->shouldReturn('stdClass');
-    }
-
-    function it_does_not_implement_any_interface_by_default()
-    {
-        $this->getInterfaces()->shouldHaveCount(0);
-    }
-
-    function its_addInterface_adds_item_to_the_list_of_implemented_interfaces()
-    {
-        $this->addInterface('MyInterface');
-        $this->getInterfaces()->shouldHaveCount(1);
-    }
-
-    function its_hasInterface_returns_true_if_class_implements_interface()
-    {
-        $this->addInterface('MyInterface');
-        $this->hasInterface('MyInterface')->shouldReturn(true);
-    }
-
-    function its_hasInterface_returns_false_if_class_does_not_implements_interface()
-    {
-        $this->hasInterface('MyInterface')->shouldReturn(false);
-    }
-
-    function it_supports_implementation_of_multiple_interfaces()
-    {
-        $this->addInterface('MyInterface');
-        $this->addInterface('MySecondInterface');
-        $this->getInterfaces()->shouldHaveCount(2);
-    }
-
-    function it_ignores_same_interfaces_added_twice()
-    {
-        $this->addInterface('MyInterface');
-        $this->addInterface('MyInterface');
-
-        $this->getInterfaces()->shouldHaveCount(1);
-        $this->getInterfaces()->shouldReturn(array('MyInterface'));
-    }
-
-    function it_does_not_have_methods_by_default()
-    {
-        $this->getMethods()->shouldHaveCount(0);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method1
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method2
-     */
-    function it_can_has_methods($method1, $method2)
-    {
-        $method1->getName()->willReturn('__construct');
-        $method2->getName()->willReturn('getName');
-
-        $this->addMethod($method1);
-        $this->addMethod($method2);
-
-        $this->getMethods()->shouldReturn(array(
-            '__construct' => $method1,
-            'getName'     => $method2
-        ));
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method
-     */
-    function its_hasMethod_returns_true_if_method_exists($method)
-    {
-        $method->getName()->willReturn('getName');
-
-        $this->addMethod($method);
-
-        $this->hasMethod('getName')->shouldReturn(true);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method
-     */
-    function its_getMethod_returns_method_by_name($method)
-    {
-        $method->getName()->willReturn('getName');
-
-        $this->addMethod($method);
-
-        $this->getMethod('getName')->shouldReturn($method);
-    }
-
-    function its_hasMethod_returns_false_if_method_does_not_exists()
-    {
-        $this->hasMethod('getName')->shouldReturn(false);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\MethodNode $method
-     */
-    function its_hasMethod_returns_false_if_method_has_been_removed($method)
-    {
-        $method->getName()->willReturn('getName');
-        $this->addMethod($method);
-        $this->removeMethod('getName');
-
-        $this->hasMethod('getName')->shouldReturn(false);
-    }
-
-
-    function it_does_not_have_properties_by_default()
-    {
-        $this->getProperties()->shouldHaveCount(0);
-    }
-
-    function it_is_able_to_have_properties()
-    {
-        $this->addProperty('title');
-        $this->addProperty('text', 'private');
-        $this->getProperties()->shouldReturn(array(
-            'title' => 'public',
-            'text'  => 'private'
-        ));
-    }
-
-    function its_addProperty_does_not_accept_unsupported_visibility()
-    {
-        $this->shouldThrow('InvalidArgumentException')->duringAddProperty('title', 'town');
-    }
-
-    function its_addProperty_lowercases_visibility_before_setting()
-    {
-        $this->addProperty('text', 'PRIVATE');
-        $this->getProperties()->shouldReturn(array('text' => 'private'));
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php
deleted file mode 100644
index 7582706..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler\Generator\Node;
-
-use PhpSpec\ObjectBehavior;
-
-class MethodNodeSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('getTitle');
-    }
-
-    function it_has_a_name()
-    {
-        $this->getName()->shouldReturn('getTitle');
-    }
-
-    function it_has_public_visibility_by_default()
-    {
-        $this->getVisibility()->shouldReturn('public');
-    }
-
-    function its_visibility_is_mutable()
-    {
-        $this->setVisibility('private');
-        $this->getVisibility()->shouldReturn('private');
-    }
-
-    function it_is_not_static_by_default()
-    {
-        $this->shouldNotBeStatic();
-    }
-
-    function it_does_not_return_a_reference_by_default()
-    {
-        $this->returnsReference()->shouldReturn(false);
-    }
-
-    function it_should_be_settable_as_returning_a_reference_through_setter()
-    {
-        $this->setReturnsReference();
-        $this->returnsReference()->shouldReturn(true);
-    } 
-
-    function it_should_be_settable_as_static_through_setter()
-    {
-        $this->setStatic();
-        $this->shouldBeStatic();
-    }
-
-    function it_accepts_only_supported_visibilities()
-    {
-        $this->shouldThrow('InvalidArgumentException')->duringSetVisibility('stealth');
-    }
-
-    function it_lowercases_visibility_before_setting_it()
-    {
-        $this->setVisibility('Public');
-        $this->getVisibility()->shouldReturn('public');
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $argument1
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $argument2
-     */
-    function its_useParentCode_causes_method_to_call_parent($argument1, $argument2)
-    {
-        $argument1->getName()->willReturn('objectName');
-        $argument2->getName()->willReturn('default');
-
-        $this->addArgument($argument1);
-        $this->addArgument($argument2);
-
-        $this->useParentCode();
-
-        $this->getCode()->shouldReturn(
-            'return parent::getTitle($objectName, $default);'
-        );
-    }
-
-    function its_code_is_mutable()
-    {
-        $this->setCode('echo "code";');
-        $this->getCode()->shouldReturn('echo "code";');
-    }
-
-    function its_reference_returning_methods_will_generate_exceptions()
-    {
-        $this->setCode('echo "code";');
-        $this->setReturnsReference();
-        $this->getCode()->shouldReturn("throw new \Prophecy\Exception\Doubler\ReturnByReferenceException('Returning by reference not supported', get_class(\$this), 'getTitle');");
-    }
-
-    function its_setCode_provided_with_null_cleans_method_body()
-    {
-        $this->setCode(null);
-        $this->getCode()->shouldReturn('');
-    }
-
-    function it_is_constructable_with_code()
-    {
-        $this->beConstructedWith('getTitle', 'die();');
-        $this->getCode()->shouldReturn('die();');
-    }
-
-    function it_does_not_have_arguments_by_default()
-    {
-        $this->getArguments()->shouldHaveCount(0);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $argument1
-     * @param \Prophecy\Doubler\Generator\Node\ArgumentNode $argument2
-     */
-    function it_supports_adding_arguments($argument1, $argument2)
-    {
-        $this->addArgument($argument1);
-        $this->addArgument($argument2);
-
-        $this->getArguments()->shouldReturn(array($argument1, $argument2));
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php
deleted file mode 100644
index 7026126..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler;
-
-use PhpSpec\ObjectBehavior;
-
-class LazyDoubleSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Doubler\Doubler $doubler
-     */
-    function let($doubler)
-    {
-        $this->beConstructedWith($doubler);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $double
-     */
-    function it_returns_anonymous_double_instance_by_default($doubler, $double)
-    {
-        $doubler->double(null, array())->willReturn($double);
-
-        $this->getInstance()->shouldReturn($double);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $double
-     * @param \ReflectionClass                            $class
-     */
-    function it_returns_class_double_instance_if_set($doubler, $double, $class)
-    {
-        $doubler->double($class, array())->willReturn($double);
-
-        $this->setParentClass($class);
-
-        $this->getInstance()->shouldReturn($double);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $double1
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $double2
-     */
-    function it_returns_same_double_instance_if_called_2_times(
-        $doubler, $double1, $double2
-    )
-    {
-        $doubler->double(null, array())->willReturn($double1);
-        $doubler->double(null, array())->willReturn($double2);
-
-        $this->getInstance()->shouldReturn($double2);
-        $this->getInstance()->shouldReturn($double2);
-    }
-
-    function its_setParentClass_throws_ClassNotFoundException_if_class_not_found()
-    {
-        $this->shouldThrow('Prophecy\Exception\Doubler\ClassNotFoundException')
-            ->duringSetParentClass('SomeUnexistingClass');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $double
-     */
-    function its_setParentClass_throws_exception_if_prophecy_is_already_created(
-        $doubler, $double
-    )
-    {
-        $doubler->double(null, array())->willReturn($double);
-
-        $this->getInstance();
-
-        $this->shouldThrow('Prophecy\Exception\Doubler\DoubleException')
-            ->duringSetParentClass('stdClass');
-    }
-
-    function its_addInterface_throws_InterfaceNotFoundException_if_no_interface_found()
-    {
-        $this->shouldThrow('Prophecy\Exception\Doubler\InterfaceNotFoundException')
-            ->duringAddInterface('SomeUnexistingInterface');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $double
-     */
-    function its_addInterface_throws_exception_if_prophecy_is_already_created(
-        $doubler, $double
-    )
-    {
-        $doubler->double(null, array())->willReturn($double);
-
-        $this->getInstance();
-
-        $this->shouldThrow('Prophecy\Exception\Doubler\DoubleException')
-            ->duringAddInterface('ArrayAccess');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php
deleted file mode 100644
index a3e7491..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Doubler;
-
-use PhpSpec\ObjectBehavior;
-
-class NameGeneratorSpec extends ObjectBehavior
-{
-    /**
-     * @param \ReflectionClass $class
-     */
-    function its_name_generates_name_based_on_simple_class_reflection($class)
-    {
-        $class->getName()->willReturn('stdClass');
-        $this->name($class, array())->shouldStartWith('Double\stdClass\\');
-    }
-
-    /**
-     * @param \ReflectionClass $class
-     */
-    function its_name_generates_name_based_on_namespaced_class_reflection($class)
-    {
-        $class->getName()->willReturn('Some\Custom\Class');
-        $this->name($class, array())->shouldStartWith('Double\Some\Custom\Class\P');
-    }
-
-    /**
-     * @param \ReflectionClass $interface1
-     * @param \ReflectionClass $interface2
-     */
-    function its_name_generates_name_based_on_interface_shortnames($interface1, $interface2)
-    {
-        $interface1->getShortName()->willReturn('HandlerInterface');
-        $interface2->getShortName()->willReturn('LoaderInterface');
-
-        $this->name(null, array($interface1, $interface2))->shouldStartWith(
-            'Double\HandlerInterface\LoaderInterface\P'
-        );
-    }
-
-    function it_generates_proper_name_for_no_class_and_interfaces_list()
-    {
-        $this->name(null, array())->shouldStartWith('Double\stdClass\P');
-    }
-
-    /**
-     * @param \ReflectionClass $class
-     * @param \ReflectionClass $interface1
-     * @param \ReflectionClass $interface2
-     */
-    function its_name_generates_name_based_only_on_class_if_its_available(
-        $class, $interface1, $interface2
-    )
-    {
-        $class->getName()->willReturn('Some\Custom\Class');
-        $interface1->getShortName()->willReturn('HandlerInterface');
-        $interface2->getShortName()->willReturn('LoaderInterface');
-
-        $this->name($class, array($interface1, $interface2))->shouldStartWith(
-            'Double\Some\Custom\Class\P'
-        );
-    }
-
-    public function getMatchers()
-    {
-        return array(
-            'startWith' => function ($subject, $string) {
-                return 0 === strpos($subject, $string);
-            },
-        );
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php
deleted file mode 100644
index 6fd1a5c..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Call;
-
-use PhpSpec\ObjectBehavior;
-use spec\Prophecy\Exception\Prophecy\Prophecy;
-
-class UnexpectedCallExceptionSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $objectProphecy
-     */
-    function let($objectProphecy)
-    {
-        $this->beConstructedWith('msg', $objectProphecy, 'getName', array('arg1', 'arg2'));
-    }
-
-    function it_is_prophecy_exception()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Prophecy\ObjectProphecyException');
-    }
-
-    function it_exposes_method_name_through_getter()
-    {
-        $this->getMethodName()->shouldReturn('getName');
-    }
-
-    function it_exposes_arguments_through_getter()
-    {
-        $this->getArguments()->shouldReturn(array('arg1', 'arg2'));
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php
deleted file mode 100644
index 5824138..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Doubler;
-
-use PhpSpec\ObjectBehavior;
-use spec\Prophecy\Exception\Prophecy;
-
-class ClassCreatorExceptionSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
-     */
-    function let($node)
-    {
-        $this->beConstructedWith('', $node);
-    }
-
-    function it_is_a_prophecy_exception()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Exception');
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Doubler\DoublerException');
-    }
-
-    function it_contains_a_reflected_node($node)
-    {
-        $this->getClassNode()->shouldReturn($node);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php
deleted file mode 100644
index 21e31a3..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Doubler;
-
-use PhpSpec\ObjectBehavior;
-
-class ClassMirrorExceptionSpec extends ObjectBehavior
-{
-    /**
-     * @param \ReflectionClass $class
-     */
-    function let($class)
-    {
-        $this->beConstructedWith('', $class);
-    }
-
-    function it_is_a_prophecy_exception()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Exception');
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Doubler\DoublerException');
-    }
-
-    function it_contains_a_reflected_class_link($class)
-    {
-        $this->getReflectedClass()->shouldReturn($class);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php
deleted file mode 100644
index 251512b..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Doubler;
-
-use PhpSpec\ObjectBehavior;
-use spec\Prophecy\Exception\Prophecy;
-
-class ClassNotFoundExceptionSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('msg', 'CustomClass');
-    }
-
-    function it_is_a_prophecy_exception()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Exception');
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Doubler\DoubleException');
-    }
-
-    function its_getClassname_returns_classname()
-    {
-        $this->getClassname()->shouldReturn('CustomClass');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php
deleted file mode 100644
index 6fe5a19..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Doubler;
-
-use PhpSpec\ObjectBehavior;
-
-class DoubleExceptionSpec extends ObjectBehavior
-{
-    function it_is_a_double_exception()
-    {
-        $this->shouldBeAnInstanceOf('RuntimeException');
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Doubler\DoublerException');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php
deleted file mode 100644
index ad1a439..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Doubler;
-
-use PhpSpec\ObjectBehavior;
-use spec\Prophecy\Exception\Prophecy;
-
-class InterfaceNotFoundExceptionSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('msg', 'CustomInterface');
-    }
-
-    function it_extends_ClassNotFoundException()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Doubler\ClassNotFoundException');
-    }
-
-    function its_getClassname_returns_classname()
-    {
-        $this->getClassname()->shouldReturn('CustomInterface');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php
deleted file mode 100644
index a889dd7..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Doubler;
-
-use PhpSpec\ObjectBehavior;
-use spec\Prophecy\Exception\Prophecy;
-
-class MethodNotFoundExceptionSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('', 'User', 'getName', array(1, 2, 3));
-    }
-
-    function it_is_DoubleException()
-    {
-        $this->shouldHaveType('Prophecy\Exception\Doubler\DoubleException');
-    }
-
-    function it_has_MethodName()
-    {
-        $this->getMethodName()->shouldReturn('getName');
-    }
-
-    function it_has_classnamej()
-    {
-        $this->getClassname()->shouldReturn('User');
-    }
-
-    function it_has_an_arguments_list()
-    {
-        $this->getArguments()->shouldReturn(array(1, 2, 3));
-    }
-
-    function it_has_a_default_null_argument_list()
-    {
-        $this->beConstructedWith('', 'User', 'getName');
-        $this->getArguments()->shouldReturn(null);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php
deleted file mode 100644
index 22a5ebd..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Prediction;
-
-use PhpSpec\ObjectBehavior;
-
-class AggregateExceptionSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith(null);
-    }
-
-    function it_is_prediction_exception()
-    {
-        $this->shouldBeAnInstanceOf('RuntimeException');
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Prediction\PredictionException');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     */
-    function it_can_store_objectProphecy_link($object)
-    {
-        $this->setObjectProphecy($object);
-        $this->getObjectProphecy()->shouldReturn($object);
-    }
-
-    function it_should_not_have_exceptions_at_the_beginning()
-    {
-        $this->getExceptions()->shouldHaveCount(0);
-    }
-
-    /**
-     * @param \Prophecy\Exception\Prediction\PredictionException $exception
-     */
-    function it_should_append_exception_through_append_method($exception)
-    {
-        $exception->getMessage()->willReturn('Exception #1');
-
-        $this->append($exception);
-
-        $this->getExceptions()->shouldReturn(array($exception));
-    }
-
-    /**
-     * @param \Prophecy\Exception\Prediction\PredictionException $exception
-     */
-    function it_should_update_message_during_append($exception)
-    {
-        $exception->getMessage()->willReturn('Exception #1');
-
-        $this->append($exception);
-
-        $this->getMessage()->shouldReturn("  Exception #1");
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php
deleted file mode 100644
index 473f1a2..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Prediction;
-
-use PhpSpec\ObjectBehavior;
-
-class NoCallsExceptionSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $objectProphecy
-     * @param \Prophecy\Prophecy\MethodProphecy $methodProphecy
-     */
-    function let($objectProphecy, $methodProphecy)
-    {
-        $methodProphecy->getObjectProphecy()->willReturn($objectProphecy);
-
-        $this->beConstructedWith('message', $methodProphecy);
-    }
-
-    function it_is_PredictionException()
-    {
-        $this->shouldHaveType('Prophecy\Exception\Prediction\PredictionException');
-    }
-
-    function it_extends_MethodProphecyException()
-    {
-        $this->shouldHaveType('Prophecy\Exception\Prophecy\MethodProphecyException');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php
deleted file mode 100644
index adad975..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Prediction;
-
-use PhpSpec\ObjectBehavior;
-
-class UnexpectedCallsCountExceptionSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $objectProphecy
-     * @param \Prophecy\Prophecy\MethodProphecy $methodProphecy
-     * @param \Prophecy\Call\Call               $call1
-     * @param \Prophecy\Call\Call               $call2
-     */
-    function let($objectProphecy, $methodProphecy, $call1, $call2)
-    {
-        $methodProphecy->getObjectProphecy()->willReturn($objectProphecy);
-
-        $this->beConstructedWith('message', $methodProphecy, 5, array($call1, $call2));
-    }
-
-    function it_extends_UnexpectedCallsException()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Prediction\UnexpectedCallsException');
-    }
-
-    function it_should_expose_expectedCount_through_getter()
-    {
-        $this->getExpectedCount()->shouldReturn(5);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php
deleted file mode 100644
index c0fe24d..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Prediction;
-
-use PhpSpec\ObjectBehavior;
-
-class UnexpectedCallsExceptionSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $objectProphecy
-     * @param \Prophecy\Prophecy\MethodProphecy $methodProphecy
-     * @param \Prophecy\Call\Call               $call1
-     * @param \Prophecy\Call\Call               $call2
-     */
-    function let($objectProphecy, $methodProphecy, $call1, $call2)
-    {
-        $methodProphecy->getObjectProphecy()->willReturn($objectProphecy);
-
-        $this->beConstructedWith('message', $methodProphecy, array($call1, $call2));
-    }
-
-    function it_is_PredictionException()
-    {
-        $this->shouldHaveType('Prophecy\Exception\Prediction\PredictionException');
-    }
-
-    function it_extends_MethodProphecyException()
-    {
-        $this->shouldHaveType('Prophecy\Exception\Prophecy\MethodProphecyException');
-    }
-
-    function it_should_expose_calls_list_through_getter($call1, $call2)
-    {
-        $this->getCalls()->shouldReturn(array($call1, $call2));
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php
deleted file mode 100644
index 97cf9e1..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Prophecy;
-
-use PhpSpec\ObjectBehavior;
-use spec\Prophecy\Exception\Prophecy;
-
-class MethodProphecyExceptionSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $objectProphecy
-     * @param \Prophecy\Prophecy\MethodProphecy $methodProphecy
-     */
-    function let($objectProphecy, $methodProphecy)
-    {
-        $methodProphecy->getObjectProphecy()->willReturn($objectProphecy);
-
-        $this->beConstructedWith('message', $methodProphecy);
-    }
-
-    function it_extends_DoubleException()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Prophecy\ObjectProphecyException');
-    }
-
-    function it_holds_a_stub_reference($methodProphecy)
-    {
-        $this->getMethodProphecy()->shouldReturn($methodProphecy);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php
deleted file mode 100644
index bcacfed..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Exception\Prophecy;
-
-use PhpSpec\ObjectBehavior;
-use spec\Prophecy\Exception\Prophecy;
-
-class ObjectProphecyExceptionSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $objectProphecy
-     */
-    function let($objectProphecy)
-    {
-        $this->beConstructedWith('message', $objectProphecy);
-    }
-
-    function it_should_be_a_prophecy_exception()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Exception\Prophecy\ProphecyException');
-    }
-
-    function it_holds_double_reference($objectProphecy)
-    {
-        $this->getObjectProphecy()->shouldReturn($objectProphecy);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php
deleted file mode 100644
index 3da8c59..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Prediction;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class CallPredictionSpec extends ObjectBehavior
-{
-    function it_is_prediction()
-    {
-        $this->shouldHaveType('Prophecy\Prediction\PredictionInterface');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     * @param \Prophecy\Call\Call               $call
-     */
-    function it_does_nothing_if_there_is_more_than_one_call_been_made($object, $method, $call)
-    {
-        $this->check(array($call), $object, $method)->shouldReturn(null);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy    $object
-     * @param \Prophecy\Prophecy\MethodProphecy    $method
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments
-     */
-    function it_throws_NoCallsException_if_no_calls_found($object, $method, $arguments)
-    {
-        $method->getObjectProphecy()->willReturn($object);
-        $method->getMethodName()->willReturn('getName');
-        $method->getArgumentsWildcard()->willReturn($arguments);
-        $arguments->__toString()->willReturn('123');
-        $object->reveal()->willReturn(new \stdClass());
-        $object->findProphecyMethodCalls('getName', Argument::any())->willReturn(array());
-
-        $this->shouldThrow('Prophecy\Exception\Prediction\NoCallsException')
-            ->duringCheck(array(), $object, $method);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php
deleted file mode 100644
index c670892..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Prediction;
-
-use PhpSpec\ObjectBehavior;
-
-class CallTimesPredictionSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith(2);
-    }
-
-    function it_is_prediction()
-    {
-        $this->shouldHaveType('Prophecy\Prediction\PredictionInterface');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     * @param \Prophecy\Call\Call               $call1
-     * @param \Prophecy\Call\Call               $call2
-     */
-    function it_does_nothing_if_there_were_exact_amount_of_calls_being_made(
-        $object, $method, $call1, $call2
-    )
-    {
-        $this->check(array($call1, $call2), $object, $method)->shouldReturn(null);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy    $object
-     * @param \Prophecy\Prophecy\MethodProphecy    $method
-     * @param \Prophecy\Call\Call                  $call
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments
-     */
-    function it_throws_UnexpectedCallsCountException_if_calls_found(
-        $object, $method, $call, $arguments
-    )
-    {
-        $method->getObjectProphecy()->willReturn($object);
-        $method->getMethodName()->willReturn('getName');
-        $method->getArgumentsWildcard()->willReturn($arguments);
-        $arguments->__toString()->willReturn('123');
-
-        $call->getMethodName()->willReturn('getName');
-        $call->getArguments()->willReturn(array(5, 4, 'three'));
-        $call->getCallPlace()->willReturn('unknown');
-
-        $this->shouldThrow('Prophecy\Exception\Prediction\UnexpectedCallsCountException')
-            ->duringCheck(array($call), $object, $method);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php
deleted file mode 100644
index 7fe475e..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Prediction;
-
-use PhpSpec\ObjectBehavior;
-
-use RuntimeException;
-
-class CallbackPredictionSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('get_class');
-    }
-
-    function it_is_prediction()
-    {
-        $this->shouldHaveType('Prophecy\Prediction\PredictionInterface');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     * @param \Prophecy\Call\Call               $call
-     */
-    function it_proxies_call_to_callback($object, $method, $call)
-    {
-        $returnFirstCallCallback = function ($calls, $object, $method) {
-            throw new RuntimeException;
-        };
-
-        $this->beConstructedWith($returnFirstCallCallback);
-
-        $this->shouldThrow('RuntimeException')->duringCheck(array($call), $object, $method);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php
deleted file mode 100644
index a3ef9bc..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Prediction;
-
-use PhpSpec\ObjectBehavior;
-
-class NoCallsPredictionSpec extends ObjectBehavior
-{
-    function it_is_prediction()
-    {
-        $this->shouldHaveType('Prophecy\Prediction\PredictionInterface');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_does_nothing_if_there_is_no_calls_made($object, $method)
-    {
-        $this->check(array(), $object, $method)->shouldReturn(null);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy    $object
-     * @param \Prophecy\Prophecy\MethodProphecy    $method
-     * @param \Prophecy\Call\Call                  $call
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments
-     */
-    function it_throws_UnexpectedCallsException_if_calls_found($object, $method, $call, $arguments)
-    {
-        $method->getObjectProphecy()->willReturn($object);
-        $method->getMethodName()->willReturn('getName');
-        $method->getArgumentsWildcard()->willReturn($arguments);
-        $arguments->__toString()->willReturn('123');
-
-        $call->getMethodName()->willReturn('getName');
-        $call->getArguments()->willReturn(array(5, 4, 'three'));
-        $call->getCallPlace()->willReturn('unknown');
-
-        $this->shouldThrow('Prophecy\Exception\Prediction\UnexpectedCallsException')
-            ->duringCheck(array($call), $object, $method);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php
deleted file mode 100644
index 5d99b1b..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Promise;
-
-use PhpSpec\ObjectBehavior;
-
-class CallbackPromiseSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('get_class');
-    }
-
-    function it_is_promise()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Promise\PromiseInterface');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_should_execute_closure_callback($object, $method)
-    {
-        $firstArgumentCallback = function ($args) {
-            return $args[0];
-        };
-
-        $this->beConstructedWith($firstArgumentCallback);
-
-        $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_should_execute_static_array_callback($object, $method)
-    {
-        $firstArgumentCallback = array('spec\Prophecy\Promise\ClassCallback', 'staticCallbackMethod');
-
-        $this->beConstructedWith($firstArgumentCallback);
-
-        $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_should_execute_instance_array_callback($object, $method)
-    {
-        $class = new ClassCallback();
-        $firstArgumentCallback = array($class, 'callbackMethod');
-
-        $this->beConstructedWith($firstArgumentCallback);
-
-        $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_should_execute_string_function_callback($object, $method)
-    {
-        $firstArgumentCallback = 'spec\Prophecy\Promise\functionCallbackFirstArgument';
-
-        $this->beConstructedWith($firstArgumentCallback);
-
-        $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one');
-    }
-
-}
-
-/**
- * Class used to test callbackpromise
- *
- * @param array
- * @return string
- */
-class ClassCallback
-{
-    /**
-     * @param array $args
-     */
-    function callbackMethod($args)
-    {
-        return $args[0];
-    }
-
-    /**
-     * @param array $args
-     */
-    static function staticCallbackMethod($args)
-    {
-        return $args[0];
-    }
-}
-
-/**
- * Callback function used to test callbackpromise
- *
- * @param array
- * @return string
- */
-function functionCallbackFirstArgument($args)
-{
-    return $args[0];
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php
deleted file mode 100644
index 4acb7bb..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Promise;
-
-use PhpSpec\ObjectBehavior;
-
-class ReturnArgumentPromiseSpec extends ObjectBehavior
-{
-    function it_is_promise()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Promise\PromiseInterface');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_should_return_first_argument_if_provided($object, $method)
-    {
-        $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_should_return_null_if_no_arguments_provided($object, $method)
-    {
-        $this->execute(array(), $object, $method)->shouldReturn(null);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_should_return_nth_argument_if_provided($object, $method)
-    {
-        $this->beConstructedWith(1);
-        $this->execute(array('one', 'two'), $object, $method)->shouldReturn('two');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php
deleted file mode 100644
index 18bfd87..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Promise;
-
-use PhpSpec\ObjectBehavior;
-
-class ReturnPromiseSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith(array(42));
-    }
-
-    function it_is_promise()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Promise\PromiseInterface');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_returns_value_it_was_constructed_with($object, $method)
-    {
-        $this->execute(array(), $object, $method)->shouldReturn(42);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_always_returns_last_value_left_in_the_return_values($object, $method)
-    {
-        $this->execute(array(), $object, $method)->shouldReturn(42);
-        $this->execute(array(), $object, $method)->shouldReturn(42);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_consequently_returns_multiple_values_it_was_constructed_with($object, $method)
-    {
-        $this->beConstructedWith(array(42, 24, 12));
-
-        $this->execute(array(), $object, $method)->shouldReturn(42);
-        $this->execute(array(), $object, $method)->shouldReturn(24);
-        $this->execute(array(), $object, $method)->shouldReturn(12);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_returns_null_if_constructed_with_empty_array($object, $method)
-    {
-        $this->beConstructedWith(array());
-
-        $this->execute(array(), $object, $method)->shouldReturn(null);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php
deleted file mode 100644
index 5f44897..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Promise;
-
-use PhpSpec\ObjectBehavior;
-
-class ThrowPromiseSpec extends ObjectBehavior
-{
-    function let()
-    {
-        $this->beConstructedWith('RuntimeException');
-    }
-
-    function it_is_promise()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Promise\PromiseInterface');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_instantiates_and_throws_exception_from_provided_classname($object, $method)
-    {
-        $this->beConstructedWith('InvalidArgumentException');
-
-        $this->shouldThrow('InvalidArgumentException')
-            ->duringExecute(array(), $object, $method);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_instantiates_exceptions_with_required_arguments($object, $method)
-    {
-        $this->beConstructedWith('spec\Prophecy\Promise\RequiredArgumentException');
-
-        $this->shouldThrow('spec\Prophecy\Promise\RequiredArgumentException')
-            ->duringExecute(array(), $object, $method);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $object
-     * @param \Prophecy\Prophecy\MethodProphecy $method
-     */
-    function it_throws_provided_exception($object, $method)
-    {
-        $this->beConstructedWith($exc = new \RuntimeException('Some exception'));
-
-        $this->shouldThrow($exc)->duringExecute(array(), $object, $method);
-    }
-}
-
-class RequiredArgumentException extends \Exception
-{
-    final public function __construct($message, $code) {}
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php
deleted file mode 100644
index d8299a7..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php
+++ /dev/null
@@ -1,381 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Prophecy;
-
-use PhpSpec\ObjectBehavior;
-
-class MethodProphecySpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Prophecy\ObjectProphecy $objectProphecy
-     * @param \ReflectionClass                  $reflection
-     */
-    function let($objectProphecy, $reflection)
-    {
-        $objectProphecy->reveal()->willReturn($reflection);
-
-        $this->beConstructedWith($objectProphecy, 'getName', null);
-    }
-
-    function it_is_initializable()
-    {
-        $this->shouldHaveType('Prophecy\Prophecy\MethodProphecy');
-    }
-
-    function its_constructor_throws_MethodNotFoundException_for_unexisting_method($objectProphecy)
-    {
-        $this->shouldThrow('Prophecy\Exception\Doubler\MethodNotFoundException')->during(
-            '__construct', array($objectProphecy, 'getUnexisting', null)
-        );
-    }
-
-    function its_constructor_throws_MethodProphecyException_for_final_methods($objectProphecy, ClassWithFinalMethod $subject)
-    {
-        $objectProphecy->reveal()->willReturn($subject);
-
-        $this->shouldThrow('Prophecy\Exception\Prophecy\MethodProphecyException')->during(
-            '__construct', array($objectProphecy, 'finalMethod', null)
-        );
-    }
-
-    function its_constructor_transforms_array_passed_as_3rd_argument_to_ArgumentsWildcard(
-        $objectProphecy
-    )
-    {
-        $this->beConstructedWith($objectProphecy, 'getName', array(42, 33));
-
-        $wildcard = $this->getArgumentsWildcard();
-        $wildcard->shouldNotBe(null);
-        $wildcard->__toString()->shouldReturn('exact(42), exact(33)');
-    }
-
-    function its_constructor_does_not_touch_third_argument_if_it_is_null($objectProphecy)
-    {
-        $this->beConstructedWith($objectProphecy, 'getName', null);
-
-        $wildcard = $this->getArgumentsWildcard();
-        $wildcard->shouldBe(null);
-    }
-
-    /**
-     * @param \Prophecy\Promise\PromiseInterface $promise
-     */
-    function it_records_promise_through_will_method($promise, $objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $this->will($promise);
-        $this->getPromise()->shouldReturn($promise);
-    }
-
-    /**
-     * @param \Prophecy\Promise\PromiseInterface $promise
-     */
-    function it_adds_itself_to_ObjectProphecy_during_call_to_will($objectProphecy, $promise)
-    {
-        $objectProphecy->addMethodProphecy($this)->shouldBeCalled();
-
-        $this->will($promise);
-    }
-
-    function it_adds_ReturnPromise_during_willReturn_call($objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $this->willReturn(42);
-        $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\ReturnPromise');
-    }
-
-    function it_adds_ThrowPromise_during_willThrow_call($objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $this->willThrow('RuntimeException');
-        $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\ThrowPromise');
-    }
-
-    function it_adds_ReturnArgumentPromise_during_willReturnArgument_call($objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $this->willReturnArgument();
-        $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\ReturnArgumentPromise');
-    }
-
-    function it_adds_ReturnArgumentPromise_during_willReturnArgument_call_with_index_argument($objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $this->willReturnArgument(1);
-        $promise = $this->getPromise();
-        $promise->shouldBeAnInstanceOf('Prophecy\Promise\ReturnArgumentPromise');
-        $promise->execute(array('one', 'two'), $objectProphecy, $this)->shouldReturn('two');
-    }
-
-    function it_adds_CallbackPromise_during_will_call_with_callback_argument($objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $callback = function () {};
-
-        $this->will($callback);
-        $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\CallbackPromise');
-    }
-
-    /**
-     * @param \Prophecy\Prediction\PredictionInterface $prediction
-     */
-    function it_records_prediction_through_should_method($prediction, $objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $this->callOnWrappedObject('should', array($prediction));
-        $this->getPrediction()->shouldReturn($prediction);
-    }
-
-    function it_adds_CallbackPrediction_during_should_call_with_callback_argument($objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $callback = function () {};
-
-        $this->callOnWrappedObject('should', array($callback));
-        $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\CallbackPrediction');
-    }
-
-    /**
-     * @param \Prophecy\Prediction\PredictionInterface $prediction
-     */
-    function it_adds_itself_to_ObjectProphecy_during_call_to_should($objectProphecy, $prediction)
-    {
-        $objectProphecy->addMethodProphecy($this)->shouldBeCalled();
-
-        $this->callOnWrappedObject('should', array($prediction));
-    }
-
-    function it_adds_CallPrediction_during_shouldBeCalled_call($objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $this->callOnWrappedObject('shouldBeCalled', array());
-        $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\CallPrediction');
-    }
-
-    function it_adds_NoCallsPrediction_during_shouldNotBeCalled_call($objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $this->callOnWrappedObject('shouldNotBeCalled', array());
-        $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\NoCallsPrediction');
-    }
-
-    function it_adds_CallTimesPrediction_during_shouldBeCalledTimes_call($objectProphecy)
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $this->callOnWrappedObject('shouldBeCalledTimes', array(5));
-        $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\CallTimesPrediction');
-    }
-
-    /**
-     * @param \Prophecy\Argument\ArgumentsWildcard     $arguments
-     * @param \Prophecy\Prediction\PredictionInterface $prediction
-     * @param \Prophecy\Call\Call                      $call1
-     * @param \Prophecy\Call\Call                      $call2
-     */
-    function it_checks_prediction_via_shouldHave_method_call(
-        $objectProphecy, $arguments, $prediction, $call1, $call2
-    )
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-        $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled();
-        $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2));
-
-        $this->withArguments($arguments);
-        $this->callOnWrappedObject('shouldHave', array($prediction));
-    }
-
-    /**
-     * @param \Prophecy\Argument\ArgumentsWildcard     $arguments
-     * @param \Prophecy\Prediction\PredictionInterface $prediction
-     * @param \Prophecy\Call\Call                      $call1
-     * @param \Prophecy\Call\Call                      $call2
-     */
-    function it_sets_return_promise_during_shouldHave_call_if_none_was_set_before(
-        $objectProphecy, $arguments, $prediction, $call1, $call2
-    )
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-        $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled();
-        $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2));
-
-        $this->withArguments($arguments);
-        $this->callOnWrappedObject('shouldHave', array($prediction));
-
-        $this->getPromise()->shouldReturnAnInstanceOf('Prophecy\Promise\ReturnPromise');
-    }
-
-    /**
-     * @param \Prophecy\Argument\ArgumentsWildcard     $arguments
-     * @param \Prophecy\Prediction\PredictionInterface $prediction
-     * @param \Prophecy\Call\Call                      $call1
-     * @param \Prophecy\Call\Call                      $call2
-     * @param \Prophecy\Promise\PromiseInterface       $promise
-     */
-    function it_does_not_set_return_promise_during_shouldHave_call_if_it_was_set_before(
-        $objectProphecy, $arguments, $prediction, $call1, $call2, $promise
-    )
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-        $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled();
-        $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2));
-
-        $this->will($promise);
-        $this->withArguments($arguments);
-        $this->callOnWrappedObject('shouldHave', array($prediction));
-
-        $this->getPromise()->shouldReturn($promise);
-    }
-
-    /**
-     * @param \Prophecy\Argument\ArgumentsWildcard     $arguments
-     * @param \Prophecy\Prediction\PredictionInterface $prediction1
-     * @param \Prophecy\Prediction\PredictionInterface $prediction2
-     * @param \Prophecy\Call\Call                      $call1
-     * @param \Prophecy\Call\Call                      $call2
-     * @param \Prophecy\Promise\PromiseInterface       $promise
-     */
-    function it_records_checked_predictions(
-        $objectProphecy, $arguments, $prediction1, $prediction2, $call1, $call2, $promise
-    )
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-        $prediction1->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->willReturn();
-        $prediction2->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->willReturn();
-        $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2));
-
-        $this->will($promise);
-        $this->withArguments($arguments);
-        $this->callOnWrappedObject('shouldHave', array($prediction1));
-        $this->callOnWrappedObject('shouldHave', array($prediction2));
-
-        $this->getCheckedPredictions()->shouldReturn(array($prediction1, $prediction2));
-    }
-
-    /**
-     * @param \Prophecy\Argument\ArgumentsWildcard     $arguments
-     * @param \Prophecy\Prediction\PredictionInterface $prediction
-     * @param \Prophecy\Call\Call                      $call1
-     * @param \Prophecy\Call\Call                      $call2
-     * @param \Prophecy\Promise\PromiseInterface       $promise
-     */
-    function it_records_even_failed_checked_predictions(
-        $objectProphecy, $arguments, $prediction, $call1, $call2, $promise
-    )
-    {
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-        $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->willThrow(new \RuntimeException());
-        $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2));
-
-        $this->will($promise);
-        $this->withArguments($arguments);
-
-        try {
-          $this->callOnWrappedObject('shouldHave', array($prediction));
-        } catch (\Exception $e) {}
-
-        $this->getCheckedPredictions()->shouldReturn(array($prediction));
-    }
-
-    /**
-     * @param \Prophecy\Argument\ArgumentsWildcard     $arguments
-     * @param \Prophecy\Prediction\PredictionInterface $prediction
-     * @param \Prophecy\Call\Call                      $call1
-     * @param \Prophecy\Call\Call                      $call2
-     */
-    function it_checks_prediction_via_shouldHave_method_call_with_callback(
-        $objectProphecy, $arguments, $prediction, $call1, $call2
-    )
-    {
-        $callback = function ($calls, $object, $method) {
-            throw new \RuntimeException;
-        };
-        $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2));
-
-        $this->withArguments($arguments);
-        $this->shouldThrow('RuntimeException')->duringShouldHave($callback);
-    }
-
-    function it_does_nothing_during_checkPrediction_if_no_prediction_set()
-    {
-        $this->checkPrediction()->shouldReturn(null);
-    }
-
-    /**
-     * @param \Prophecy\Argument\ArgumentsWildcard     $arguments
-     * @param \Prophecy\Prediction\PredictionInterface $prediction
-     * @param \Prophecy\Call\Call                      $call1
-     * @param \Prophecy\Call\Call                      $call2
-     */
-    function it_checks_set_prediction_during_checkPrediction(
-        $objectProphecy, $arguments, $prediction, $call1, $call2
-    )
-    {
-        $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled();
-        $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2));
-        $objectProphecy->addMethodProphecy($this)->willReturn(null);
-
-        $this->withArguments($arguments);
-        $this->callOnWrappedObject('should', array($prediction));
-        $this->checkPrediction();
-    }
-
-    function it_links_back_to_ObjectProphecy_through_getter($objectProphecy)
-    {
-        $this->getObjectProphecy()->shouldReturn($objectProphecy);
-    }
-
-    function it_has_MethodName()
-    {
-        $this->getMethodName()->shouldReturn('getName');
-    }
-
-    /**
-     * @param \Prophecy\Argument\ArgumentsWildcard $wildcard
-     */
-    function it_contains_ArgumentsWildcard_it_was_constructed_with($objectProphecy, $wildcard)
-    {
-        $this->beConstructedWith($objectProphecy, 'getName', $wildcard);
-
-        $this->getArgumentsWildcard()->shouldReturn($wildcard);
-    }
-
-    /**
-     * @param \Prophecy\Argument\ArgumentsWildcard $wildcard
-     */
-    function its_ArgumentWildcard_is_mutable_through_setter($wildcard)
-    {
-        $this->withArguments($wildcard);
-
-        $this->getArgumentsWildcard()->shouldReturn($wildcard);
-    }
-
-    function its_withArguments_transforms_passed_array_into_ArgumentsWildcard()
-    {
-        $this->withArguments(array(42, 33));
-
-        $wildcard = $this->getArgumentsWildcard();
-        $wildcard->shouldNotBe(null);
-        $wildcard->__toString()->shouldReturn('exact(42), exact(33)');
-    }
-
-    function its_withArguments_throws_exception_if_wrong_arguments_provided()
-    {
-        $this->shouldThrow('Prophecy\Exception\InvalidArgumentException')->duringWithArguments(42);
-    }
-}
-
-class ClassWithFinalMethod
-{
-    final public function finalMethod() {}
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php
deleted file mode 100644
index 00f57fe..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php
+++ /dev/null
@@ -1,305 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Prophecy;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class ObjectProphecySpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Doubler\LazyDouble                $lazyDouble
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $double
-     */
-    function let($lazyDouble, $double)
-    {
-        $this->beConstructedWith($lazyDouble);
-
-        $lazyDouble->getInstance()->willReturn($double);
-    }
-
-    function it_implements_ProphecyInterface()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Prophecy\ProphecyInterface');
-    }
-
-    function it_sets_parentClass_during_willExtend_call($lazyDouble)
-    {
-        $lazyDouble->setParentClass('123')->shouldBeCalled();
-
-        $this->willExtend('123');
-    }
-
-    function it_adds_interface_during_willImplement_call($lazyDouble)
-    {
-        $lazyDouble->addInterface('222')->shouldBeCalled();
-
-        $this->willImplement('222');
-    }
-
-    function it_sets_constructor_arguments_during_willBeConstructedWith_call($lazyDouble)
-    {
-        $lazyDouble->setArguments(array(1, 2, 5))->shouldBeCalled();
-
-        $this->willBeConstructedWith(array(1, 2, 5));
-    }
-
-    function it_does_not_have_method_prophecies_by_default()
-    {
-        $this->getMethodProphecies()->shouldHaveCount(0);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy    $method1
-     * @param \Prophecy\Prophecy\MethodProphecy    $method2
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments
-     */
-    function it_should_get_method_prophecies_by_method_name($method1, $method2, $arguments)
-    {
-        $method1->getMethodName()->willReturn('getName');
-        $method1->getArgumentsWildcard()->willReturn($arguments);
-        $method2->getMethodName()->willReturn('setName');
-        $method2->getArgumentsWildcard()->willReturn($arguments);
-
-        $this->addMethodProphecy($method1);
-        $this->addMethodProphecy($method2);
-
-        $methods = $this->getMethodProphecies('setName');
-        $methods->shouldHaveCount(1);
-        $methods[0]->getMethodName()->shouldReturn('setName');
-    }
-
-    function it_should_return_empty_array_if_no_method_prophecies_found()
-    {
-        $methods = $this->getMethodProphecies('setName');
-        $methods->shouldHaveCount(0);
-    }
-
-    /**
-     * @param \Prophecy\Call\CallCenter $callCenter
-     */
-    function it_should_proxy_makeProphecyMethodCall_to_CallCenter($lazyDouble, $callCenter)
-    {
-        $this->beConstructedWith($lazyDouble, $callCenter);
-
-        $callCenter->makeCall($this->getWrappedObject(), 'setName', array('everzet'))->willReturn(42);
-
-        $this->makeProphecyMethodCall('setName', array('everzet'))->shouldReturn(42);
-    }
-
-    /**
-     * @param \Prophecy\Call\CallCenter            $callCenter
-     * @param \Prophecy\Prophecy\RevealerInterface $revealer
-     */
-    function it_should_reveal_arguments_and_return_values_from_callCenter(
-        $lazyDouble, $callCenter, $revealer
-    )
-    {
-        $this->beConstructedWith($lazyDouble, $callCenter, $revealer);
-
-        $revealer->reveal(array('question'))->willReturn(array('life'));
-        $revealer->reveal('answer')->willReturn(42);
-
-        $callCenter->makeCall($this->getWrappedObject(), 'setName', array('life'))->willReturn('answer');
-
-        $this->makeProphecyMethodCall('setName', array('question'))->shouldReturn(42);
-    }
-
-    /**
-     * @param \Prophecy\Call\CallCenter            $callCenter
-     * @param \Prophecy\Argument\ArgumentsWildcard $wildcard
-     * @param \Prophecy\Call\Call                  $call
-     */
-    function it_should_proxy_getProphecyMethodCalls_to_CallCenter(
-        $lazyDouble, $callCenter, $wildcard, $call
-    )
-    {
-        $this->beConstructedWith($lazyDouble, $callCenter);
-
-        $callCenter->findCalls('setName', $wildcard)->willReturn(array($call));
-
-        $this->findProphecyMethodCalls('setName', $wildcard)->shouldReturn(array($call));
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy    $methodProphecy
-     * @param \Prophecy\Argument\ArgumentsWildcard $argumentsWildcard
-     */
-    function its_addMethodProphecy_adds_method_prophecy(
-        $methodProphecy, $argumentsWildcard
-    )
-    {
-        $methodProphecy->getArgumentsWildcard()->willReturn($argumentsWildcard);
-        $methodProphecy->getMethodName()->willReturn('getUsername');
-
-        $this->addMethodProphecy($methodProphecy);
-
-        $this->getMethodProphecies()->shouldReturn(array(
-            'getUsername' => array($methodProphecy)
-        ));
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy    $methodProphecy1
-     * @param \Prophecy\Prophecy\MethodProphecy    $methodProphecy2
-     * @param \Prophecy\Argument\ArgumentsWildcard $argumentsWildcard1
-     * @param \Prophecy\Argument\ArgumentsWildcard $argumentsWildcard2
-     */
-    function its_addMethodProphecy_handles_prophecies_with_different_arguments(
-        $methodProphecy1, $methodProphecy2, $argumentsWildcard1, $argumentsWildcard2
-    )
-    {
-        $methodProphecy1->getArgumentsWildcard()->willReturn($argumentsWildcard1);
-        $methodProphecy1->getMethodName()->willReturn('getUsername');
-
-        $methodProphecy2->getArgumentsWildcard()->willReturn($argumentsWildcard2);
-        $methodProphecy2->getMethodName()->willReturn('getUsername');
-
-        $this->addMethodProphecy($methodProphecy1);
-        $this->addMethodProphecy($methodProphecy2);
-
-        $this->getMethodProphecies()->shouldReturn(array(
-            'getUsername' => array(
-                $methodProphecy1,
-                $methodProphecy2,
-            )
-        ));
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy    $methodProphecy1
-     * @param \Prophecy\Prophecy\MethodProphecy    $methodProphecy2
-     * @param \Prophecy\Argument\ArgumentsWildcard $argumentsWildcard1
-     * @param \Prophecy\Argument\ArgumentsWildcard $argumentsWildcard2
-     */
-    function its_addMethodProphecy_handles_prophecies_for_different_methods(
-        $methodProphecy1, $methodProphecy2, $argumentsWildcard1, $argumentsWildcard2
-    )
-    {
-        $methodProphecy1->getArgumentsWildcard()->willReturn($argumentsWildcard1);
-        $methodProphecy1->getMethodName()->willReturn('getUsername');
-
-        $methodProphecy2->getArgumentsWildcard()->willReturn($argumentsWildcard2);
-        $methodProphecy2->getMethodName()->willReturn('isUsername');
-
-        $this->addMethodProphecy($methodProphecy1);
-        $this->addMethodProphecy($methodProphecy2);
-
-        $this->getMethodProphecies()->shouldReturn(array(
-            'getUsername' => array(
-                $methodProphecy1
-            ),
-            'isUsername' => array(
-                $methodProphecy2
-            )
-        ));
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy $methodProphecy
-     */
-    function its_addMethodProphecy_throws_exception_when_method_has_no_ArgumentsWildcard(
-        $methodProphecy
-    )
-    {
-        $methodProphecy->getArgumentsWildcard()->willReturn(null);
-        $methodProphecy->getObjectProphecy()->willReturn($this);
-        $methodProphecy->getMethodName()->willReturn('getTitle');
-
-        $this->shouldThrow('Prophecy\Exception\Prophecy\MethodProphecyException')->duringAddMethodProphecy(
-            $methodProphecy
-        );
-    }
-
-    function it_returns_null_after_checkPredictions_call_if_there_is_no_method_prophecies()
-    {
-        $this->checkProphecyMethodsPredictions()->shouldReturn(null);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy    $methodProphecy1
-     * @param \Prophecy\Prophecy\MethodProphecy    $methodProphecy2
-     * @param \Prophecy\Argument\ArgumentsWildcard $argumentsWildcard1
-     * @param \Prophecy\Argument\ArgumentsWildcard $argumentsWildcard2
-     */
-    function it_throws_AggregateException_during_checkPredictions_if_predictions_fail(
-        $methodProphecy1, $methodProphecy2, $argumentsWildcard1, $argumentsWildcard2
-    )
-    {
-        $methodProphecy1->getMethodName()->willReturn('getName');
-        $methodProphecy1->getArgumentsWildcard()->willReturn($argumentsWildcard1);
-        $methodProphecy1->checkPrediction()
-            ->willThrow('Prophecy\Exception\Prediction\AggregateException');
-
-        $methodProphecy2->getMethodName()->willReturn('setName');
-        $methodProphecy2->getArgumentsWildcard()->willReturn($argumentsWildcard2);
-        $methodProphecy2->checkPrediction()
-            ->willThrow('Prophecy\Exception\Prediction\AggregateException');
-
-        $this->addMethodProphecy($methodProphecy1);
-        $this->addMethodProphecy($methodProphecy2);
-
-        $this->shouldThrow('Prophecy\Exception\Prediction\AggregateException')
-            ->duringCheckProphecyMethodsPredictions();
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Doubler                   $doubler
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $reflection
-     */
-    function it_returns_new_MethodProphecy_instance_for_arbitrary_call($doubler, $reflection)
-    {
-        $doubler->double(Argument::any())->willReturn($reflection);
-
-        $return = $this->getProphecy();
-        $return->shouldBeAnInstanceOf('Prophecy\Prophecy\MethodProphecy');
-        $return->getMethodName()->shouldReturn('getProphecy');
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Doubler                   $doubler
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $reflection
-     */
-    function it_returns_same_MethodProphecy_for_same_registered_signature($doubler, $reflection)
-    {
-        $doubler->double(Argument::any())->willReturn($reflection);
-
-        $this->addMethodProphecy($methodProphecy1 = $this->getProphecy(1, 2, 3));
-        $methodProphecy2 = $this->getProphecy(1, 2, 3);
-
-        $methodProphecy2->shouldBe($methodProphecy1);
-    }
-
-    /**
-     * @param \Prophecy\Doubler\Doubler                   $doubler
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $reflection
-     */
-    function it_returns_new_MethodProphecy_for_different_signatures($doubler, $reflection)
-    {
-        $doubler->double(Argument::any())->willReturn($reflection);
-
-        $value = new ObjectProphecySpecFixtureB('ABC');
-        $value2 = new ObjectProphecySpecFixtureB('CBA');
-
-        $this->addMethodProphecy($methodProphecy1 = $this->getProphecy(1, 2, 3, $value));
-        $methodProphecy2 = $this->getProphecy(1, 2, 3, $value2);
-
-        $methodProphecy2->shouldNotBe($methodProphecy1);
-    }
-}
-
-class ObjectProphecySpecFixtureA
-{
-	public $errors;
-}
-
-class ObjectProphecySpecFixtureB extends ObjectProphecySpecFixtureA
-{
-    public $errors;
-    public $value = null;
-
-    public function __construct($value)
-    {
-        $this->value = $value;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php
deleted file mode 100644
index 4d83d73..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Prophecy;
-
-use PhpSpec\ObjectBehavior;
-
-class RevealerSpec extends ObjectBehavior
-{
-    function it_is_revealer()
-    {
-        $this->shouldBeAnInstanceOf('Prophecy\Prophecy\RevealerInterface');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ProphecyInterface $prophecy
-     * @param \stdClass                            $object
-     */
-    function it_reveals_single_instance_of_ProphecyInterface($prophecy, $object)
-    {
-        $prophecy->reveal()->willReturn($object);
-
-        $this->reveal($prophecy)->shouldReturn($object);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ProphecyInterface $prophecy1
-     * @param \Prophecy\Prophecy\ProphecyInterface $prophecy2
-     * @param \stdClass                            $object1
-     * @param \stdClass                            $object2
-     */
-    function it_reveals_instances_of_ProphecyInterface_inside_array(
-        $prophecy1, $prophecy2, $object1, $object2
-    )
-    {
-        $prophecy1->reveal()->willReturn($object1);
-        $prophecy2->reveal()->willReturn($object2);
-
-        $this->reveal(array(
-            array('item' => $prophecy2),
-            $prophecy1
-        ))->shouldReturn(array(
-            array('item' => $object2),
-            $object1
-        ));
-    }
-
-    function it_does_not_touch_non_prophecy_interface()
-    {
-        $this->reveal(42)->shouldReturn(42);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php
deleted file mode 100644
index 74d5976..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-namespace spec\Prophecy;
-
-use PhpSpec\ObjectBehavior;
-use Prophecy\Argument;
-
-class ProphetSpec extends ObjectBehavior
-{
-    /**
-     * @param \Prophecy\Doubler\Doubler                   $doubler
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $double
-     */
-    function let($doubler, $double)
-    {
-        $doubler->double(null, array())->willReturn($double);
-
-        $this->beConstructedWith($doubler);
-    }
-
-    function it_constructs_new_prophecy_on_prophesize_call()
-    {
-        $prophecy = $this->prophesize();
-        $prophecy->shouldBeAnInstanceOf('Prophecy\Prophecy\ObjectProphecy');
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $newDouble
-     */
-    function it_constructs_new_prophecy_with_parent_class_if_specified($doubler, $newDouble)
-    {
-        $doubler->double(Argument::any(), array())->willReturn($newDouble);
-
-        $this->prophesize('Prophecy\Prophet')->reveal()->shouldReturn($newDouble);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\ProphecySubjectInterface $newDouble
-     */
-    function it_constructs_new_prophecy_with_interface_if_specified($doubler, $newDouble)
-    {
-        $doubler->double(null, Argument::any())->willReturn($newDouble);
-
-        $this->prophesize('ArrayAccess')->reveal()->shouldReturn($newDouble);
-    }
-
-    function it_exposes_all_created_prophecies_through_getter()
-    {
-        $prophecy1 = $this->prophesize();
-        $prophecy2 = $this->prophesize();
-
-        $this->getProphecies()->shouldReturn(array($prophecy1, $prophecy2));
-    }
-
-    function it_does_nothing_during_checkPredictions_call_if_no_predictions_defined()
-    {
-        $this->checkPredictions()->shouldReturn(null);
-    }
-
-    /**
-     * @param \Prophecy\Prophecy\MethodProphecy    $method1
-     * @param \Prophecy\Prophecy\MethodProphecy    $method2
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments1
-     * @param \Prophecy\Argument\ArgumentsWildcard $arguments2
-     */
-    function it_throws_AggregateException_if_defined_predictions_fail(
-        $method1, $method2, $arguments1, $arguments2
-    )
-    {
-        $method1->getMethodName()->willReturn('getName');
-        $method1->getArgumentsWildcard()->willReturn($arguments1);
-        $method1->checkPrediction()->willReturn(null);
-
-        $method2->getMethodName()->willReturn('isSet');
-        $method2->getArgumentsWildcard()->willReturn($arguments2);
-        $method2->checkPrediction()->willThrow(
-            'Prophecy\Exception\Prediction\AggregateException'
-        );
-
-        $this->prophesize()->addMethodProphecy($method1);
-        $this->prophesize()->addMethodProphecy($method2);
-
-        $this->shouldThrow('Prophecy\Exception\Prediction\AggregateException')
-            ->duringCheckPredictions();
-    }
-
-    function it_exposes_doubler_through_getter($doubler)
-    {
-        $this->getDoubler()->shouldReturn($doubler);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php b/core/vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php
deleted file mode 100644
index a4eef59..0000000
--- a/core/vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-namespace spec\Prophecy\Util;
-
-use PhpSpec\ObjectBehavior;
-
-class StringUtilSpec extends ObjectBehavior
-{
-    function it_generates_proper_string_representation_for_integer()
-    {
-        $this->stringify(42)->shouldReturn('42');
-    }
-
-    function it_generates_proper_string_representation_for_string()
-    {
-        $this->stringify('some string')->shouldReturn('"some string"');
-    }
-
-    function it_generates_single_line_representation_for_multiline_string()
-    {
-        $this->stringify("some\nstring")->shouldReturn('"some\\nstring"');
-    }
-
-    function it_generates_proper_string_representation_for_double()
-    {
-        $this->stringify(42.3)->shouldReturn('42.3');
-    }
-
-    function it_generates_proper_string_representation_for_boolean_true()
-    {
-        $this->stringify(true)->shouldReturn('true');
-    }
-
-    function it_generates_proper_string_representation_for_boolean_false()
-    {
-        $this->stringify(false)->shouldReturn('false');
-    }
-
-    function it_generates_proper_string_representation_for_null()
-    {
-        $this->stringify(null)->shouldReturn('null');
-    }
-
-    function it_generates_proper_string_representation_for_empty_array()
-    {
-        $this->stringify(array())->shouldReturn('[]');
-    }
-
-    function it_generates_proper_string_representation_for_array()
-    {
-        $this->stringify(array('zet', 42))->shouldReturn('["zet", 42]');
-    }
-
-    function it_generates_proper_string_representation_for_hash_containing_one_value()
-    {
-        $this->stringify(array('ever' => 'zet'))->shouldReturn('["ever" => "zet"]');
-    }
-
-    function it_generates_proper_string_representation_for_hash()
-    {
-        $this->stringify(array('ever' => 'zet', 52 => 'hey', 'num' => 42))->shouldReturn(
-            '["ever" => "zet", 52 => "hey", "num" => 42]'
-        );
-    }
-
-    function it_generates_proper_string_representation_for_resource()
-    {
-        $resource = fopen(__FILE__, 'r');
-        $this->stringify($resource)->shouldReturn('stream:'.$resource);
-    }
-
-    /**
-     * @param \stdClass $object
-     */
-    function it_generates_proper_string_representation_for_object($object)
-    {
-        $objHash = sprintf('%s:%s',
-            get_class($object->getWrappedObject()),
-            spl_object_hash($object->getWrappedObject())
-        ) . " Object (\n    'objectProphecy' => Prophecy\Prophecy\ObjectProphecy Object (*Prophecy*)\n)";
-
-        $this->stringify($object)->shouldReturn("$objHash");
-    }
-
-    /**
-     * @param stdClass $object
-     */
-    function it_generates_proper_string_representation_for_object_without_exporting($object)
-    {
-        $objHash = sprintf('%s:%s',
-            get_class($object->getWrappedObject()),
-            spl_object_hash($object->getWrappedObject())
-        );
-
-        $this->stringify($object, false)->shouldReturn("$objHash");
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument.php
deleted file mode 100644
index f2b3364..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy;
-
-use Prophecy\Argument\Token;
-
-/**
- * Argument tokens shortcuts.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Argument
-{
-    /**
-     * Checks that argument is exact value or object.
-     *
-     * @param mixed $value
-     *
-     * @return Token\ExactValueToken
-     */
-    public static function exact($value)
-    {
-        return new Token\ExactValueToken($value);
-    }
-
-    /**
-     * Checks that argument is of specific type or instance of specific class.
-     *
-     * @param string $type Type name (`integer`, `string`) or full class name
-     *
-     * @return Token\TypeToken
-     */
-    public static function type($type)
-    {
-        return new Token\TypeToken($type);
-    }
-
-    /**
-     * Checks that argument object has specific state.
-     *
-     * @param string $methodName
-     * @param mixed  $value
-     *
-     * @return Token\ObjectStateToken
-     */
-    public static function which($methodName, $value)
-    {
-        return new Token\ObjectStateToken($methodName, $value);
-    }
-
-    /**
-     * Checks that argument matches provided callback.
-     *
-     * @param callable $callback
-     *
-     * @return Token\CallbackToken
-     */
-    public static function that($callback)
-    {
-        return new Token\CallbackToken($callback);
-    }
-
-    /**
-     * Matches any single value.
-     *
-     * @return Token\AnyValueToken
-     */
-    public static function any()
-    {
-        return new Token\AnyValueToken;
-    }
-
-    /**
-     * Matches all values to the rest of the signature.
-     *
-     * @return Token\AnyValuesToken
-     */
-    public static function cetera()
-    {
-        return new Token\AnyValuesToken;
-    }
-
-    /**
-     * Checks that argument matches all tokens
-     *
-     * @param mixed ... a list of tokens
-     *
-     * @return Token\LogicalAndToken
-     */
-    public static function allOf()
-    {
-        return new Token\LogicalAndToken(func_get_args());
-    }
-
-    /**
-     * Checks that argument array or countable object has exact number of elements.
-     *
-     * @param integer $value array elements count
-     *
-     * @return Token\ArrayCountToken
-     */
-    public static function size($value)
-    {
-        return new Token\ArrayCountToken($value);
-    }
-
-    /**
-     * Checks that argument array contains (key, value) pair
-     *
-     * @param mixed $key   exact value or token
-     * @param mixed $value exact value or token
-     *
-     * @return Token\ArrayEntryToken
-     */
-    public static function withEntry($key, $value)
-    {
-        return new Token\ArrayEntryToken($key, $value);
-    }
-
-    /**
-     * Checks that arguments array entries all match value
-     *
-     * @param mixed $value
-     *
-     * @return Token\ArrayEveryEntryToken
-     */
-    public static function withEveryEntry($value)
-    {
-        return new Token\ArrayEveryEntryToken($value);
-    }
-
-    /**
-     * Checks that argument array contains value
-     *
-     * @param mixed $value
-     *
-     * @return Token\ArrayEntryToken
-     */
-    public static function containing($value)
-    {
-        return new Token\ArrayEntryToken(self::any(), $value);
-    }
-
-    /**
-     * Checks that argument array has key
-     *
-     * @param mixed $key exact value or token
-     *
-     * @return Token\ArrayEntryToken
-     */
-    public static function withKey($key)
-    {
-        return new Token\ArrayEntryToken($key, self::any());
-    }
-
-    /**
-     * Checks that argument does not match the value|token.
-     *
-     * @param mixed $value either exact value or argument token
-     *
-     * @return Token\LogicalNotToken
-     */
-    public static function not($value)
-    {
-        return new Token\LogicalNotToken($value);
-    }
-
-    /**
-     * @param string $value
-     *
-     * @return Token\StringContainsToken
-     */
-    public static function containingString($value)
-    {
-        return new Token\StringContainsToken($value);
-    }
-
-    /**
-     * Checks that argument is identical value.
-     *
-     * @param mixed $value
-     *
-     * @return Token\IdenticalValueToken
-     */
-    public static function is($value)
-    {
-        return new Token\IdenticalValueToken($value);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php
deleted file mode 100644
index a088f21..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument;
-
-/**
- * Arguments wildcarding.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ArgumentsWildcard
-{
-    /**
-     * @var Token\TokenInterface[]
-     */
-    private $tokens = array();
-    private $string;
-
-    /**
-     * Initializes wildcard.
-     *
-     * @param array $arguments Array of argument tokens or values
-     */
-    public function __construct(array $arguments)
-    {
-        foreach ($arguments as $argument) {
-            if (!$argument instanceof Token\TokenInterface) {
-                $argument = new Token\ExactValueToken($argument);
-            }
-
-            $this->tokens[] = $argument;
-        }
-    }
-
-    /**
-     * Calculates wildcard match score for provided arguments.
-     *
-     * @param array $arguments
-     *
-     * @return false|int False OR integer score (higher - better)
-     */
-    public function scoreArguments(array $arguments)
-    {
-        if (0 == count($arguments) && 0 == count($this->tokens)) {
-            return 1;
-        }
-
-        $arguments  = array_values($arguments);
-        $totalScore = 0;
-        foreach ($this->tokens as $i => $token) {
-            $argument = isset($arguments[$i]) ? $arguments[$i] : null;
-            if (1 >= $score = $token->scoreArgument($argument)) {
-                return false;
-            }
-
-            $totalScore += $score;
-
-            if (true === $token->isLast()) {
-                return $totalScore;
-            }
-        }
-
-        if (count($arguments) > count($this->tokens)) {
-            return false;
-        }
-
-        return $totalScore;
-    }
-
-    /**
-     * Returns string representation for wildcard.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        if (null === $this->string) {
-            $this->string = implode(', ', array_map(function ($token) {
-                return (string) $token;
-            }, $this->tokens));
-        }
-
-        return $this->string;
-    }
-
-    /**
-     * @return array
-     */
-    public function getTokens()
-    {
-        return $this->tokens;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php
deleted file mode 100644
index 5098811..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Any single value token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class AnyValueToken implements TokenInterface
-{
-    /**
-     * Always scores 3 for any argument.
-     *
-     * @param $argument
-     *
-     * @return int
-     */
-    public function scoreArgument($argument)
-    {
-        return 3;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return '*';
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php
deleted file mode 100644
index f76b17b..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Any values token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class AnyValuesToken implements TokenInterface
-{
-    /**
-     * Always scores 2 for any argument.
-     *
-     * @param $argument
-     *
-     * @return int
-     */
-    public function scoreArgument($argument)
-    {
-        return 2;
-    }
-
-    /**
-     * Returns true to stop wildcard from processing other tokens.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return true;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return '* [, ...]';
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php
deleted file mode 100644
index 96b4bef..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Array elements count token.
- *
- * @author Boris Mikhaylov <kaguxmail@gmail.com>
- */
-
-class ArrayCountToken implements TokenInterface
-{
-    private $count;
-
-    /**
-     * @param integer $value
-     */
-    public function __construct($value)
-    {
-        $this->count = $value;
-    }
-
-    /**
-     * Scores 6 when argument has preset number of elements.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        return $this->isCountable($argument) && $this->hasProperCount($argument) ? 6 : false;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return boolean
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('count(%s)', $this->count);
-    }
-
-    /**
-     * Returns true if object is either array or instance of \Countable
-     *
-     * @param $argument
-     * @return bool
-     */
-    private function isCountable($argument)
-    {
-        return (is_array($argument) || $argument instanceof \Countable);
-    }
-
-    /**
-     * Returns true if $argument has expected number of elements
-     *
-     * @param array|\Countable $argument
-     *
-     * @return bool
-     */
-    private function hasProperCount($argument)
-    {
-        return $this->count === count($argument);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php
deleted file mode 100644
index 0305fc7..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use Prophecy\Exception\InvalidArgumentException;
-
-/**
- * Array entry token.
- *
- * @author Boris Mikhaylov <kaguxmail@gmail.com>
- */
-class ArrayEntryToken implements TokenInterface
-{
-    /** @var \Prophecy\Argument\Token\TokenInterface */
-    private $key;
-    /** @var \Prophecy\Argument\Token\TokenInterface */
-    private $value;
-
-    /**
-     * @param mixed $key   exact value or token
-     * @param mixed $value exact value or token
-     */
-    public function __construct($key, $value)
-    {
-        $this->key = $this->wrapIntoExactValueToken($key);
-        $this->value = $this->wrapIntoExactValueToken($value);
-    }
-
-    /**
-     * Scores half of combined scores from key and value tokens for same entry. Capped at 8.
-     * If argument implements \ArrayAccess without \Traversable, then key token is restricted to ExactValueToken.
-     *
-     * @param array|\ArrayAccess|\Traversable $argument
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        if ($argument instanceof \Traversable) {
-            $argument = iterator_to_array($argument);
-        }
-
-        if ($argument instanceof \ArrayAccess) {
-            $argument = $this->convertArrayAccessToEntry($argument);
-        }
-
-        if (!is_array($argument) || empty($argument)) {
-            return false;
-        }
-
-        $keyScores = array_map(array($this->key,'scoreArgument'), array_keys($argument));
-        $valueScores = array_map(array($this->value,'scoreArgument'), $argument);
-        $scoreEntry = function ($value, $key) {
-            return $value && $key ? min(8, ($key + $value) / 2) : false;
-        };
-
-        return max(array_map($scoreEntry, $valueScores, $keyScores));
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return boolean
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('[..., %s => %s, ...]', $this->key, $this->value);
-    }
-
-    /**
-     * Returns key
-     *
-     * @return TokenInterface
-     */
-    public function getKey()
-    {
-        return $this->key;
-    }
-
-    /**
-     * Returns value
-     *
-     * @return TokenInterface
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Wraps non token $value into ExactValueToken
-     *
-     * @param $value
-     * @return TokenInterface
-     */
-    private function wrapIntoExactValueToken($value)
-    {
-        return $value instanceof TokenInterface ? $value : new ExactValueToken($value);
-    }
-
-    /**
-     * Converts instance of \ArrayAccess to key => value array entry
-     *
-     * @param \ArrayAccess $object
-     *
-     * @return array|null
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    private function convertArrayAccessToEntry(\ArrayAccess $object)
-    {
-        if (!$this->key instanceof ExactValueToken) {
-            throw new InvalidArgumentException(sprintf(
-                'You can only use exact value tokens to match key of ArrayAccess object'.PHP_EOL.
-                'But you used `%s`.',
-                $this->key
-            ));
-        }
-
-        $key = $this->key->getValue();
-
-        return $object->offsetExists($key) ? array($key => $object[$key]) : array();
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php
deleted file mode 100644
index 5d41fa4..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Array every entry token.
- *
- * @author Adrien Brault <adrien.brault@gmail.com>
- */
-class ArrayEveryEntryToken implements TokenInterface
-{
-    /**
-     * @var TokenInterface
-     */
-    private $value;
-
-    /**
-     * @param mixed $value exact value or token
-     */
-    public function __construct($value)
-    {
-        if (!$value instanceof TokenInterface) {
-            $value = new ExactValueToken($value);
-        }
-
-        $this->value = $value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function scoreArgument($argument)
-    {
-        if (!$argument instanceof \Traversable && !is_array($argument)) {
-            return false;
-        }
-
-        $scores = array();
-        foreach ($argument as $key => $argumentEntry) {
-            $scores[] = $this->value->scoreArgument($argumentEntry);
-        }
-
-        if (empty($scores) || in_array(false, $scores, true)) {
-            return false;
-        }
-
-        return array_sum($scores) / count($scores);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        return sprintf('[%s, ..., %s]', $this->value, $this->value);
-    }
-
-    /**
-     * @return TokenInterface
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php
deleted file mode 100644
index f45ba20..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use Prophecy\Exception\InvalidArgumentException;
-
-/**
- * Callback-verified token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallbackToken implements TokenInterface
-{
-    private $callback;
-
-    /**
-     * Initializes token.
-     *
-     * @param callable $callback
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function __construct($callback)
-    {
-        if (!is_callable($callback)) {
-            throw new InvalidArgumentException(sprintf(
-                'Callable expected as an argument to CallbackToken, but got %s.',
-                gettype($callback)
-            ));
-        }
-
-        $this->callback = $callback;
-    }
-
-    /**
-     * Scores 7 if callback returns true, false otherwise.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        return call_user_func($this->callback, $argument) ? 7 : false;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'callback()';
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php
deleted file mode 100644
index ba895ab..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use SebastianBergmann\Comparator\Factory as ComparatorFactory;
-use SebastianBergmann\Comparator\ComparisonFailure;
-use Prophecy\Util\StringUtil;
-
-/**
- * Exact value token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ExactValueToken implements TokenInterface
-{
-    private $value;
-    private $string;
-    private $util;
-    private $comparatorFactory;
-
-    /**
-     * Initializes token.
-     *
-     * @param mixed             $value
-     * @param StringUtil        $util
-     * @param ComparatorFactory $comparatorFactory
-     */
-    public function __construct($value, StringUtil $util = null, ComparatorFactory $comparatorFactory = null)
-    {
-        $this->value = $value;
-        $this->util  = $util ?: new StringUtil();
-
-        $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance();
-    }
-
-    /**
-     * Scores 10 if argument matches preset value.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        if (is_object($argument) && is_object($this->value)) {
-            $comparator = $this->comparatorFactory->getComparatorFor(
-                $argument, $this->value
-            );
-
-            try {
-                $comparator->assertEquals($argument, $this->value);
-                return 10;
-            } catch (ComparisonFailure $failure) {}
-        }
-
-        // If either one is an object it should castable to a string
-        if (is_object($argument) xor is_object($this->value)) {
-            if (is_object($argument) && !method_exists($argument, '__toString')) {
-                return false;
-            }
-
-            if (is_object($this->value) && !method_exists($this->value, '__toString')) {
-                return false;
-            }
-        } elseif (is_numeric($argument) && is_numeric($this->value)) {
-            // noop
-        } elseif (gettype($argument) !== gettype($this->value)) {
-            return false;
-        }
-
-        return $argument == $this->value ? 10 : false;
-    }
-
-    /**
-     * Returns preset value against which token checks arguments.
-     *
-     * @return mixed
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        if (null === $this->string) {
-            $this->string = sprintf('exact(%s)', $this->util->stringify($this->value));
-        }
-
-        return $this->string;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php
deleted file mode 100644
index 0b6d23a..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use Prophecy\Util\StringUtil;
-
-/**
- * Identical value token.
- *
- * @author Florian Voutzinos <florian@voutzinos.com>
- */
-class IdenticalValueToken implements TokenInterface
-{
-    private $value;
-    private $string;
-    private $util;
-
-    /**
-     * Initializes token.
-     *
-     * @param mixed      $value
-     * @param StringUtil $util
-     */
-    public function __construct($value, StringUtil $util = null)
-    {
-        $this->value = $value;
-        $this->util  = $util ?: new StringUtil();
-    }
-
-    /**
-     * Scores 11 if argument matches preset value.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        return $argument === $this->value ? 11 : false;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        if (null === $this->string) {
-            $this->string = sprintf('identical(%s)', $this->util->stringify($this->value));
-        }
-
-        return $this->string;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php
deleted file mode 100644
index 4ee1b25..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Logical AND token.
- *
- * @author Boris Mikhaylov <kaguxmail@gmail.com>
- */
-class LogicalAndToken implements TokenInterface
-{
-    private $tokens = array();
-
-    /**
-     * @param array $arguments exact values or tokens
-     */
-    public function __construct(array $arguments)
-    {
-        foreach ($arguments as $argument) {
-            if (!$argument instanceof TokenInterface) {
-                $argument = new ExactValueToken($argument);
-            }
-            $this->tokens[] = $argument;
-        }
-    }
-
-    /**
-     * Scores maximum score from scores returned by tokens for this argument if all of them score.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        if (0 === count($this->tokens)) {
-            return false;
-        }
-
-        $maxScore = 0;
-        foreach ($this->tokens as $token) {
-            $score = $token->scoreArgument($argument);
-            if (false === $score) {
-                return false;
-            }
-            $maxScore = max($score, $maxScore);
-        }
-
-        return $maxScore;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return boolean
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('bool(%s)', implode(' AND ', $this->tokens));
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php
deleted file mode 100644
index 623efa5..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Logical NOT token.
- *
- * @author Boris Mikhaylov <kaguxmail@gmail.com>
- */
-class LogicalNotToken implements TokenInterface
-{
-    /** @var \Prophecy\Argument\Token\TokenInterface  */
-    private $token;
-
-    /**
-     * @param mixed $value exact value or token
-     */
-    public function __construct($value)
-    {
-        $this->token = $value instanceof TokenInterface? $value : new ExactValueToken($value);
-    }
-
-    /**
-     * Scores 4 when preset token does not match the argument.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        return false === $this->token->scoreArgument($argument) ? 4 : false;
-    }
-
-    /**
-     * Returns true if preset token is last.
-     *
-     * @return bool|int
-     */
-    public function isLast()
-    {
-        return $this->token->isLast();
-    }
-
-    /**
-     * Returns originating token.
-     *
-     * @return TokenInterface
-     */
-    public function getOriginatingToken()
-    {
-        return $this->token;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('not(%s)', $this->token);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php
deleted file mode 100644
index ea38fe1..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use SebastianBergmann\Comparator\Factory as ComparatorFactory;
-use SebastianBergmann\Comparator\ComparisonFailure;
-use Prophecy\Util\StringUtil;
-
-/**
- * Object state-checker token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ObjectStateToken implements TokenInterface
-{
-    private $name;
-    private $value;
-    private $util;
-    private $comparatorFactory;
-
-    /**
-     * Initializes token.
-     *
-     * @param string            $methodName
-     * @param mixed             $value             Expected return value
-     * @param null|StringUtil   $util
-     * @param ComparatorFactory $comparatorFactory
-     */
-    public function __construct(
-        $methodName,
-        $value,
-        StringUtil $util = null,
-        ComparatorFactory $comparatorFactory = null
-    ) {
-        $this->name  = $methodName;
-        $this->value = $value;
-        $this->util  = $util ?: new StringUtil;
-
-        $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance();
-    }
-
-    /**
-     * Scores 8 if argument is an object, which method returns expected value.
-     *
-     * @param mixed $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        if (is_object($argument) && method_exists($argument, $this->name)) {
-            $actual = call_user_func(array($argument, $this->name));
-
-            $comparator = $this->comparatorFactory->getComparatorFor(
-                $actual, $this->value
-            );
-
-            try {
-                $comparator->assertEquals($actual, $this->value);
-                return 8;
-            } catch (ComparisonFailure $failure) {
-                return false;
-            }
-        }
-
-        if (is_object($argument) && property_exists($argument, $this->name)) {
-            return $argument->{$this->name} === $this->value ? 8 : false;
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('state(%s(), %s)',
-            $this->name,
-            $this->util->stringify($this->value)
-        );
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php
deleted file mode 100644
index 24ff8c2..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * String contains token.
- *
- * @author Peter Mitchell <pete@peterjmit.com>
- */
-class StringContainsToken implements TokenInterface
-{
-    private $value;
-
-    /**
-     * Initializes token.
-     *
-     * @param string $value
-     */
-    public function __construct($value)
-    {
-        $this->value = $value;
-    }
-
-    public function scoreArgument($argument)
-    {
-        return strpos($argument, $this->value) !== false ? 6 : false;
-    }
-
-    /**
-     * Returns preset value against which token checks arguments.
-     *
-     * @return mixed
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('contains("%s")', $this->value);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php
deleted file mode 100644
index 625d3ba..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Argument token interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface TokenInterface
-{
-    /**
-     * Calculates token match score for provided argument.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument);
-
-    /**
-     * Returns true if this token prevents check of other tokens (is last one).
-     *
-     * @return bool|int
-     */
-    public function isLast();
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString();
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php b/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php
deleted file mode 100644
index cb65132..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use Prophecy\Exception\InvalidArgumentException;
-
-/**
- * Value type token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class TypeToken implements TokenInterface
-{
-    private $type;
-
-    /**
-     * @param string $type
-     */
-    public function __construct($type)
-    {
-        $checker = "is_{$type}";
-        if (!function_exists($checker) && !interface_exists($type) && !class_exists($type)) {
-            throw new InvalidArgumentException(sprintf(
-                'Type or class name expected as an argument to TypeToken, but got %s.', $type
-            ));
-        }
-
-        $this->type = $type;
-    }
-
-    /**
-     * Scores 5 if argument has the same type this token was constructed with.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        $checker = "is_{$this->type}";
-        if (function_exists($checker)) {
-            return call_user_func($checker, $argument) ? 5 : false;
-        }
-
-        return $argument instanceof $this->type ? 5 : false;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('type(%s)', $this->type);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php b/core/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php
deleted file mode 100644
index 2f3fbad..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Call;
-
-use Exception;
-
-/**
- * Call object.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Call
-{
-    private $methodName;
-    private $arguments;
-    private $returnValue;
-    private $exception;
-    private $file;
-    private $line;
-
-    /**
-     * Initializes call.
-     *
-     * @param string      $methodName
-     * @param array       $arguments
-     * @param mixed       $returnValue
-     * @param Exception   $exception
-     * @param null|string $file
-     * @param null|int    $line
-     */
-    public function __construct($methodName, array $arguments, $returnValue,
-                                Exception $exception = null, $file, $line)
-    {
-        $this->methodName  = $methodName;
-        $this->arguments   = $arguments;
-        $this->returnValue = $returnValue;
-        $this->exception   = $exception;
-
-        if ($file) {
-            $this->file = $file;
-            $this->line = intval($line);
-        }
-    }
-
-    /**
-     * Returns called method name.
-     *
-     * @return string
-     */
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-
-    /**
-     * Returns called method arguments.
-     *
-     * @return array
-     */
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    /**
-     * Returns called method return value.
-     *
-     * @return null|mixed
-     */
-    public function getReturnValue()
-    {
-        return $this->returnValue;
-    }
-
-    /**
-     * Returns exception that call thrown.
-     *
-     * @return null|Exception
-     */
-    public function getException()
-    {
-        return $this->exception;
-    }
-
-    /**
-     * Returns callee filename.
-     *
-     * @return string
-     */
-    public function getFile()
-    {
-        return $this->file;
-    }
-
-    /**
-     * Returns callee line number.
-     *
-     * @return int
-     */
-    public function getLine()
-    {
-        return $this->line;
-    }
-
-    /**
-     * Returns short notation for callee place.
-     *
-     * @return string
-     */
-    public function getCallPlace()
-    {
-        if (null === $this->file) {
-            return 'unknown';
-        }
-
-        return sprintf('%s:%d', $this->file, $this->line);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php b/core/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php
deleted file mode 100644
index 7495855..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Call;
-
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Argument\ArgumentsWildcard;
-use Prophecy\Util\StringUtil;
-use Prophecy\Exception\Call\UnexpectedCallException;
-
-/**
- * Calls receiver & manager.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallCenter
-{
-    private $util;
-
-    /**
-     * @var Call[]
-     */
-    private $recordedCalls = array();
-
-    /**
-     * Initializes call center.
-     *
-     * @param StringUtil $util
-     */
-    public function __construct(StringUtil $util = null)
-    {
-        $this->util = $util ?: new StringUtil;
-    }
-
-    /**
-     * Makes and records specific method call for object prophecy.
-     *
-     * @param ObjectProphecy $prophecy
-     * @param string         $methodName
-     * @param array          $arguments
-     *
-     * @return mixed Returns null if no promise for prophecy found or promise return value.
-     *
-     * @throws \Prophecy\Exception\Call\UnexpectedCallException If no appropriate method prophecy found
-     */
-    public function makeCall(ObjectProphecy $prophecy, $methodName, array $arguments)
-    {
-        $backtrace = debug_backtrace();
-
-        $file = $line = null;
-        if (isset($backtrace[2]) && isset($backtrace[2]['file'])) {
-            $file = $backtrace[2]['file'];
-            $line = $backtrace[2]['line'];
-        }
-
-        // If no method prophecies defined, then it's a dummy, so we'll just return null
-        if ('__destruct' === $methodName || 0 == count($prophecy->getMethodProphecies())) {
-            $this->recordedCalls[] = new Call($methodName, $arguments, null, null, $file, $line);
-
-            return null;
-        }
-
-        // There are method prophecies, so it's a fake/stub. Searching prophecy for this call
-        $matches = array();
-        foreach ($prophecy->getMethodProphecies($methodName) as $methodProphecy) {
-            if (0 < $score = $methodProphecy->getArgumentsWildcard()->scoreArguments($arguments)) {
-                $matches[] = array($score, $methodProphecy);
-            }
-        }
-
-        // If fake/stub doesn't have method prophecy for this call - throw exception
-        if (!count($matches)) {
-            throw $this->createUnexpectedCallException($prophecy, $methodName, $arguments);
-        }
-
-        // Sort matches by their score value
-        @usort($matches, function ($match1, $match2) { return $match2[0] - $match1[0]; });
-
-        // If Highest rated method prophecy has a promise - execute it or return null instead
-        $returnValue = null;
-        $exception   = null;
-        if ($promise = $matches[0][1]->getPromise()) {
-            try {
-                $returnValue = $promise->execute($arguments, $prophecy, $matches[0][1]);
-            } catch (\Exception $e) {
-                $exception = $e;
-            }
-        }
-
-        $this->recordedCalls[] = new Call(
-            $methodName, $arguments, $returnValue, $exception, $file, $line
-        );
-
-        if (null !== $exception) {
-            throw $exception;
-        }
-
-        return $returnValue;
-    }
-
-    /**
-     * Searches for calls by method name & arguments wildcard.
-     *
-     * @param string            $methodName
-     * @param ArgumentsWildcard $wildcard
-     *
-     * @return Call[]
-     */
-    public function findCalls($methodName, ArgumentsWildcard $wildcard)
-    {
-        return array_values(
-            array_filter($this->recordedCalls, function (Call $call) use ($methodName, $wildcard) {
-                return $methodName === $call->getMethodName()
-                    && 0 < $wildcard->scoreArguments($call->getArguments())
-                ;
-            })
-        );
-    }
-
-    private function createUnexpectedCallException(ObjectProphecy $prophecy, $methodName,
-                                                   array $arguments)
-    {
-        $classname = get_class($prophecy->reveal());
-        $argstring = implode(', ', array_map(array($this->util, 'stringify'), $arguments));
-        $expected  = implode("\n", array_map(function (MethodProphecy $methodProphecy) {
-            return sprintf('  - %s(%s)',
-                $methodProphecy->getMethodName(),
-                $methodProphecy->getArgumentsWildcard()
-            );
-        }, call_user_func_array('array_merge', $prophecy->getMethodProphecies())));
-
-        return new UnexpectedCallException(
-            sprintf(
-                "Method call:\n".
-                "  - %s(%s)\n".
-                "on %s was not expected, expected calls were:\n%s",
-
-                $methodName, $argstring, $classname, $expected
-            ),
-            $prophecy, $methodName, $arguments
-        );
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php
deleted file mode 100644
index d6b6b1a..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler;
-
-use ReflectionClass;
-
-/**
- * Cached class doubler.
- * Prevents mirroring/creation of the same structure twice.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CachedDoubler extends Doubler
-{
-    private $classes = array();
-
-    /**
-     * {@inheritdoc}
-     */
-    public function registerClassPatch(ClassPatch\ClassPatchInterface $patch)
-    {
-        $this->classes[] = array();
-
-        parent::registerClassPatch($patch);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function createDoubleClass(ReflectionClass $class = null, array $interfaces)
-    {
-        $classId = $this->generateClassId($class, $interfaces);
-        if (isset($this->classes[$classId])) {
-            return $this->classes[$classId];
-        }
-
-        return $this->classes[$classId] = parent::createDoubleClass($class, $interfaces);
-    }
-
-    /**
-     * @param ReflectionClass   $class
-     * @param ReflectionClass[] $interfaces
-     *
-     * @return string
-     */
-    private function generateClassId(ReflectionClass $class = null, array $interfaces)
-    {
-        $parts = array();
-        if (null !== $class) {
-            $parts[] = $class->getName();
-        }
-        foreach ($interfaces as $interface) {
-            $parts[] = $interface->getName();
-        }
-        sort($parts);
-
-        return md5(implode('', $parts));
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php
deleted file mode 100644
index d6d1968..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-
-/**
- * Class patch interface.
- * Class patches extend doubles functionality or help
- * Prophecy to avoid some internal PHP bugs.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface ClassPatchInterface
-{
-    /**
-     * Checks if patch supports specific class node.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node);
-
-    /**
-     * Applies patch to the specific class node.
-     *
-     * @param ClassNode $node
-     * @return void
-     */
-    public function apply(ClassNode $node);
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority();
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php
deleted file mode 100644
index 61998fc..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-
-/**
- * Disable constructor.
- * Makes all constructor arguments optional.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class DisableConstructorPatch implements ClassPatchInterface
-{
-    /**
-     * Checks if class has `__construct` method.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        return true;
-    }
-
-    /**
-     * Makes all class constructor arguments optional.
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        if (!$node->hasMethod('__construct')) {
-            $node->addMethod(new MethodNode('__construct', ''));
-
-            return;
-        }
-
-        $constructor = $node->getMethod('__construct');
-        foreach ($constructor->getArguments() as $argument) {
-            $argument->setDefault(null);
-        }
-
-        $constructor->setCode(<<<PHP
-if (0 < func_num_args()) {
-    call_user_func_array(array('parent', '__construct'), func_get_args());
-}
-PHP
-        );
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority()
-    {
-        return 100;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php
deleted file mode 100644
index fa38fc0..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-
-/**
- * Exception patch for HHVM to remove the stubs from special methods
- *
- * @author Christophe Coevoet <stof@notk.org>
- */
-class HhvmExceptionPatch implements ClassPatchInterface
-{
-    /**
-     * Supports exceptions on HHVM.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        if (!defined('HHVM_VERSION')) {
-            return false;
-        }
-
-        return 'Exception' === $node->getParentClass() || is_subclass_of($node->getParentClass(), 'Exception');
-    }
-
-    /**
-     * Removes special exception static methods from the doubled methods.
-     *
-     * @param ClassNode $node
-     *
-     * @return void
-     */
-    public function apply(ClassNode $node)
-    {
-        if ($node->hasMethod('setTraceOptions')) {
-            $node->getMethod('setTraceOptions')->useParentCode();
-        }
-        if ($node->hasMethod('getTraceOptions')) {
-            $node->getMethod('getTraceOptions')->useParentCode();
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPriority()
-    {
-        return -50;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php
deleted file mode 100644
index b0d9793..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-
-/**
- * Remove method functionality from the double which will clash with php keywords.
- *
- * @author Milan Magudia <milan@magudia.com>
- */
-class KeywordPatch implements ClassPatchInterface
-{
-    /**
-     * Support any class
-     *
-     * @param ClassNode $node
-     *
-     * @return boolean
-     */
-    public function supports(ClassNode $node)
-    {
-        return true;
-    }
-
-    /**
-     * Remove methods that clash with php keywords
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        $methodNames = array_keys($node->getMethods());
-        $methodsToRemove = array_intersect($methodNames, $this->getKeywords());
-        foreach ($methodsToRemove as $methodName) {
-            $node->removeMethod($methodName);
-        }
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority() {
-        return 49;
-    }
-
-    /**
-     * Returns array of php keywords.
-     *
-     * @return array
-     */
-    private function getKeywords() {
-
-        return array(
-            '__halt_compiler',
-            'abstract',
-            'and',
-            'array',
-            'as',
-            'break',
-            'callable',
-            'case',
-            'catch',
-            'class',
-            'clone',
-            'const',
-            'continue',
-            'declare',
-            'default',
-            'die',
-            'do',
-            'echo',
-            'else',
-            'elseif',
-            'empty',
-            'enddeclare',
-            'endfor',
-            'endforeach',
-            'endif',
-            'endswitch',
-            'endwhile',
-            'eval',
-            'exit',
-            'extends',
-            'final',
-            'finally',
-            'for',
-            'foreach',
-            'function',
-            'global',
-            'goto',
-            'if',
-            'implements',
-            'include',
-            'include_once',
-            'instanceof',
-            'insteadof',
-            'interface',
-            'isset',
-            'list',
-            'namespace',
-            'new',
-            'or',
-            'print',
-            'private',
-            'protected',
-            'public',
-            'require',
-            'require_once',
-            'return',
-            'static',
-            'switch',
-            'throw',
-            'trait',
-            'try',
-            'unset',
-            'use',
-            'var',
-            'while',
-            'xor',
-            'yield',
-        );
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php
deleted file mode 100644
index da45450..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use phpDocumentor\Reflection\DocBlock;
-use Prophecy\Doubler\Generator\Node\ClassNode;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-
-/**
- * Discover Magical API using "@method" PHPDoc format.
- *
- * @author Thomas Tourlourat <thomas@tourlourat.com>
- */
-class MagicCallPatch implements ClassPatchInterface
-{
-    /**
-     * Support any class
-     *
-     * @param ClassNode $node
-     *
-     * @return boolean
-     */
-    public function supports(ClassNode $node)
-    {
-        return true;
-    }
-
-    /**
-     * Discover Magical API
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        $parentClass = $node->getParentClass();
-        $reflectionClass = new \ReflectionClass($parentClass);
-
-        $phpdoc = new DocBlock($reflectionClass->getDocComment());
-
-        $tagList = $phpdoc->getTagsByName('method');
-
-        foreach($tagList as $tag) {
-            $methodName = $tag->getMethodName();
-
-            if (!$reflectionClass->hasMethod($methodName)) {
-                $methodNode = new MethodNode($tag->getMethodName());
-                $methodNode->setStatic($tag->isStatic());
-
-                $node->addMethod($methodNode);
-            }
-        }
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return integer Priority number (higher - earlier)
-     */
-    public function getPriority()
-    {
-        return 50;
-    }
-}
-
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php
deleted file mode 100644
index ab0bb7c..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-use Prophecy\Doubler\Generator\Node\ArgumentNode;
-
-/**
- * Add Prophecy functionality to the double.
- * This is a core class patch for Prophecy.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ProphecySubjectPatch implements ClassPatchInterface
-{
-    /**
-     * Always returns true.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        return true;
-    }
-
-    /**
-     * Apply Prophecy functionality to class node.
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        $node->addInterface('Prophecy\Prophecy\ProphecySubjectInterface');
-        $node->addProperty('objectProphecy', 'private');
-
-        foreach ($node->getMethods() as $name => $method) {
-            if ('__construct' === strtolower($name)) {
-                continue;
-            }
-
-            $method->setCode(
-                'return $this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());'
-            );
-        }
-
-        $prophecySetter = new MethodNode('setProphecy');
-        $prophecyArgument = new ArgumentNode('prophecy');
-        $prophecyArgument->setTypeHint('Prophecy\Prophecy\ProphecyInterface');
-        $prophecySetter->addArgument($prophecyArgument);
-        $prophecySetter->setCode('$this->objectProphecy = $prophecy;');
-
-        $prophecyGetter = new MethodNode('getProphecy');
-        $prophecyGetter->setCode('return $this->objectProphecy;');
-
-        if ($node->hasMethod('__call')) {
-            $__call = $node->getMethod('__call');
-        } else {
-            $__call = new MethodNode('__call');
-            $__call->addArgument(new ArgumentNode('name'));
-            $__call->addArgument(new ArgumentNode('arguments'));
-
-            $node->addMethod($__call);
-        }
-
-        $__call->setCode(<<<PHP
-throw new \Prophecy\Exception\Doubler\MethodNotFoundException(
-    sprintf('Method `%s::%s()` not found.', get_class(\$this), func_get_arg(0)),
-    \$this->getProphecy(), func_get_arg(0)
-);
-PHP
-        );
-
-        $node->addMethod($prophecySetter);
-        $node->addMethod($prophecyGetter);
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority()
-    {
-        return 0;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php
deleted file mode 100644
index 9166aee..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-
-/**
- * ReflectionClass::newInstance patch.
- * Makes first argument of newInstance optional, since it works but signature is misleading
- *
- * @author Florian Klein <florian.klein@free.fr>
- */
-class ReflectionClassNewInstancePatch implements ClassPatchInterface
-{
-    /**
-     * Supports ReflectionClass
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        return 'ReflectionClass' === $node->getParentClass();
-    }
-
-    /**
-     * Updates newInstance's first argument to make it optional
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        foreach ($node->getMethod('newInstance')->getArguments() as $argument) {
-            $argument->setDefault(null);
-        }
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher = earlier)
-     */
-    public function getPriority()
-    {
-        return 50;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php
deleted file mode 100644
index 8401159..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-
-/**
- * SplFileInfo patch.
- * Makes SplFileInfo and derivative classes usable with Prophecy.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class SplFileInfoPatch implements ClassPatchInterface
-{
-    /**
-     * Supports everything that extends SplFileInfo.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        if (null === $node->getParentClass()) {
-            return false;
-        }
-
-        return 'SplFileInfo' === $node->getParentClass()
-            || is_subclass_of($node->getParentClass(), 'SplFileInfo')
-        ;
-    }
-
-    /**
-     * Updated constructor code to call parent one with dummy file argument.
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        if ($node->hasMethod('__construct')) {
-            $constructor = $node->getMethod('__construct');
-        } else {
-            $constructor = new MethodNode('__construct');
-            $node->addMethod($constructor);
-        }
-
-        if ($this->nodeIsDirectoryIterator($node)) {
-            $constructor->setCode('return parent::__construct("' . __DIR__ . '");');
-            return;
-        }
-
-        $constructor->useParentCode();
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority()
-    {
-        return 50;
-    }
-
-    /**
-     * @param ClassNode $node
-     * @return boolean
-     */
-    private function nodeIsDirectoryIterator(ClassNode $node)
-    {
-        $parent = $node->getParentClass();
-        return 'DirectoryIterator' === $parent
-            || is_subclass_of($parent, 'DirectoryIterator');
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php
deleted file mode 100644
index eea0202..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-
-/**
- * Traversable interface patch.
- * Forces classes that implement interfaces, that extend Traversable to also implement Iterator.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class TraversablePatch implements ClassPatchInterface
-{
-    /**
-     * Supports nodetree, that implement Traversable, but not Iterator or IteratorAggregate.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        if (in_array('Iterator', $node->getInterfaces())) {
-            return false;
-        }
-        if (in_array('IteratorAggregate', $node->getInterfaces())) {
-            return false;
-        }
-
-        foreach ($node->getInterfaces() as $interface) {
-            if ('Traversable' !== $interface && !is_subclass_of($interface, 'Traversable')) {
-                continue;
-            }
-            if ('Iterator' === $interface || is_subclass_of($interface, 'Iterator')) {
-                continue;
-            }
-            if ('IteratorAggregate' === $interface || is_subclass_of($interface, 'IteratorAggregate')) {
-                continue;
-            }
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Forces class to implement Iterator interface.
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        $node->addInterface('Iterator');
-
-        $node->addMethod(new MethodNode('current'));
-        $node->addMethod(new MethodNode('key'));
-        $node->addMethod(new MethodNode('next'));
-        $node->addMethod(new MethodNode('rewind'));
-        $node->addMethod(new MethodNode('valid'));
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority()
-    {
-        return 100;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php
deleted file mode 100644
index 699be3a..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler;
-
-/**
- * Core double interface.
- * All doubled classes will implement this one.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface DoubleInterface
-{
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php
deleted file mode 100644
index a378ae2..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php
+++ /dev/null
@@ -1,146 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler;
-
-use Doctrine\Instantiator\Instantiator;
-use Prophecy\Doubler\ClassPatch\ClassPatchInterface;
-use Prophecy\Doubler\Generator\ClassMirror;
-use Prophecy\Doubler\Generator\ClassCreator;
-use Prophecy\Exception\InvalidArgumentException;
-use ReflectionClass;
-
-/**
- * Cached class doubler.
- * Prevents mirroring/creation of the same structure twice.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Doubler
-{
-    private $mirror;
-    private $creator;
-    private $namer;
-
-    /**
-     * @var ClassPatchInterface[]
-     */
-    private $patches = array();
-
-    /**
-     * @var \Doctrine\Instantiator\Instantiator
-     */
-    private $instantiator;
-
-    /**
-     * Initializes doubler.
-     *
-     * @param ClassMirror   $mirror
-     * @param ClassCreator  $creator
-     * @param NameGenerator $namer
-     */
-    public function __construct(ClassMirror $mirror = null, ClassCreator $creator = null,
-                                NameGenerator $namer = null)
-    {
-        $this->mirror  = $mirror  ?: new ClassMirror;
-        $this->creator = $creator ?: new ClassCreator;
-        $this->namer   = $namer   ?: new NameGenerator;
-    }
-
-    /**
-     * Returns list of registered class patches.
-     *
-     * @return ClassPatchInterface[]
-     */
-    public function getClassPatches()
-    {
-        return $this->patches;
-    }
-
-    /**
-     * Registers new class patch.
-     *
-     * @param ClassPatchInterface $patch
-     */
-    public function registerClassPatch(ClassPatchInterface $patch)
-    {
-        $this->patches[] = $patch;
-
-        @usort($this->patches, function (ClassPatchInterface $patch1, ClassPatchInterface $patch2) {
-            return $patch2->getPriority() - $patch1->getPriority();
-        });
-    }
-
-    /**
-     * Creates double from specific class or/and list of interfaces.
-     *
-     * @param ReflectionClass   $class
-     * @param ReflectionClass[] $interfaces Array of ReflectionClass instances
-     * @param array             $args       Constructor arguments
-     *
-     * @return DoubleInterface
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function double(ReflectionClass $class = null, array $interfaces, array $args = null)
-    {
-        foreach ($interfaces as $interface) {
-            if (!$interface instanceof ReflectionClass) {
-                throw new InvalidArgumentException(sprintf(
-                    "[ReflectionClass \$interface1 [, ReflectionClass \$interface2]] array expected as\n".
-                    "a second argument to `Doubler::double(...)`, but got %s.",
-                    is_object($interface) ? get_class($interface).' class' : gettype($interface)
-                ));
-            }
-        }
-
-        $classname  = $this->createDoubleClass($class, $interfaces);
-        $reflection = new ReflectionClass($classname);
-
-        if (null !== $args) {
-            return $reflection->newInstanceArgs($args);
-        }
-        if ((null === $constructor = $reflection->getConstructor())
-            || ($constructor->isPublic() && !$constructor->isFinal())) {
-            return $reflection->newInstance();
-        }
-
-        if (!$this->instantiator) {
-            $this->instantiator = new Instantiator();
-        }
-
-        return $this->instantiator->instantiate($classname);
-    }
-
-    /**
-     * Creates double class and returns its FQN.
-     *
-     * @param ReflectionClass   $class
-     * @param ReflectionClass[] $interfaces
-     *
-     * @return string
-     */
-    protected function createDoubleClass(ReflectionClass $class = null, array $interfaces)
-    {
-        $name = $this->namer->name($class, $interfaces);
-        $node = $this->mirror->reflect($class, $interfaces);
-
-        foreach ($this->patches as $patch) {
-            if ($patch->supports($node)) {
-                $patch->apply($node);
-            }
-        }
-
-        $this->creator->create($name, $node);
-
-        return $name;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php
deleted file mode 100644
index 8577ba0..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator;
-
-/**
- * Class code creator.
- * Generates PHP code for specific class node tree.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ClassCodeGenerator
-{
-    /**
-     * Generates PHP code for class node.
-     *
-     * @param string         $classname
-     * @param Node\ClassNode $class
-     *
-     * @return string
-     */
-    public function generate($classname, Node\ClassNode $class)
-    {
-        $parts     = explode('\\', $classname);
-        $classname = array_pop($parts);
-        $namespace = implode('\\', $parts);
-
-        $code = sprintf("class %s extends \%s implements %s {\n",
-            $classname, $class->getParentClass(), implode(', ',
-                array_map(function ($interface) {return '\\'.$interface;}, $class->getInterfaces())
-            )
-        );
-
-        foreach ($class->getProperties() as $name => $visibility) {
-            $code .= sprintf("%s \$%s;\n", $visibility, $name);
-        }
-        $code .= "\n";
-
-        foreach ($class->getMethods() as $method) {
-            $code .= $this->generateMethod($method)."\n";
-        }
-        $code .= "\n}";
-
-        return sprintf("namespace %s {\n%s\n}", $namespace, $code);
-    }
-
-    private function generateMethod(Node\MethodNode $method)
-    {
-        $php = sprintf("%s %s function %s%s(%s) {\n",
-            $method->getVisibility(),
-            $method->isStatic() ? 'static' : '',
-            $method->returnsReference() ? '&':'',
-            $method->getName(),
-            implode(', ', $this->generateArguments($method->getArguments()))
-        );
-        $php .= $method->getCode()."\n";
-
-        return $php.'}';
-    }
-
-    private function generateArguments(array $arguments)
-    {
-        return array_map(function (Node\ArgumentNode $argument) {
-            $php = '';
-
-            if ($hint = $argument->getTypeHint()) {
-                if ('array' === $hint || 'callable' === $hint) {
-                    $php .= $hint;
-                } else {
-                    $php .= '\\'.$hint;
-                }
-            }
-
-            $php .= ' '.($argument->isPassedByReference() ? '&' : '').'$'.$argument->getName();
-
-            if ($argument->isOptional()) {
-                $php .= ' = '.var_export($argument->getDefault(), true);
-            }
-
-            return $php;
-        }, $arguments);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php
deleted file mode 100644
index 882a4a4..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator;
-
-use Prophecy\Exception\Doubler\ClassCreatorException;
-
-/**
- * Class creator.
- * Creates specific class in current environment.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ClassCreator
-{
-    private $generator;
-
-    /**
-     * Initializes creator.
-     *
-     * @param ClassCodeGenerator $generator
-     */
-    public function __construct(ClassCodeGenerator $generator = null)
-    {
-        $this->generator = $generator ?: new ClassCodeGenerator;
-    }
-
-    /**
-     * Creates class.
-     *
-     * @param string         $classname
-     * @param Node\ClassNode $class
-     *
-     * @return mixed
-     *
-     * @throws \Prophecy\Exception\Doubler\ClassCreatorException
-     */
-    public function create($classname, Node\ClassNode $class)
-    {
-        $code = $this->generator->generate($classname, $class);
-        $return = eval($code);
-
-        if (!class_exists($classname, false)) {
-            if (count($class->getInterfaces())) {
-                throw new ClassCreatorException(sprintf(
-                    'Could not double `%s` and implement interfaces: [%s].',
-                    $class->getParentClass(), implode(', ', $class->getInterfaces())
-                ), $class);
-            }
-
-            throw new ClassCreatorException(
-                sprintf('Could not double `%s`.', $class->getParentClass()),
-                $class
-            );
-        }
-
-        return $return;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php
deleted file mode 100644
index c89d002..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php
+++ /dev/null
@@ -1,202 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator;
-
-use Prophecy\Exception\InvalidArgumentException;
-use Prophecy\Exception\Doubler\ClassMirrorException;
-use ReflectionClass;
-use ReflectionMethod;
-use ReflectionParameter;
-
-/**
- * Class mirror.
- * Core doubler class. Mirrors specific class and/or interfaces into class node tree.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ClassMirror
-{
-    private static $reflectableMethods = array(
-        '__construct',
-        '__destruct',
-        '__sleep',
-        '__wakeup',
-        '__toString',
-        '__call',
-    );
-
-    /**
-     * Reflects provided arguments into class node.
-     *
-     * @param ReflectionClass   $class
-     * @param ReflectionClass[] $interfaces
-     *
-     * @return Node\ClassNode
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function reflect(ReflectionClass $class = null, array $interfaces)
-    {
-        $node = new Node\ClassNode;
-
-        if (null !== $class) {
-            if (true === $class->isInterface()) {
-                throw new InvalidArgumentException(sprintf(
-                    "Could not reflect %s as a class, because it\n".
-                    "is interface - use the second argument instead.",
-                    $class->getName()
-                ));
-            }
-
-            $this->reflectClassToNode($class, $node);
-        }
-
-        foreach ($interfaces as $interface) {
-            if (!$interface instanceof ReflectionClass) {
-                throw new InvalidArgumentException(sprintf(
-                    "[ReflectionClass \$interface1 [, ReflectionClass \$interface2]] array expected as\n".
-                    "a second argument to `ClassMirror::reflect(...)`, but got %s.",
-                    is_object($interface) ? get_class($interface).' class' : gettype($interface)
-                ));
-            }
-            if (false === $interface->isInterface()) {
-                throw new InvalidArgumentException(sprintf(
-                    "Could not reflect %s as an interface, because it\n".
-                    "is class - use the first argument instead.",
-                    $interface->getName()
-                ));
-            }
-
-            $this->reflectInterfaceToNode($interface, $node);
-        }
-
-        $node->addInterface('Prophecy\Doubler\Generator\ReflectionInterface');
-
-        return $node;
-    }
-
-    private function reflectClassToNode(ReflectionClass $class, Node\ClassNode $node)
-    {
-        if (true === $class->isFinal()) {
-            throw new ClassMirrorException(sprintf(
-                'Could not reflect class %s as it is marked final.', $class->getName()
-            ), $class);
-        }
-
-        $node->setParentClass($class->getName());
-
-        foreach ($class->getMethods(ReflectionMethod::IS_ABSTRACT) as $method) {
-            if (false === $method->isProtected()) {
-                continue;
-            }
-
-            $this->reflectMethodToNode($method, $node);
-        }
-
-        foreach ($class->getMethods(ReflectionMethod::IS_PUBLIC) as $method) {
-            if (0 === strpos($method->getName(), '_')
-                && !in_array($method->getName(), self::$reflectableMethods)) {
-                continue;
-            }
-
-            if (true === $method->isFinal()) {
-                continue;
-            }
-
-            $this->reflectMethodToNode($method, $node);
-        }
-    }
-
-    private function reflectInterfaceToNode(ReflectionClass $interface, Node\ClassNode $node)
-    {
-        $node->addInterface($interface->getName());
-
-        foreach ($interface->getMethods() as $method) {
-            $this->reflectMethodToNode($method, $node);
-        }
-    }
-
-    private function reflectMethodToNode(ReflectionMethod $method, Node\ClassNode $classNode)
-    {
-        $node = new Node\MethodNode($method->getName());
-
-        if (true === $method->isProtected()) {
-            $node->setVisibility('protected');
-        }
-
-        if (true === $method->isStatic()) {
-            $node->setStatic();
-        }
-
-        if (true === $method->returnsReference()) {
-            $node->setReturnsReference();
-        }
-
-        if (is_array($params = $method->getParameters()) && count($params)) {
-            foreach ($params as $param) {
-                $this->reflectArgumentToNode($param, $node);
-            }
-        }
-
-        $classNode->addMethod($node);
-    }
-
-    private function reflectArgumentToNode(ReflectionParameter $parameter, Node\MethodNode $methodNode)
-    {
-        $name = $parameter->getName() == '...' ? '__dot_dot_dot__' : $parameter->getName();
-        $node = new Node\ArgumentNode($name);
-
-        $typeHint = $this->getTypeHint($parameter);
-        $node->setTypeHint($typeHint);
-
-        if (true === $parameter->isDefaultValueAvailable()) {
-            $node->setDefault($parameter->getDefaultValue());
-        } elseif (true === $parameter->isOptional()
-              || (true === $parameter->allowsNull() && $typeHint)) {
-            $node->setDefault(null);
-        }
-
-        if (true === $parameter->isPassedByReference()) {
-            $node->setAsPassedByReference();
-        }
-
-        $methodNode->addArgument($node);
-    }
-
-    private function getTypeHint(ReflectionParameter $parameter)
-    {
-        if (null !== $className = $this->getParameterClassName($parameter)) {
-            return $className;
-        }
-
-        if (true === $parameter->isArray()) {
-            return 'array';
-        }
-
-        if (version_compare(PHP_VERSION, '5.4', '>=') && true === $parameter->isCallable()) {
-            return 'callable';
-        }
-
-        return null;
-    }
-
-    private function getParameterClassName(ReflectionParameter $parameter)
-    {
-        try {
-            return $parameter->getClass() ? $parameter->getClass()->getName() : null;
-        } catch (\ReflectionException $e) {
-            preg_match('/\[\s\<\w+?>\s([\w,\\\]+)/s', $parameter, $matches);
-
-            return isset($matches[1]) ? $matches[1] : null;
-        }
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php
deleted file mode 100644
index a6c42a3..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator\Node;
-
-/**
- * Argument node.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ArgumentNode
-{
-    private $name;
-    private $typeHint;
-    private $default;
-    private $optional    = false;
-    private $byReference = false;
-
-    /**
-     * @param string $name
-     */
-    public function __construct($name)
-    {
-        $this->name = $name;
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function getTypeHint()
-    {
-        return $this->typeHint;
-    }
-
-    public function setTypeHint($typeHint = null)
-    {
-        $this->typeHint = $typeHint;
-    }
-
-    public function getDefault()
-    {
-        return $this->default;
-    }
-
-    public function setDefault($default = null)
-    {
-        $this->optional = true;
-        $this->default  = $default;
-    }
-
-    public function isOptional()
-    {
-        return $this->optional;
-    }
-
-    public function setAsPassedByReference($byReference = true)
-    {
-        $this->byReference = $byReference;
-    }
-
-    public function isPassedByReference()
-    {
-        return $this->byReference;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php
deleted file mode 100644
index b38cb4e..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator\Node;
-
-use Prophecy\Exception\InvalidArgumentException;
-
-/**
- * Class node.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ClassNode
-{
-    private $parentClass = 'stdClass';
-    private $interfaces  = array();
-    private $properties  = array();
-
-    /**
-     * @var MethodNode[]
-     */
-    private $methods     = array();
-
-    public function getParentClass()
-    {
-        return $this->parentClass;
-    }
-
-    /**
-     * @param string $class
-     */
-    public function setParentClass($class)
-    {
-        $this->parentClass = $class ?: 'stdClass';
-    }
-
-    /**
-     * @return string[]
-     */
-    public function getInterfaces()
-    {
-        return $this->interfaces;
-    }
-
-    /**
-     * @param string $interface
-     */
-    public function addInterface($interface)
-    {
-        if ($this->hasInterface($interface)) {
-            return;
-        }
-
-        array_unshift($this->interfaces, $interface);
-    }
-
-    /**
-     * @param string $interface
-     *
-     * @return bool
-     */
-    public function hasInterface($interface)
-    {
-        return in_array($interface, $this->interfaces);
-    }
-
-    public function getProperties()
-    {
-        return $this->properties;
-    }
-
-    public function addProperty($name, $visibility = 'public')
-    {
-        $visibility = strtolower($visibility);
-
-        if (!in_array($visibility, array('public', 'private', 'protected'))) {
-            throw new InvalidArgumentException(sprintf(
-                '`%s` property visibility is not supported.', $visibility
-            ));
-        }
-
-        $this->properties[$name] = $visibility;
-    }
-
-    /**
-     * @return MethodNode[]
-     */
-    public function getMethods()
-    {
-        return $this->methods;
-    }
-
-    public function addMethod(MethodNode $method)
-    {
-        $this->methods[$method->getName()] = $method;
-    }
-
-    public function removeMethod($name)
-    {
-        unset($this->methods[$name]);
-    }
-
-    /**
-     * @param string $name
-     *
-     * @return MethodNode|null
-     */
-    public function getMethod($name)
-    {
-        return $this->hasMethod($name) ? $this->methods[$name] : null;
-    }
-
-    /**
-     * @param string $name
-     *
-     * @return bool
-     */
-    public function hasMethod($name)
-    {
-        return isset($this->methods[$name]);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php
deleted file mode 100644
index ef303b6..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php
+++ /dev/null
@@ -1,129 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator\Node;
-
-use Prophecy\Exception\InvalidArgumentException;
-
-/**
- * Method node.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class MethodNode
-{
-    private $name;
-    private $code;
-    private $visibility = 'public';
-    private $static = false;
-    private $returnsReference = false;
-
-    /**
-     * @var ArgumentNode[]
-     */
-    private $arguments = array();
-
-    /**
-     * @param string $name
-     * @param string $code
-     */
-    public function __construct($name, $code = null)
-    {
-        $this->name = $name;
-        $this->code = $code;
-    }
-
-    public function getVisibility()
-    {
-        return $this->visibility;
-    }
-
-    /**
-     * @param string $visibility
-     */
-    public function setVisibility($visibility)
-    {
-        $visibility = strtolower($visibility);
-
-        if (!in_array($visibility, array('public', 'private', 'protected'))) {
-            throw new InvalidArgumentException(sprintf(
-                '`%s` method visibility is not supported.', $visibility
-            ));
-        }
-
-        $this->visibility = $visibility;
-    }
-
-    public function isStatic()
-    {
-        return $this->static;
-    }
-
-    public function setStatic($static = true)
-    {
-        $this->static = (bool) $static;
-    }
-
-    public function returnsReference()
-    {
-        return $this->returnsReference;
-    }
-
-    public function setReturnsReference()
-    {
-        $this->returnsReference = true;
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function addArgument(ArgumentNode $argument)
-    {
-        $this->arguments[] = $argument;
-    }
-
-    /**
-     * @return ArgumentNode[]
-     */
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    /**
-     * @param string $code
-     */
-    public function setCode($code)
-    {
-        $this->code = $code;
-    }
-
-    public function getCode()
-    {
-        if ($this->returnsReference)
-        {
-            return "throw new \Prophecy\Exception\Doubler\ReturnByReferenceException('Returning by reference not supported', get_class(\$this), '{$this->name}');";
-        }
-
-        return (string) $this->code;
-    }
-
-    public function useParentCode()
-    {
-        $this->code = sprintf(
-            'return parent::%s(%s);', $this->getName(), implode(', ',
-                array_map(function (ArgumentNode $arg) { return '$'.$arg->getName(); }, $this->arguments)
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php
deleted file mode 100644
index d720b15..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator;
-
-/**
- * Reflection interface.
- * All reflected classes implement this interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface ReflectionInterface
-{
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php
deleted file mode 100644
index 8a99c4c..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler;
-
-use Prophecy\Exception\Doubler\DoubleException;
-use Prophecy\Exception\Doubler\ClassNotFoundException;
-use Prophecy\Exception\Doubler\InterfaceNotFoundException;
-use ReflectionClass;
-
-/**
- * Lazy double.
- * Gives simple interface to describe double before creating it.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class LazyDouble
-{
-    private $doubler;
-    private $class;
-    private $interfaces = array();
-    private $arguments  = null;
-    private $double;
-
-    /**
-     * Initializes lazy double.
-     *
-     * @param Doubler $doubler
-     */
-    public function __construct(Doubler $doubler)
-    {
-        $this->doubler = $doubler;
-    }
-
-    /**
-     * Tells doubler to use specific class as parent one for double.
-     *
-     * @param string|ReflectionClass $class
-     *
-     * @throws \Prophecy\Exception\Doubler\ClassNotFoundException
-     * @throws \Prophecy\Exception\Doubler\DoubleException
-     */
-    public function setParentClass($class)
-    {
-        if (null !== $this->double) {
-            throw new DoubleException('Can not extend class with already instantiated double.');
-        }
-
-        if (!$class instanceof ReflectionClass) {
-            if (!class_exists($class)) {
-                throw new ClassNotFoundException(sprintf('Class %s not found.', $class), $class);
-            }
-
-            $class = new ReflectionClass($class);
-        }
-
-        $this->class = $class;
-    }
-
-    /**
-     * Tells doubler to implement specific interface with double.
-     *
-     * @param string|ReflectionClass $interface
-     *
-     * @throws \Prophecy\Exception\Doubler\InterfaceNotFoundException
-     * @throws \Prophecy\Exception\Doubler\DoubleException
-     */
-    public function addInterface($interface)
-    {
-        if (null !== $this->double) {
-            throw new DoubleException(
-                'Can not implement interface with already instantiated double.'
-            );
-        }
-
-        if (!$interface instanceof ReflectionClass) {
-            if (!interface_exists($interface)) {
-                throw new InterfaceNotFoundException(
-                    sprintf('Interface %s not found.', $interface),
-                    $interface
-                );
-            }
-
-            $interface = new ReflectionClass($interface);
-        }
-
-        $this->interfaces[] = $interface;
-    }
-
-    /**
-     * Sets constructor arguments.
-     *
-     * @param array $arguments
-     */
-    public function setArguments(array $arguments = null)
-    {
-        $this->arguments = $arguments;
-    }
-
-    /**
-     * Creates double instance or returns already created one.
-     *
-     * @return DoubleInterface
-     */
-    public function getInstance()
-    {
-        if (null === $this->double) {
-            if (null !== $this->arguments) {
-                return $this->double = $this->doubler->double(
-                    $this->class, $this->interfaces, $this->arguments
-                );
-            }
-
-            $this->double = $this->doubler->double($this->class, $this->interfaces);
-        }
-
-        return $this->double;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php b/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php
deleted file mode 100644
index d67ec6a..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler;
-
-use ReflectionClass;
-
-/**
- * Name generator.
- * Generates classname for double.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class NameGenerator
-{
-    private static $counter = 1;
-
-    /**
-     * Generates name.
-     *
-     * @param ReflectionClass   $class
-     * @param ReflectionClass[] $interfaces
-     *
-     * @return string
-     */
-    public function name(ReflectionClass $class = null, array $interfaces)
-    {
-        $parts = array();
-
-        if (null !== $class) {
-            $parts[] = $class->getName();
-        } else {
-            foreach ($interfaces as $interface) {
-                $parts[] = $interface->getShortName();
-            }
-        }
-
-        if (!count($parts)) {
-            $parts[] = 'stdClass';
-        }
-
-        return sprintf('Double\%s\P%d', implode('\\', $parts), self::$counter++);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php
deleted file mode 100644
index 48ed225..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Call;
-
-use Prophecy\Exception\Prophecy\ObjectProphecyException;
-use Prophecy\Prophecy\ObjectProphecy;
-
-class UnexpectedCallException extends ObjectProphecyException
-{
-    private $methodName;
-    private $arguments;
-
-    public function __construct($message, ObjectProphecy $objectProphecy,
-                                $methodName, array $arguments)
-    {
-        parent::__construct($message, $objectProphecy);
-
-        $this->methodName = $methodName;
-        $this->arguments = $arguments;
-    }
-
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php
deleted file mode 100644
index 822918a..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-
-class ClassCreatorException extends \RuntimeException implements DoublerException
-{
-    private $node;
-
-    public function __construct($message, ClassNode $node)
-    {
-        parent::__construct($message);
-
-        $this->node = $node;
-    }
-
-    public function getClassNode()
-    {
-        return $this->node;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php
deleted file mode 100644
index 8fc53b8..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-use ReflectionClass;
-
-class ClassMirrorException extends \RuntimeException implements DoublerException
-{
-    private $class;
-
-    public function __construct($message, ReflectionClass $class)
-    {
-        parent::__construct($message);
-
-        $this->class = $class;
-    }
-
-    public function getReflectedClass()
-    {
-        return $this->class;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php
deleted file mode 100644
index 5bc826d..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-class ClassNotFoundException extends DoubleException
-{
-    private $classname;
-
-    /**
-     * @param string $message
-     * @param string $classname
-     */
-    public function __construct($message, $classname)
-    {
-        parent::__construct($message);
-
-        $this->classname = $classname;
-    }
-
-    public function getClassname()
-    {
-        return $this->classname;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php
deleted file mode 100644
index 6642a58..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-use RuntimeException;
-
-class DoubleException extends RuntimeException implements DoublerException
-{
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php
deleted file mode 100644
index 9d6be17..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-use Prophecy\Exception\Exception;
-
-interface DoublerException extends Exception
-{
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php
deleted file mode 100644
index e344dea..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-class InterfaceNotFoundException extends ClassNotFoundException
-{
-    public function getInterfaceName()
-    {
-        return $this->getClassname();
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php
deleted file mode 100644
index b113941..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-class MethodNotFoundException extends DoubleException
-{
-    /**
-     * @var string
-     */
-    private $classname;
-
-    /**
-     * @var string
-     */
-    private $methodName;
-
-    /**
-     * @var array
-     */
-    private $arguments;
-
-    /**
-     * @param string $message
-     * @param string $classname
-     * @param string $methodName
-     * @param null|Argument\ArgumentsWildcard|array $arguments
-     */
-    public function __construct($message, $classname, $methodName, $arguments = null)
-    {
-        parent::__construct($message);
-
-        $this->classname  = $classname;
-        $this->methodName = $methodName;
-        $this->arguments = $arguments;
-    }
-
-    public function getClassname()
-    {
-        return $this->classname;
-    }
-
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php
deleted file mode 100644
index 6303049..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-class ReturnByReferenceException extends DoubleException
-{
-    private $classname;
-    private $methodName;
-
-    /**
-     * @param string $message
-     * @param string $classname
-     * @param string $methodName
-     */
-    public function __construct($message, $classname, $methodName)
-    {
-        parent::__construct($message);
-
-        $this->classname  = $classname;
-        $this->methodName = $methodName;
-    }
-
-    public function getClassname()
-    {
-        return $this->classname;
-    }
-
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php
deleted file mode 100644
index ac9fe4d..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception;
-
-/**
- * Core Prophecy exception interface.
- * All Prophecy exceptions implement it.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface Exception
-{
-    /**
-     * @return string
-     */
-    public function getMessage();
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php
deleted file mode 100644
index bc91c69..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception;
-
-class InvalidArgumentException extends \InvalidArgumentException implements Exception
-{
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php
deleted file mode 100644
index 44b598a..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use Prophecy\Prophecy\ObjectProphecy;
-
-class AggregateException extends \RuntimeException implements PredictionException
-{
-    private $exceptions = array();
-    private $objectProphecy;
-
-    public function append(PredictionException $exception)
-    {
-        $message = $exception->getMessage();
-        $message = '  '.strtr($message, array("\n" => "\n  "))."\n";
-
-        $this->message      = rtrim($this->message.$message);
-        $this->exceptions[] = $exception;
-    }
-
-    /**
-     * @return PredictionException[]
-     */
-    public function getExceptions()
-    {
-        return $this->exceptions;
-    }
-
-    public function setObjectProphecy(ObjectProphecy $objectProphecy)
-    {
-        $this->objectProphecy = $objectProphecy;
-    }
-
-    /**
-     * @return ObjectProphecy
-     */
-    public function getObjectProphecy()
-    {
-        return $this->objectProphecy;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php
deleted file mode 100644
index bbbbc3d..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use RuntimeException;
-
-/**
- * Basic failed prediction exception.
- * Use it for custom prediction failures.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class FailedPredictionException extends RuntimeException implements PredictionException
-{
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php
deleted file mode 100644
index 05ea4aa..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use Prophecy\Exception\Prophecy\MethodProphecyException;
-
-class NoCallsException extends MethodProphecyException implements PredictionException
-{
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php
deleted file mode 100644
index 2596b1e..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use Prophecy\Exception\Exception;
-
-interface PredictionException extends Exception
-{
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php
deleted file mode 100644
index 9d90543..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use Prophecy\Prophecy\MethodProphecy;
-
-class UnexpectedCallsCountException extends UnexpectedCallsException
-{
-    private $expectedCount;
-
-    public function __construct($message, MethodProphecy $methodProphecy, $count, array $calls)
-    {
-        parent::__construct($message, $methodProphecy, $calls);
-
-        $this->expectedCount = intval($count);
-    }
-
-    public function getExpectedCount()
-    {
-        return $this->expectedCount;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php
deleted file mode 100644
index 7a99c2d..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Exception\Prophecy\MethodProphecyException;
-
-class UnexpectedCallsException extends MethodProphecyException implements PredictionException
-{
-    private $calls = array();
-
-    public function __construct($message, MethodProphecy $methodProphecy, array $calls)
-    {
-        parent::__construct($message, $methodProphecy);
-
-        $this->calls = $calls;
-    }
-
-    public function getCalls()
-    {
-        return $this->calls;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php
deleted file mode 100644
index 1b03eaf..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prophecy;
-
-use Prophecy\Prophecy\MethodProphecy;
-
-class MethodProphecyException extends ObjectProphecyException
-{
-    private $methodProphecy;
-
-    public function __construct($message, MethodProphecy $methodProphecy)
-    {
-        parent::__construct($message, $methodProphecy->getObjectProphecy());
-
-        $this->methodProphecy = $methodProphecy;
-    }
-
-    /**
-     * @return MethodProphecy
-     */
-    public function getMethodProphecy()
-    {
-        return $this->methodProphecy;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php
deleted file mode 100644
index e345402..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prophecy;
-
-use Prophecy\Prophecy\ObjectProphecy;
-
-class ObjectProphecyException extends \RuntimeException implements ProphecyException
-{
-    private $objectProphecy;
-
-    public function __construct($message, ObjectProphecy $objectProphecy)
-    {
-        parent::__construct($message);
-
-        $this->objectProphecy = $objectProphecy;
-    }
-
-    /**
-     * @return ObjectProphecy
-     */
-    public function getObjectProphecy()
-    {
-        return $this->objectProphecy;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php b/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php
deleted file mode 100644
index 9157332..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prophecy;
-
-use Prophecy\Exception\Exception;
-
-interface ProphecyException extends Exception
-{
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php
deleted file mode 100644
index 5bdcdc4..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prediction;
-
-use Prophecy\Call\Call;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Argument\ArgumentsWildcard;
-use Prophecy\Argument\Token\AnyValuesToken;
-use Prophecy\Util\StringUtil;
-use Prophecy\Exception\Prediction\NoCallsException;
-
-/**
- * Call prediction.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallPrediction implements PredictionInterface
-{
-    private $util;
-
-    /**
-     * Initializes prediction.
-     *
-     * @param StringUtil $util
-     */
-    public function __construct(StringUtil $util = null)
-    {
-        $this->util = $util ?: new StringUtil;
-    }
-
-    /**
-     * Tests that there was at least one call.
-     *
-     * @param Call[]         $calls
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @throws \Prophecy\Exception\Prediction\NoCallsException
-     */
-    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method)
-    {
-        if (count($calls)) {
-            return;
-        }
-
-        $methodCalls = $object->findProphecyMethodCalls(
-            $method->getMethodName(),
-            new ArgumentsWildcard(array(new AnyValuesToken))
-        );
-
-        if (count($methodCalls)) {
-            throw new NoCallsException(sprintf(
-                "No calls been made that match:\n".
-                "  %s->%s(%s)\n".
-                "but expected at least one.\n".
-                "Recorded `%s(...)` calls:\n%s",
-
-                get_class($object->reveal()),
-                $method->getMethodName(),
-                $method->getArgumentsWildcard(),
-                $method->getMethodName(),
-                $this->util->stringifyCalls($methodCalls)
-            ), $method);
-        }
-
-        throw new NoCallsException(sprintf(
-            "No calls been made that match:\n".
-            "  %s->%s(%s)\n".
-            "but expected at least one.",
-
-            get_class($object->reveal()),
-            $method->getMethodName(),
-            $method->getArgumentsWildcard()
-        ), $method);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php
deleted file mode 100644
index 31c6c57..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prediction;
-
-use Prophecy\Call\Call;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Argument\ArgumentsWildcard;
-use Prophecy\Argument\Token\AnyValuesToken;
-use Prophecy\Util\StringUtil;
-use Prophecy\Exception\Prediction\UnexpectedCallsCountException;
-
-/**
- * Prediction interface.
- * Predictions are logical test blocks, tied to `should...` keyword.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallTimesPrediction implements PredictionInterface
-{
-    private $times;
-    private $util;
-
-    /**
-     * Initializes prediction.
-     *
-     * @param int        $times
-     * @param StringUtil $util
-     */
-    public function __construct($times, StringUtil $util = null)
-    {
-        $this->times = intval($times);
-        $this->util  = $util ?: new StringUtil;
-    }
-
-    /**
-     * Tests that there was exact amount of calls made.
-     *
-     * @param Call[]         $calls
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @throws \Prophecy\Exception\Prediction\UnexpectedCallsCountException
-     */
-    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method)
-    {
-        if ($this->times == count($calls)) {
-            return;
-        }
-
-        $methodCalls = $object->findProphecyMethodCalls(
-            $method->getMethodName(),
-            new ArgumentsWildcard(array(new AnyValuesToken))
-        );
-
-        if (count($calls)) {
-            $message = sprintf(
-                "Expected exactly %d calls that match:\n".
-                "  %s->%s(%s)\n".
-                "but %d were made:\n%s",
-
-                $this->times,
-                get_class($object->reveal()),
-                $method->getMethodName(),
-                $method->getArgumentsWildcard(),
-                count($calls),
-                $this->util->stringifyCalls($calls)
-            );
-        } elseif (count($methodCalls)) {
-            $message = sprintf(
-                "Expected exactly %d calls that match:\n".
-                "  %s->%s(%s)\n".
-                "but none were made.\n".
-                "Recorded `%s(...)` calls:\n%s",
-
-                $this->times,
-                get_class($object->reveal()),
-                $method->getMethodName(),
-                $method->getArgumentsWildcard(),
-                $method->getMethodName(),
-                $this->util->stringifyCalls($methodCalls)
-            );
-        } else {
-            $message = sprintf(
-                "Expected exactly %d calls that match:\n".
-                "  %s->%s(%s)\n".
-                "but none were made.",
-
-                $this->times,
-                get_class($object->reveal()),
-                $method->getMethodName(),
-                $method->getArgumentsWildcard()
-            );
-        }
-
-        throw new UnexpectedCallsCountException($message, $method, $this->times, $calls);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php
deleted file mode 100644
index 44bc782..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prediction;
-
-use Prophecy\Call\Call;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Exception\InvalidArgumentException;
-use Closure;
-
-/**
- * Callback prediction.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallbackPrediction implements PredictionInterface
-{
-    private $callback;
-
-    /**
-     * Initializes callback prediction.
-     *
-     * @param callable $callback Custom callback
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function __construct($callback)
-    {
-        if (!is_callable($callback)) {
-            throw new InvalidArgumentException(sprintf(
-                'Callable expected as an argument to CallbackPrediction, but got %s.',
-                gettype($callback)
-            ));
-        }
-
-        $this->callback = $callback;
-    }
-
-    /**
-     * Executes preset callback.
-     *
-     * @param Call[]         $calls
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     */
-    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method)
-    {
-        $callback = $this->callback;
-
-        if ($callback instanceof Closure && method_exists('Closure', 'bind')) {
-            $callback = Closure::bind($callback, $object);
-        }
-
-        call_user_func($callback, $calls, $object, $method);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php
deleted file mode 100644
index 46ac5bf..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prediction;
-
-use Prophecy\Call\Call;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Util\StringUtil;
-use Prophecy\Exception\Prediction\UnexpectedCallsException;
-
-/**
- * No calls prediction.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class NoCallsPrediction implements PredictionInterface
-{
-    private $util;
-
-    /**
-     * Initializes prediction.
-     *
-     * @param null|StringUtil $util
-     */
-    public function __construct(StringUtil $util = null)
-    {
-        $this->util = $util ?: new StringUtil;
-    }
-
-    /**
-     * Tests that there were no calls made.
-     *
-     * @param Call[]         $calls
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @throws \Prophecy\Exception\Prediction\UnexpectedCallsException
-     */
-    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method)
-    {
-        if (!count($calls)) {
-            return;
-        }
-
-        $verb = count($calls) === 1 ? 'was' : 'were';
-
-        throw new UnexpectedCallsException(sprintf(
-            "No calls expected that match:\n".
-            "  %s->%s(%s)\n".
-            "but %d %s made:\n%s",
-            get_class($object->reveal()),
-            $method->getMethodName(),
-            $method->getArgumentsWildcard(),
-            count($calls),
-            $verb,
-            $this->util->stringifyCalls($calls)
-        ), $method, $calls);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php
deleted file mode 100644
index f7fb06a..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prediction;
-
-use Prophecy\Call\Call;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-
-/**
- * Prediction interface.
- * Predictions are logical test blocks, tied to `should...` keyword.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface PredictionInterface
-{
-    /**
-     * Tests that double fulfilled prediction.
-     *
-     * @param Call[]        $calls
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @throws object
-     * @return void
-     */
-    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method);
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php b/core/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php
deleted file mode 100644
index 5f406bf..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Promise;
-
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Exception\InvalidArgumentException;
-use Closure;
-
-/**
- * Callback promise.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallbackPromise implements PromiseInterface
-{
-    private $callback;
-
-    /**
-     * Initializes callback promise.
-     *
-     * @param callable $callback Custom callback
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function __construct($callback)
-    {
-        if (!is_callable($callback)) {
-            throw new InvalidArgumentException(sprintf(
-                'Callable expected as an argument to CallbackPromise, but got %s.',
-                gettype($callback)
-            ));
-        }
-
-        $this->callback = $callback;
-    }
-
-    /**
-     * Evaluates promise callback.
-     *
-     * @param array          $args
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @return mixed
-     */
-    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method)
-    {
-        $callback = $this->callback;
-
-        if ($callback instanceof Closure && method_exists('Closure', 'bind')) {
-            $callback = Closure::bind($callback, $object);
-        }
-
-        return call_user_func($callback, $args, $object, $method);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php b/core/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php
deleted file mode 100644
index 382537b..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Promise;
-
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-
-/**
- * Promise interface.
- * Promises are logical blocks, tied to `will...` keyword.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface PromiseInterface
-{
-    /**
-     * Evaluates promise.
-     *
-     * @param array          $args
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @return mixed
-     */
-    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method);
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php b/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php
deleted file mode 100644
index a06724b..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Promise;
-
-use Prophecy\Exception\InvalidArgumentException;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-
-/**
- * Return argument promise.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ReturnArgumentPromise implements PromiseInterface
-{
-    /**
-     * @var int
-     */
-    private $index;
-
-    /**
-     * Initializes callback promise.
-     *
-     * @param int $index The zero-indexed number of the argument to return
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function __construct($index = 0)
-    {
-        if (!is_int($index) || $index < 0) {
-            throw new InvalidArgumentException(
-                'Zero-based index expected as argument to ReturnArgumentPromise, but got %s.',
-                $index
-            );
-        }
-        $this->index = $index;
-    }
-
-    /**
-     * Returns nth argument if has one, null otherwise.
-     *
-     * @param array          $args
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @return null|mixed
-     */
-    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method)
-    {
-        return count($args) > $this->index ? $args[$this->index] : null;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php b/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php
deleted file mode 100644
index c7d5ac5..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Promise;
-
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-
-/**
- * Return promise.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ReturnPromise implements PromiseInterface
-{
-    private $returnValues = array();
-
-    /**
-     * Initializes promise.
-     *
-     * @param array $returnValues Array of values
-     */
-    public function __construct(array $returnValues)
-    {
-        $this->returnValues = $returnValues;
-    }
-
-    /**
-     * Returns saved values one by one until last one, then continuously returns last value.
-     *
-     * @param array          $args
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @return mixed
-     */
-    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method)
-    {
-        $value = array_shift($this->returnValues);
-
-        if (!count($this->returnValues)) {
-            $this->returnValues[] = $value;
-        }
-
-        return $value;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php b/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php
deleted file mode 100644
index 8007330..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Promise;
-
-use Doctrine\Instantiator\Instantiator;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Exception\InvalidArgumentException;
-use ReflectionClass;
-
-/**
- * Throw promise.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ThrowPromise implements PromiseInterface
-{
-    private $exception;
-
-    /**
-     * @var \Doctrine\Instantiator\Instantiator
-     */
-    private $instantiator;
-
-    /**
-     * Initializes promise.
-     *
-     * @param string|\Exception $exception Exception class name or instance
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function __construct($exception)
-    {
-        if (is_string($exception)) {
-            if (!class_exists($exception)
-             && 'Exception' !== $exception
-             && !is_subclass_of($exception, 'Exception')) {
-                throw new InvalidArgumentException(sprintf(
-                    'Exception class or instance expected as argument to ThrowPromise, but got %s.',
-                    gettype($exception)
-                ));
-            }
-        } elseif (!$exception instanceof \Exception) {
-            throw new InvalidArgumentException(sprintf(
-                'Exception class or instance expected as argument to ThrowPromise, but got %s.',
-                gettype($exception)
-            ));
-        }
-
-        $this->exception = $exception;
-    }
-
-    /**
-     * Throws predefined exception.
-     *
-     * @param array          $args
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @throws object
-     */
-    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method)
-    {
-        if (is_string($this->exception)) {
-            $classname   = $this->exception;
-            $reflection  = new ReflectionClass($classname);
-            $constructor = $reflection->getConstructor();
-
-            if ($constructor->isPublic() && 0 == $constructor->getNumberOfRequiredParameters()) {
-                throw $reflection->newInstance();
-            }
-
-            if (!$this->instantiator) {
-                $this->instantiator = new Instantiator();
-            }
-
-            throw $this->instantiator->instantiate($classname);
-        }
-
-        throw $this->exception;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php
deleted file mode 100644
index 9af03b9..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php
+++ /dev/null
@@ -1,409 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-use Prophecy\Argument;
-use Prophecy\Promise;
-use Prophecy\Prediction;
-use Prophecy\Exception\Doubler\MethodNotFoundException;
-use Prophecy\Exception\InvalidArgumentException;
-use Prophecy\Exception\Prophecy\MethodProphecyException;
-
-/**
- * Method prophecy.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class MethodProphecy
-{
-    private $objectProphecy;
-    private $methodName;
-    private $argumentsWildcard;
-    private $promise;
-    private $prediction;
-    private $checkedPredictions = array();
-    private $bound = false;
-
-    /**
-     * Initializes method prophecy.
-     *
-     * @param ObjectProphecy                        $objectProphecy
-     * @param string                                $methodName
-     * @param null|Argument\ArgumentsWildcard|array $arguments
-     *
-     * @throws \Prophecy\Exception\Doubler\MethodNotFoundException If method not found
-     */
-    public function __construct(ObjectProphecy $objectProphecy, $methodName, $arguments = null)
-    {
-        $double = $objectProphecy->reveal();
-        if (!method_exists($double, $methodName)) {
-            throw new MethodNotFoundException(sprintf(
-                'Method `%s::%s()` is not defined.', get_class($double), $methodName
-            ), get_class($double), $methodName, $arguments);
-        }
-
-        $this->objectProphecy = $objectProphecy;
-        $this->methodName     = $methodName;
-
-        $reflectedMethod = new \ReflectionMethod($double, $methodName);
-        if ($reflectedMethod->isFinal()) {
-            throw new MethodProphecyException(sprintf(
-                "Can not add prophecy for a method `%s::%s()`\n".
-                "as it is a final method.",
-                get_class($double),
-                $methodName
-            ), $this);
-        }
-
-        if (null !== $arguments) {
-            $this->withArguments($arguments);
-        }
-    }
-
-    /**
-     * Sets argument wildcard.
-     *
-     * @param array|Argument\ArgumentsWildcard $arguments
-     *
-     * @return $this
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function withArguments($arguments)
-    {
-        if (is_array($arguments)) {
-            $arguments = new Argument\ArgumentsWildcard($arguments);
-        }
-
-        if (!$arguments instanceof Argument\ArgumentsWildcard) {
-            throw new InvalidArgumentException(sprintf(
-                "Either an array or an instance of ArgumentsWildcard expected as\n".
-                'a `MethodProphecy::withArguments()` argument, but got %s.',
-                gettype($arguments)
-            ));
-        }
-
-        $this->argumentsWildcard = $arguments;
-
-        return $this;
-    }
-
-    /**
-     * Sets custom promise to the prophecy.
-     *
-     * @param callable|Promise\PromiseInterface $promise
-     *
-     * @return $this
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function will($promise)
-    {
-        if (is_callable($promise)) {
-            $promise = new Promise\CallbackPromise($promise);
-        }
-
-        if (!$promise instanceof Promise\PromiseInterface) {
-            throw new InvalidArgumentException(sprintf(
-                'Expected callable or instance of PromiseInterface, but got %s.',
-                gettype($promise)
-            ));
-        }
-
-        $this->bindToObjectProphecy();
-        $this->promise = $promise;
-
-        return $this;
-    }
-
-    /**
-     * Sets return promise to the prophecy.
-     *
-     * @see Prophecy\Promise\ReturnPromise
-     *
-     * @return $this
-     */
-    public function willReturn()
-    {
-        return $this->will(new Promise\ReturnPromise(func_get_args()));
-    }
-
-    /**
-     * Sets return argument promise to the prophecy.
-     *
-     * @param int $index The zero-indexed number of the argument to return
-     *
-     * @see Prophecy\Promise\ReturnArgumentPromise
-     *
-     * @return $this
-     */
-    public function willReturnArgument($index = 0)
-    {
-        return $this->will(new Promise\ReturnArgumentPromise($index));
-    }
-
-    /**
-     * Sets throw promise to the prophecy.
-     *
-     * @see Prophecy\Promise\ThrowPromise
-     *
-     * @param string|\Exception $exception Exception class or instance
-     *
-     * @return $this
-     */
-    public function willThrow($exception)
-    {
-        return $this->will(new Promise\ThrowPromise($exception));
-    }
-
-    /**
-     * Sets custom prediction to the prophecy.
-     *
-     * @param callable|Prediction\PredictionInterface $prediction
-     *
-     * @return $this
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function should($prediction)
-    {
-        if (is_callable($prediction)) {
-            $prediction = new Prediction\CallbackPrediction($prediction);
-        }
-
-        if (!$prediction instanceof Prediction\PredictionInterface) {
-            throw new InvalidArgumentException(sprintf(
-                'Expected callable or instance of PredictionInterface, but got %s.',
-                gettype($prediction)
-            ));
-        }
-
-        $this->bindToObjectProphecy();
-        $this->prediction = $prediction;
-
-        return $this;
-    }
-
-    /**
-     * Sets call prediction to the prophecy.
-     *
-     * @see Prophecy\Prediction\CallPrediction
-     *
-     * @return $this
-     */
-    public function shouldBeCalled()
-    {
-        return $this->should(new Prediction\CallPrediction);
-    }
-
-    /**
-     * Sets no calls prediction to the prophecy.
-     *
-     * @see Prophecy\Prediction\NoCallsPrediction
-     *
-     * @return $this
-     */
-    public function shouldNotBeCalled()
-    {
-        return $this->should(new Prediction\NoCallsPrediction);
-    }
-
-    /**
-     * Sets call times prediction to the prophecy.
-     *
-     * @see Prophecy\Prediction\CallTimesPrediction
-     *
-     * @param $count
-     *
-     * @return $this
-     */
-    public function shouldBeCalledTimes($count)
-    {
-        return $this->should(new Prediction\CallTimesPrediction($count));
-    }
-
-    /**
-     * Checks provided prediction immediately.
-     *
-     * @param callable|Prediction\PredictionInterface $prediction
-     *
-     * @return $this
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function shouldHave($prediction)
-    {
-        if (is_callable($prediction)) {
-            $prediction = new Prediction\CallbackPrediction($prediction);
-        }
-
-        if (!$prediction instanceof Prediction\PredictionInterface) {
-            throw new InvalidArgumentException(sprintf(
-                'Expected callable or instance of PredictionInterface, but got %s.',
-                gettype($prediction)
-            ));
-        }
-
-        if (null === $this->promise) {
-            $this->willReturn();
-        }
-
-        $calls = $this->getObjectProphecy()->findProphecyMethodCalls(
-            $this->getMethodName(),
-            $this->getArgumentsWildcard()
-        );
-
-        try {
-            $prediction->check($calls, $this->getObjectProphecy(), $this);
-            $this->checkedPredictions[] = $prediction;
-        } catch (\Exception $e) {
-            $this->checkedPredictions[] = $prediction;
-
-            throw $e;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Checks call prediction.
-     *
-     * @see Prophecy\Prediction\CallPrediction
-     *
-     * @return $this
-     */
-    public function shouldHaveBeenCalled()
-    {
-        return $this->shouldHave(new Prediction\CallPrediction);
-    }
-
-    /**
-     * Checks no calls prediction.
-     *
-     * @see Prophecy\Prediction\NoCallsPrediction
-     *
-     * @return $this
-     */
-    public function shouldNotHaveBeenCalled()
-    {
-        return $this->shouldHave(new Prediction\NoCallsPrediction);
-    }
-
-    /**
-     * Checks no calls prediction.
-     *
-     * @see Prophecy\Prediction\NoCallsPrediction
-     * @deprecated
-     *
-     * @return $this
-     */
-    public function shouldNotBeenCalled()
-    {
-        return $this->shouldNotHaveBeenCalled();
-    }
-
-    /**
-     * Checks call times prediction.
-     *
-     * @see Prophecy\Prediction\CallTimesPrediction
-     *
-     * @param int $count
-     *
-     * @return $this
-     */
-    public function shouldHaveBeenCalledTimes($count)
-    {
-        return $this->shouldHave(new Prediction\CallTimesPrediction($count));
-    }
-
-    /**
-     * Checks currently registered [with should(...)] prediction.
-     */
-    public function checkPrediction()
-    {
-        if (null === $this->prediction) {
-            return;
-        }
-
-        $this->shouldHave($this->prediction);
-    }
-
-    /**
-     * Returns currently registered promise.
-     *
-     * @return null|Promise\PromiseInterface
-     */
-    public function getPromise()
-    {
-        return $this->promise;
-    }
-
-    /**
-     * Returns currently registered prediction.
-     *
-     * @return null|Prediction\PredictionInterface
-     */
-    public function getPrediction()
-    {
-        return $this->prediction;
-    }
-
-    /**
-     * Returns predictions that were checked on this object.
-     *
-     * @return Prediction\PredictionInterface[]
-     */
-    public function getCheckedPredictions()
-    {
-        return $this->checkedPredictions;
-    }
-
-    /**
-     * Returns object prophecy this method prophecy is tied to.
-     *
-     * @return ObjectProphecy
-     */
-    public function getObjectProphecy()
-    {
-        return $this->objectProphecy;
-    }
-
-    /**
-     * Returns method name.
-     *
-     * @return string
-     */
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-
-    /**
-     * Returns arguments wildcard.
-     *
-     * @return Argument\ArgumentsWildcard
-     */
-    public function getArgumentsWildcard()
-    {
-        return $this->argumentsWildcard;
-    }
-
-    private function bindToObjectProphecy()
-    {
-        if ($this->bound) {
-            return;
-        }
-
-        $this->getObjectProphecy()->addMethodProphecy($this);
-        $this->bound = true;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php
deleted file mode 100644
index e85c9d5..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php
+++ /dev/null
@@ -1,279 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-use SebastianBergmann\Comparator\Factory as ComparatorFactory;
-use SebastianBergmann\Comparator\ComparisonFailure;
-use Prophecy\Call\Call;
-use Prophecy\Doubler\LazyDouble;
-use Prophecy\Argument\ArgumentsWildcard;
-use Prophecy\Call\CallCenter;
-use Prophecy\Exception\Prophecy\ObjectProphecyException;
-use Prophecy\Exception\Prophecy\MethodProphecyException;
-use Prophecy\Exception\Prediction\AggregateException;
-use Prophecy\Exception\Prediction\PredictionException;
-
-/**
- * Object prophecy.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ObjectProphecy implements ProphecyInterface
-{
-    private $lazyDouble;
-    private $callCenter;
-    private $revealer;
-    private $comparatorFactory;
-
-    /**
-     * @var MethodProphecy[][]
-     */
-    private $methodProphecies = array();
-
-    /**
-     * Initializes object prophecy.
-     *
-     * @param LazyDouble        $lazyDouble
-     * @param CallCenter        $callCenter
-     * @param RevealerInterface $revealer
-     * @param ComparatorFactory $comparatorFactory
-     */
-    public function __construct(
-        LazyDouble $lazyDouble,
-        CallCenter $callCenter = null,
-        RevealerInterface $revealer = null,
-        ComparatorFactory $comparatorFactory = null
-    ) {
-        $this->lazyDouble = $lazyDouble;
-        $this->callCenter = $callCenter ?: new CallCenter;
-        $this->revealer   = $revealer ?: new Revealer;
-
-        $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance();
-    }
-
-    /**
-     * Forces double to extend specific class.
-     *
-     * @param string $class
-     *
-     * @return $this
-     */
-    public function willExtend($class)
-    {
-        $this->lazyDouble->setParentClass($class);
-
-        return $this;
-    }
-
-    /**
-     * Forces double to implement specific interface.
-     *
-     * @param string $interface
-     *
-     * @return $this
-     */
-    public function willImplement($interface)
-    {
-        $this->lazyDouble->addInterface($interface);
-
-        return $this;
-    }
-
-    /**
-     * Sets constructor arguments.
-     *
-     * @param array $arguments
-     *
-     * @return $this
-     */
-    public function willBeConstructedWith(array $arguments = null)
-    {
-        $this->lazyDouble->setArguments($arguments);
-
-        return $this;
-    }
-
-    /**
-     * Reveals double.
-     *
-     * @return object
-     *
-     * @throws \Prophecy\Exception\Prophecy\ObjectProphecyException If double doesn't implement needed interface
-     */
-    public function reveal()
-    {
-        $double = $this->lazyDouble->getInstance();
-
-        if (null === $double || !$double instanceof ProphecySubjectInterface) {
-            throw new ObjectProphecyException(
-                "Generated double must implement ProphecySubjectInterface, but it does not.\n".
-                'It seems you have wrongly configured doubler without required ClassPatch.',
-                $this
-            );
-        }
-
-        $double->setProphecy($this);
-
-        return $double;
-    }
-
-    /**
-     * Adds method prophecy to object prophecy.
-     *
-     * @param MethodProphecy $methodProphecy
-     *
-     * @throws \Prophecy\Exception\Prophecy\MethodProphecyException If method prophecy doesn't
-     *                                                              have arguments wildcard
-     */
-    public function addMethodProphecy(MethodProphecy $methodProphecy)
-    {
-        $argumentsWildcard = $methodProphecy->getArgumentsWildcard();
-        if (null === $argumentsWildcard) {
-            throw new MethodProphecyException(sprintf(
-                "Can not add prophecy for a method `%s::%s()`\n".
-                "as you did not specify arguments wildcard for it.",
-                get_class($this->reveal()),
-                $methodProphecy->getMethodName()
-            ), $methodProphecy);
-        }
-
-        $methodName = $methodProphecy->getMethodName();
-
-        if (!isset($this->methodProphecies[$methodName])) {
-            $this->methodProphecies[$methodName] = array();
-        }
-
-        $this->methodProphecies[$methodName][] = $methodProphecy;
-    }
-
-    /**
-     * Returns either all or related to single method prophecies.
-     *
-     * @param null|string $methodName
-     *
-     * @return MethodProphecy[]
-     */
-    public function getMethodProphecies($methodName = null)
-    {
-        if (null === $methodName) {
-            return $this->methodProphecies;
-        }
-
-        if (!isset($this->methodProphecies[$methodName])) {
-            return array();
-        }
-
-        return $this->methodProphecies[$methodName];
-    }
-
-    /**
-     * Makes specific method call.
-     *
-     * @param string $methodName
-     * @param array  $arguments
-     *
-     * @return mixed
-     */
-    public function makeProphecyMethodCall($methodName, array $arguments)
-    {
-        $arguments = $this->revealer->reveal($arguments);
-        $return    = $this->callCenter->makeCall($this, $methodName, $arguments);
-
-        return $this->revealer->reveal($return);
-    }
-
-    /**
-     * Finds calls by method name & arguments wildcard.
-     *
-     * @param string            $methodName
-     * @param ArgumentsWildcard $wildcard
-     *
-     * @return Call[]
-     */
-    public function findProphecyMethodCalls($methodName, ArgumentsWildcard $wildcard)
-    {
-        return $this->callCenter->findCalls($methodName, $wildcard);
-    }
-
-    /**
-     * Checks that registered method predictions do not fail.
-     *
-     * @throws \Prophecy\Exception\Prediction\AggregateException If any of registered predictions fail
-     */
-    public function checkProphecyMethodsPredictions()
-    {
-        $exception = new AggregateException(sprintf("%s:\n", get_class($this->reveal())));
-        $exception->setObjectProphecy($this);
-
-        foreach ($this->methodProphecies as $prophecies) {
-            foreach ($prophecies as $prophecy) {
-                try {
-                    $prophecy->checkPrediction();
-                } catch (PredictionException $e) {
-                    $exception->append($e);
-                }
-            }
-        }
-
-        if (count($exception->getExceptions())) {
-            throw $exception;
-        }
-    }
-
-    /**
-     * Creates new method prophecy using specified method name and arguments.
-     *
-     * @param string $methodName
-     * @param array  $arguments
-     *
-     * @return MethodProphecy
-     */
-    public function __call($methodName, array $arguments)
-    {
-        $arguments = new ArgumentsWildcard($this->revealer->reveal($arguments));
-
-        foreach ($this->getMethodProphecies($methodName) as $prophecy) {
-            $argumentsWildcard = $prophecy->getArgumentsWildcard();
-            $comparator = $this->comparatorFactory->getComparatorFor(
-                $argumentsWildcard, $arguments
-            );
-
-            try {
-                $comparator->assertEquals($argumentsWildcard, $arguments);
-                return $prophecy;
-            } catch (ComparisonFailure $failure) {}
-        }
-
-        return new MethodProphecy($this, $methodName, $arguments);
-    }
-
-    /**
-     * Tries to get property value from double.
-     *
-     * @param string $name
-     */
-    public function __get($name)
-    {
-        return $this->reveal()->$name;
-    }
-
-    /**
-     * Tries to set property value to double.
-     *
-     * @param string $name
-     * @param string $value
-     */
-    public function __set($name, $value)
-    {
-        $this->reveal()->$name = $this->revealer->reveal($value);
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php
deleted file mode 100644
index 462f15a..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-/**
- * Core Prophecy interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface ProphecyInterface
-{
-    /**
-     * Reveals prophecy object (double) .
-     *
-     * @return object
-     */
-    public function reveal();
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php
deleted file mode 100644
index 2d83958..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-/**
- * Controllable doubles interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface ProphecySubjectInterface
-{
-    /**
-     * Sets subject prophecy.
-     *
-     * @param ProphecyInterface $prophecy
-     */
-    public function setProphecy(ProphecyInterface $prophecy);
-
-    /**
-     * Returns subject prophecy.
-     *
-     * @return ProphecyInterface
-     */
-    public function getProphecy();
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php
deleted file mode 100644
index 60ecdac..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-/**
- * Basic prophecies revealer.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Revealer implements RevealerInterface
-{
-    /**
-     * Unwraps value(s).
-     *
-     * @param mixed $value
-     *
-     * @return mixed
-     */
-    public function reveal($value)
-    {
-        if (is_array($value)) {
-            return array_map(array($this, __FUNCTION__), $value);
-        }
-
-        if (!is_object($value)) {
-            return $value;
-        }
-
-        if ($value instanceof ProphecyInterface) {
-            $value = $value->reveal();
-        }
-
-        return $value;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php
deleted file mode 100644
index ffc82bb..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-/**
- * Prophecies revealer interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface RevealerInterface
-{
-    /**
-     * Unwraps value(s).
-     *
-     * @param mixed $value
-     *
-     * @return mixed
-     */
-    public function reveal($value);
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophet.php b/core/vendor/phpspec/prophecy/src/Prophecy/Prophet.php
deleted file mode 100644
index ac64923..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Prophet.php
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy;
-
-use Prophecy\Doubler\Doubler;
-use Prophecy\Doubler\LazyDouble;
-use Prophecy\Doubler\ClassPatch;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\RevealerInterface;
-use Prophecy\Prophecy\Revealer;
-use Prophecy\Call\CallCenter;
-use Prophecy\Util\StringUtil;
-use Prophecy\Exception\Prediction\PredictionException;
-use Prophecy\Exception\Prediction\AggregateException;
-
-/**
- * Prophet creates prophecies.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Prophet
-{
-    private $doubler;
-    private $revealer;
-    private $util;
-
-    /**
-     * @var ObjectProphecy[]
-     */
-    private $prophecies = array();
-
-    /**
-     * Initializes Prophet.
-     *
-     * @param null|Doubler           $doubler
-     * @param null|RevealerInterface $revealer
-     * @param null|StringUtil        $util
-     */
-    public function __construct(Doubler $doubler = null, RevealerInterface $revealer = null,
-                                StringUtil $util = null)
-    {
-        if (null === $doubler) {
-            $doubler = new Doubler;
-            $doubler->registerClassPatch(new ClassPatch\SplFileInfoPatch);
-            $doubler->registerClassPatch(new ClassPatch\TraversablePatch);
-            $doubler->registerClassPatch(new ClassPatch\DisableConstructorPatch);
-            $doubler->registerClassPatch(new ClassPatch\ProphecySubjectPatch);
-            $doubler->registerClassPatch(new ClassPatch\ReflectionClassNewInstancePatch);
-            $doubler->registerClassPatch(new ClassPatch\HhvmExceptionPatch());
-            $doubler->registerClassPatch(new ClassPatch\MagicCallPatch);
-            $doubler->registerClassPatch(new ClassPatch\KeywordPatch);
-        }
-
-        $this->doubler  = $doubler;
-        $this->revealer = $revealer ?: new Revealer;
-        $this->util     = $util ?: new StringUtil;
-    }
-
-    /**
-     * Creates new object prophecy.
-     *
-     * @param null|string $classOrInterface Class or interface name
-     *
-     * @return ObjectProphecy
-     */
-    public function prophesize($classOrInterface = null)
-    {
-        $this->prophecies[] = $prophecy = new ObjectProphecy(
-            new LazyDouble($this->doubler),
-            new CallCenter($this->util),
-            $this->revealer
-        );
-
-        if ($classOrInterface && class_exists($classOrInterface)) {
-            return $prophecy->willExtend($classOrInterface);
-        }
-
-        if ($classOrInterface && interface_exists($classOrInterface)) {
-            return $prophecy->willImplement($classOrInterface);
-        }
-
-        return $prophecy;
-    }
-
-    /**
-     * Returns all created object prophecies.
-     *
-     * @return ObjectProphecy[]
-     */
-    public function getProphecies()
-    {
-        return $this->prophecies;
-    }
-
-    /**
-     * Returns Doubler instance assigned to this Prophet.
-     *
-     * @return Doubler
-     */
-    public function getDoubler()
-    {
-        return $this->doubler;
-    }
-
-    /**
-     * Checks all predictions defined by prophecies of this Prophet.
-     *
-     * @throws Exception\Prediction\AggregateException If any prediction fails
-     */
-    public function checkPredictions()
-    {
-        $exception = new AggregateException("Some predictions failed:\n");
-        foreach ($this->prophecies as $prophecy) {
-            try {
-                $prophecy->checkProphecyMethodsPredictions();
-            } catch (PredictionException $e) {
-                $exception->append($e);
-            }
-        }
-
-        if (count($exception->getExceptions())) {
-            throw $exception;
-        }
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php b/core/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php
deleted file mode 100644
index 54d3832..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php
+++ /dev/null
@@ -1,185 +0,0 @@
-<?php
-
-namespace Prophecy\Util;
-
-use Prophecy\Prophecy\ProphecyInterface;
-use SplObjectStorage;
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exporting utility.
- *
- * This class is derived from the PHPUnit testing framework.
- *
- * @author  Sebastiaan Stok <s.stok@rollerscapes.net
- * @author  Sebastian Bergmann <sebastian@phpunit.de>
- * @license http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License>
- */
-class ExportUtil
-{
-    /**
-     * Exports a value into a string.
-     *
-     * The output of this method is similar to the output of print_r(), but
-     * improved in various aspects:
-     *
-     *  - NULL is rendered as "null" (instead of "")
-     *  - true is rendered as "true" (instead of "1")
-     *  - FALSE is rendered as "false" (instead of "")
-     *  - Strings are always quoted with single quotes
-     *  - Carriage returns and newlines are normalized to \n
-     *  - Recursion and repeated rendering is treated properly
-     *
-     * @param  mixed   $value       The value to export
-     * @param  integer $indentation The indentation level of the 2nd+ line
-     *
-     * @return string
-     */
-    public static function export($value, $indentation = 0)
-    {
-        return static::recursiveExport($value, $indentation);
-    }
-
-    /**
-     * Converts an object to an array containing all of its private, protected
-     * and public properties.
-     *
-     * @param  object $object
-     *
-     * @return array
-     */
-    public static function toArray($object)
-    {
-        $array = array();
-
-        foreach ((array) $object as $key => $value) {
-            // properties are transformed to keys in the following way:
-
-            // private   $property => "\0Classname\0property"
-            // protected $property => "\0*\0property"
-            // public    $property => "property"
-
-            if (preg_match('/^\0.+\0(.+)$/', $key, $matches)) {
-                $key = $matches[1];
-            }
-
-            $array[$key] = $value;
-        }
-
-        // Some internal classes like SplObjectStorage don't work with the
-        // above (fast) mechanism nor with reflection
-        // Format the output similarly to print_r() in this case
-        if ($object instanceof SplObjectStorage) {
-            foreach ($object as $key => $value) {
-                $array[spl_object_hash($value)] = array(
-                    'obj' => $value,
-                    'inf' => $object->getInfo(),
-                );
-            }
-        }
-
-        return $array;
-    }
-
-    /**
-     * Recursive implementation of export.
-     *
-     * @param  mixed   $value            The value to export
-     * @param  integer $indentation      The indentation level of the 2nd+ line
-     * @param  array   $processedObjects Contains all objects that were already
-     *                                   rendered
-     *
-     * @return string
-     */
-    protected static function recursiveExport($value, $indentation, &$processedObjects = array())
-    {
-        if ($value === null) {
-            return 'null';
-        }
-
-        if ($value === true) {
-            return 'true';
-        }
-
-        if ($value === false) {
-            return 'false';
-        }
-
-        if (is_string($value)) {
-            // Match for most non printable chars somewhat taking multibyte chars into account
-            if (preg_match('/[^\x09-\x0d\x20-\xff]/', $value)) {
-                return 'Binary String: 0x' . bin2hex($value);
-            }
-
-            return "'" . str_replace(array("\r\n", "\n\r", "\r"), array("\n", "\n", "\n"), $value) . "'";
-        }
-
-        $origValue = $value;
-
-        if (is_object($value)) {
-            if ($value instanceof ProphecyInterface) {
-                return sprintf('%s Object (*Prophecy*)', get_class($value));
-            } elseif (in_array($value, $processedObjects, true)) {
-                return sprintf('%s Object (*RECURSION*)', get_class($value));
-            }
-
-            $processedObjects[] = $value;
-
-            // Convert object to array
-            $value = self::toArray($value);
-        }
-
-        if (is_array($value)) {
-            $whitespace = str_repeat('    ', $indentation);
-
-            // There seems to be no other way to check arrays for recursion
-            // http://www.php.net/manual/en/language.types.array.php#73936
-            preg_match_all('/\n            \[(\w+)\] => Array\s+\*RECURSION\*/', print_r($value, true), $matches);
-            $recursiveKeys = array_unique($matches[1]);
-
-            // Convert to valid array keys
-            // Numeric integer strings are automatically converted to integers
-            // by PHP
-            foreach ($recursiveKeys as $key => $recursiveKey) {
-                if ((string) (integer) $recursiveKey === $recursiveKey) {
-                    $recursiveKeys[$key] = (integer) $recursiveKey;
-                }
-            }
-
-            $content = '';
-
-            foreach ($value as $key => $val) {
-                if (in_array($key, $recursiveKeys, true)) {
-                    $val = 'Array (*RECURSION*)';
-                } else {
-                    $val = self::recursiveExport($val, $indentation + 1, $processedObjects);
-                }
-
-                $content .= $whitespace . '    ' . self::export($key) . ' => ' . $val . "\n";
-            }
-
-            if (strlen($content) > 0) {
-                $content = "\n" . $content . $whitespace;
-            }
-
-            return sprintf(
-                "%s (%s)",
-                is_object($origValue) ? sprintf('%s:%s', get_class($origValue), spl_object_hash($origValue)) . ' Object' : 'Array', $content
-            );
-        }
-
-        if (is_double($value) && (double)(integer) $value === $value) {
-            return $value . '.0';
-        }
-
-        return (string) $value;
-    }
-}
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php b/core/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php
deleted file mode 100644
index bb90156..0000000
--- a/core/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Util;
-
-use Prophecy\Call\Call;
-
-/**
- * String utility.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class StringUtil
-{
-    /**
-     * Stringifies any provided value.
-     *
-     * @param mixed   $value
-     * @param boolean $exportObject
-     *
-     * @return string
-     */
-    public function stringify($value, $exportObject = true)
-    {
-        if (is_array($value)) {
-            if (range(0, count($value) - 1) === array_keys($value)) {
-                return '['.implode(', ', array_map(array($this, __FUNCTION__), $value)).']';
-            }
-
-            $stringify = array($this, __FUNCTION__);
-
-            return '['.implode(', ', array_map(function ($item, $key) use ($stringify) {
-                return (is_integer($key) ? $key : '"'.$key.'"').
-                    ' => '.call_user_func($stringify, $item);
-            }, $value, array_keys($value))).']';
-        }
-        if (is_resource($value)) {
-            return get_resource_type($value).':'.$value;
-        }
-        if (is_object($value)) {
-            return $exportObject ? ExportUtil::export($value) : sprintf('%s:%s', get_class($value), spl_object_hash($value));
-        }
-        if (true === $value || false === $value) {
-            return $value ? 'true' : 'false';
-        }
-        if (is_string($value)) {
-            $str = sprintf('"%s"', str_replace("\n", '\\n', $value));
-
-            if (50 <= strlen($str)) {
-                return substr($str, 0, 50).'"...';
-            }
-
-            return $str;
-        }
-        if (null === $value) {
-            return 'null';
-        }
-
-        return (string) $value;
-    }
-
-    /**
-     * Stringifies provided array of calls.
-     *
-     * @param Call[] $calls Array of Call instances
-     *
-     * @return string
-     */
-    public function stringifyCalls(array $calls)
-    {
-        $self = $this;
-
-        return implode(PHP_EOL, array_map(function (Call $call) use ($self) {
-            return sprintf('  - %s(%s) @ %s',
-                $call->getMethodName(),
-                implode(', ', array_map(array($self, 'stringify'), $call->getArguments())),
-                str_replace(GETCWD().DIRECTORY_SEPARATOR, '', $call->getCallPlace())
-            );
-        }, $calls));
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/.gitattributes b/core/vendor/phpunit/php-code-coverage/.gitattributes
deleted file mode 100644
index 461090b..0000000
--- a/core/vendor/phpunit/php-code-coverage/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.php diff=php
diff --git a/core/vendor/phpunit/php-code-coverage/.gitignore b/core/vendor/phpunit/php-code-coverage/.gitignore
deleted file mode 100644
index b386531..0000000
--- a/core/vendor/phpunit/php-code-coverage/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-build/api
-build/code-browser
-build/coverage
-build/logs
-build/pdepend
-cache.properties
-phpunit.xml
-/vendor
-/composer.lock
-/composer.phar
-/.idea
diff --git a/core/vendor/phpunit/php-code-coverage/.travis.yml b/core/vendor/phpunit/php-code-coverage/.travis.yml
deleted file mode 100644
index 5c23715..0000000
--- a/core/vendor/phpunit/php-code-coverage/.travis.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-language: php
-
-php:
-    - 5.3.3
-    - 5.3
-    - 5.4
-    - 5.5
-    - 5.6
-
-before_script:
-    - COMPOSER_ROOT_VERSION=dev-master composer install --dev --prefer-source
-
-script: vendor/bin/phpunit --configuration ./build/travis-ci.xml
-
-notifications:
-  email: false
-  irc:
-    channels:
-      - "irc.freenode.org#phpunit"
-    use_notice: true
diff --git a/core/vendor/phpunit/php-code-coverage/CONTRIBUTING.md b/core/vendor/phpunit/php-code-coverage/CONTRIBUTING.md
deleted file mode 100644
index 40dbc25..0000000
--- a/core/vendor/phpunit/php-code-coverage/CONTRIBUTING.md
+++ /dev/null
@@ -1,5 +0,0 @@
-Pull Requests for bug fixes should be made against the current release branch (2.0).
-
-Pull Requests for new features should be made against master.
-
-For further notes please refer to [https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md)
diff --git a/core/vendor/phpunit/php-code-coverage/LICENSE b/core/vendor/phpunit/php-code-coverage/LICENSE
deleted file mode 100644
index fcfa37e..0000000
--- a/core/vendor/phpunit/php-code-coverage/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-PHP_CodeCoverage
-
-Copyright (c) 2009-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/phpunit/php-code-coverage/README.md b/core/vendor/phpunit/php-code-coverage/README.md
deleted file mode 100644
index 6ca608a..0000000
--- a/core/vendor/phpunit/php-code-coverage/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-[![Latest Stable Version](https://poser.pugx.org/phpunit/php-code-coverage/v/stable.png)](https://packagist.org/packages/phpunit/php-code-coverage)
-[![Build Status](https://travis-ci.org/sebastianbergmann/php-code-coverage.svg?branch=master)](https://travis-ci.org/sebastianbergmann/php-code-coverage)
-
-# PHP_CodeCoverage
-
-**PHP_CodeCoverage** is a library that provides collection, processing, and rendering functionality for PHP code coverage information.
-
-## Requirements
-
-* PHP 5.3.3 is required but using the latest version of PHP is highly recommended
-* [Xdebug](http://xdebug.org/) 2.1.3 is required but using the latest version of Xdebug is highly recommended
-
-## Installation
-
-To add PHP_CodeCoverage as a local, per-project dependency to your project, simply add a dependency on `phpunit/php-code-coverage` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on PHP_CodeCoverage 2.0:
-
-    {
-        "require": {
-            "phpunit/php-code-coverage": "~2.0"
-        }
-    }
-
-## Using the PHP_CodeCoverage API
-
-```php
-<?php
-$coverage = new PHP_CodeCoverage;
-$coverage->start('<name of test>');
-
-// ...
-
-$coverage->stop();
-
-$writer = new PHP_CodeCoverage_Report_Clover;
-$writer->process($coverage, '/tmp/clover.xml');
-
-$writer = new PHP_CodeCoverage_Report_HTML;
-$writer->process($coverage, '/tmp/code-coverage-report');
-```
-
diff --git a/core/vendor/phpunit/php-code-coverage/build.xml b/core/vendor/phpunit/php-code-coverage/build.xml
deleted file mode 100644
index c335d15..0000000
--- a/core/vendor/phpunit/php-code-coverage/build.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="PHP_CodeCoverage">
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/vendor"/>
-  <delete file="${basedir}/composer.lock"/>
-
-  <delete>
-   <fileset dir="${basedir}/build">
-    <include name="**/*.phar" />
-   </fileset>
-  </delete>
- </target>
-
- <target name="composer" depends="clean" description="Install dependencies with Composer">
-  <tstamp>
-   <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
-  </tstamp>
-  <delete>
-   <fileset dir="${basedir}">
-    <include name="composer.phar" />
-    <date datetime="${thirty.days.ago}" when="before"/>
-   </fileset>
-  </delete>
-
-  <get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="install"/>
-  </exec>
- </target>
-
- <target name="phpcs" description="Find coding standard violations using PHP_CodeSniffer">
-  <exec executable="phpcs">
-   <arg value="--standard=PSR2" />
-   <arg value="--extensions=php" />
-   <arg path="${basedir}/src" />
-   <arg path="${basedir}/tests" />
-  </exec>
- </target>
-</project>
diff --git a/core/vendor/phpunit/php-code-coverage/build/travis-ci.xml b/core/vendor/phpunit/php-code-coverage/build/travis-ci.xml
deleted file mode 100644
index 15e879fa..0000000
--- a/core/vendor/phpunit/php-code-coverage/build/travis-ci.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         colors="true">
-  <testsuites>
-    <testsuite name="PHP_CodeCoverage">
-      <directory suffix="Test.php">../tests/PHP</directory>
-    </testsuite>
-  </testsuites>
-
-  <logging>
-    <log type="coverage-text" target="php://stdout"/>
-  </logging>
-
-  <filter>
-    <whitelist addUncoveredFilesFromWhitelist="true">
-      <directory suffix=".php">../src</directory>
-    </whitelist>
-  </filter>
-</phpunit>
diff --git a/core/vendor/phpunit/php-code-coverage/composer.json b/core/vendor/phpunit/php-code-coverage/composer.json
deleted file mode 100644
index 23df5ba..0000000
--- a/core/vendor/phpunit/php-code-coverage/composer.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
-    "name": "phpunit/php-code-coverage",
-    "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
-    "type": "library",
-    "keywords": [
-        "coverage",
-        "testing",
-        "xunit"
-    ],
-    "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sb@sebastian-bergmann.de",
-            "role": "lead"
-        }
-    ],
-    "support": {
-        "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
-        "irc": "irc://irc.freenode.net/phpunit"
-    },
-    "require": {
-        "php": ">=5.3.3",
-        "phpunit/php-file-iterator": "~1.3",
-        "phpunit/php-token-stream": "~1.3",
-        "phpunit/php-text-template": "~1.2",
-        "sebastian/environment": "~1.0",
-        "sebastian/version": "~1.0"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4",
-        "ext-xdebug": ">=2.1.4"
-    },
-    "suggest": {
-        "ext-dom": "*",
-        "ext-xdebug": ">=2.2.1",
-        "ext-xmlwriter": "*"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.0.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/phpunit.xml.dist b/core/vendor/phpunit/php-code-coverage/phpunit.xml.dist
deleted file mode 100644
index f5fa606..0000000
--- a/core/vendor/phpunit/php-code-coverage/phpunit.xml.dist
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         bootstrap="vendor/autoload.php">
-  <testsuites>
-    <testsuite name="PHP_CodeCoverage">
-      <directory suffix="Test.php">tests/PHP</directory>
-    </testsuite>
-  </testsuites>
-
-  <logging>
-    <log type="coverage-html" target="build/coverage"/>
-    <log type="coverage-clover" target="build/logs/clover.xml"/>
-    <log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
-  </logging>
-
-  <filter>
-    <whitelist addUncoveredFilesFromWhitelist="true">
-      <directory suffix=".php">src</directory>
-    </whitelist>
-  </filter>
-</phpunit>
-
diff --git a/core/vendor/phpunit/php-code-coverage/scripts/auto_append.php b/core/vendor/phpunit/php-code-coverage/scripts/auto_append.php
deleted file mode 100644
index 6cd768d..0000000
--- a/core/vendor/phpunit/php-code-coverage/scripts/auto_append.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$coverage->stop();
-
-$writer = new PHP_CodeCoverage_Report_HTML;
-$writer->process($coverage, '/tmp/coverage');
diff --git a/core/vendor/phpunit/php-code-coverage/scripts/auto_prepend.php b/core/vendor/phpunit/php-code-coverage/scripts/auto_prepend.php
deleted file mode 100644
index 7a8887a..0000000
--- a/core/vendor/phpunit/php-code-coverage/scripts/auto_prepend.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-require_once 'PHP/CodeCoverage/Autoload.php';
-
-$coverage = new PHP_CodeCoverage;
-$filter   = $coverage->filter();
-
-$filter->addFileToBlacklist(__FILE__);
-$filter->addFileToBlacklist(dirname(__FILE__) . '/auto_append.php');
-
-$coverage->start($_SERVER['SCRIPT_FILENAME']);
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage.php
deleted file mode 100644
index 54f0f6a..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage.php
+++ /dev/null
@@ -1,864 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Environment\Runtime;
-
-/**
- * Provides collection functionality for PHP code coverage information.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-class PHP_CodeCoverage
-{
-    /**
-     * @var PHP_CodeCoverage_Driver
-     */
-    private $driver;
-
-    /**
-     * @var PHP_CodeCoverage_Filter
-     */
-    private $filter;
-
-    /**
-     * @var boolean
-     */
-    private $cacheTokens = false;
-
-    /**
-     * @var boolean
-     */
-    private $checkForUnintentionallyCoveredCode = false;
-
-    /**
-     * @var boolean
-     */
-    private $forceCoversAnnotation = false;
-
-    /**
-     * @var boolean
-     */
-    private $mapTestClassNameToCoveredClassName = false;
-
-    /**
-     * @var boolean
-     */
-    private $addUncoveredFilesFromWhitelist = true;
-
-    /**
-     * @var boolean
-     */
-    private $processUncoveredFilesFromWhitelist = false;
-
-    /**
-     * @var mixed
-     */
-    private $currentId;
-
-    /**
-     * Code coverage data.
-     *
-     * @var array
-     */
-    private $data = array();
-
-    /**
-     * @var array
-     */
-    private $ignoredLines = array();
-
-    /**
-     * Test data.
-     *
-     * @var array
-     */
-    private $tests = array();
-
-    /**
-     * Constructor.
-     *
-     * @param  PHP_CodeCoverage_Driver $driver
-     * @param  PHP_CodeCoverage_Filter $filter
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function __construct(PHP_CodeCoverage_Driver $driver = null, PHP_CodeCoverage_Filter $filter = null)
-    {
-        if ($driver === null) {
-            $runtime = new Runtime;
-
-            if ($runtime->isHHVM()) {
-                $driver = new PHP_CodeCoverage_Driver_HHVM;
-            } elseif ($runtime->hasXdebug()) {
-                $driver = new PHP_CodeCoverage_Driver_Xdebug;
-            } else {
-                throw new PHP_CodeCoverage_Exception('No code coverage driver available');
-            }
-        }
-
-        if ($filter === null) {
-            $filter = new PHP_CodeCoverage_Filter;
-        }
-
-        $this->driver = $driver;
-        $this->filter = $filter;
-    }
-
-    /**
-     * Returns the PHP_CodeCoverage_Report_Node_* object graph
-     * for this PHP_CodeCoverage object.
-     *
-     * @return PHP_CodeCoverage_Report_Node_Directory
-     * @since  Method available since Release 1.1.0
-     */
-    public function getReport()
-    {
-        $factory = new PHP_CodeCoverage_Report_Factory;
-
-        return $factory->create($this);
-    }
-
-    /**
-     * Clears collected code coverage data.
-     */
-    public function clear()
-    {
-        $this->currentId = null;
-        $this->data      = array();
-        $this->tests     = array();
-    }
-
-    /**
-     * Returns the PHP_CodeCoverage_Filter used.
-     *
-     * @return PHP_CodeCoverage_Filter
-     */
-    public function filter()
-    {
-        return $this->filter;
-    }
-
-    /**
-     * Returns the collected code coverage data.
-     * Set $raw = true to bypass all filters.
-     *
-     * @param bool $raw
-     * @return array
-     * @since  Method available since Release 1.1.0
-     */
-    public function getData($raw = false)
-    {
-        if (!$raw && $this->addUncoveredFilesFromWhitelist) {
-            $this->addUncoveredFilesFromWhitelist();
-        }
-
-        // We need to apply the blacklist filter a second time
-        // when no whitelist is used.
-        if (!$raw && !$this->filter->hasWhitelist()) {
-            $this->applyListsFilter($this->data);
-        }
-
-        return $this->data;
-    }
-
-    /**
-     * Sets the coverage data.
-     *
-     * @param array $data
-     * @since Method available since Release 2.0.0
-     */
-    public function setData(array $data)
-    {
-        $this->data = $data;
-    }
-
-    /**
-     * Returns the test data.
-     *
-     * @return array
-     * @since  Method available since Release 1.1.0
-     */
-    public function getTests()
-    {
-        return $this->tests;
-    }
-
-    /**
-     * Sets the test data.
-     *
-     * @param array $tests
-     * @since Method available since Release 2.0.0
-     */
-    public function setTests(array $tests)
-    {
-        $this->tests = $tests;
-    }
-
-    /**
-     * Start collection of code coverage information.
-     *
-     * @param  mixed                      $id
-     * @param  boolean                    $clear
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function start($id, $clear = false)
-    {
-        if (!is_bool($clear)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        if ($clear) {
-            $this->clear();
-        }
-
-        $this->currentId = $id;
-
-        $this->driver->start();
-    }
-
-    /**
-     * Stop collection of code coverage information.
-     *
-     * @param  boolean                    $append
-     * @param  mixed                      $linesToBeCovered
-     * @param  array                      $linesToBeUsed
-     * @return array
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function stop($append = true, $linesToBeCovered = array(), array $linesToBeUsed = array())
-    {
-        if (!is_bool($append)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        if (!is_array($linesToBeCovered) && $linesToBeCovered !== false) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or false'
-            );
-        }
-
-        $data = $this->driver->stop();
-        $this->append($data, null, $append, $linesToBeCovered, $linesToBeUsed);
-
-        $this->currentId = null;
-
-        return $data;
-    }
-
-    /**
-     * Appends code coverage data.
-     *
-     * @param  array                      $data
-     * @param  mixed                      $id
-     * @param  boolean                    $append
-     * @param  mixed                      $linesToBeCovered
-     * @param  array                      $linesToBeUsed
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function append(array $data, $id = null, $append = true, $linesToBeCovered = array(), array $linesToBeUsed = array())
-    {
-        if ($id === null) {
-            $id = $this->currentId;
-        }
-
-        if ($id === null) {
-            throw new PHP_CodeCoverage_Exception;
-        }
-
-        $this->applyListsFilter($data);
-        $this->applyIgnoredLinesFilter($data);
-        $this->initializeFilesThatAreSeenTheFirstTime($data);
-
-        if (!$append) {
-            return;
-        }
-
-        if ($id != 'UNCOVERED_FILES_FROM_WHITELIST') {
-            $this->applyCoversAnnotationFilter(
-                $data,
-                $linesToBeCovered,
-                $linesToBeUsed
-            );
-        }
-
-        if (empty($data)) {
-            return;
-        }
-
-        $status = null;
-
-        if ($id instanceof PHPUnit_Framework_TestCase) {
-            $status = $id->getStatus();
-            $id     = get_class($id) . '::' . $id->getName();
-        } elseif ($id instanceof PHPUnit_Extensions_PhptTestCase) {
-            $id = $id->getName();
-        }
-
-        $this->tests[$id] = $status;
-
-        foreach ($data as $file => $lines) {
-            if (!$this->filter->isFile($file)) {
-                continue;
-            }
-
-            foreach ($lines as $k => $v) {
-                if ($v == 1) {
-                    $this->data[$file][$k][] = $id;
-                }
-            }
-        }
-    }
-
-    /**
-     * Merges the data from another instance of PHP_CodeCoverage.
-     *
-     * @param PHP_CodeCoverage $that
-     */
-    public function merge(PHP_CodeCoverage $that)
-    {
-        foreach ($that->getData() as $file => $lines) {
-            if (!isset($this->data[$file])) {
-                if (!$that->filter()->isFiltered($file)) {
-                    $this->data[$file] = $lines;
-                }
-
-                continue;
-            }
-
-            foreach ($lines as $line => $data) {
-                if ($data !== null) {
-                    if (!isset($this->data[$file][$line])) {
-                        $this->data[$file][$line] = $data;
-                    } else {
-                        $this->data[$file][$line] = array_unique(
-                            array_merge($this->data[$file][$line], $data)
-                        );
-                    }
-                }
-            }
-        }
-
-        $this->tests = array_merge($this->tests, $that->getTests());
-    }
-
-    /**
-     * @param  boolean                    $flag
-     * @throws PHP_CodeCoverage_Exception
-     * @since  Method available since Release 1.1.0
-     */
-    public function setCacheTokens($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->cacheTokens = $flag;
-    }
-
-    /**
-     * @since Method available since Release 1.1.0
-     */
-    public function getCacheTokens()
-    {
-        return $this->cacheTokens;
-    }
-
-    /**
-     * @param  boolean                    $flag
-     * @throws PHP_CodeCoverage_Exception
-     * @since  Method available since Release 2.0.0
-     */
-    public function setCheckForUnintentionallyCoveredCode($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->checkForUnintentionallyCoveredCode = $flag;
-    }
-
-    /**
-     * @param  boolean                    $flag
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function setForceCoversAnnotation($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->forceCoversAnnotation = $flag;
-    }
-
-    /**
-     * @param  boolean                    $flag
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function setMapTestClassNameToCoveredClassName($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->mapTestClassNameToCoveredClassName = $flag;
-    }
-
-    /**
-     * @param  boolean                    $flag
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function setAddUncoveredFilesFromWhitelist($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->addUncoveredFilesFromWhitelist = $flag;
-    }
-
-    /**
-     * @param  boolean                    $flag
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function setProcessUncoveredFilesFromWhitelist($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->processUncoveredFilesFromWhitelist = $flag;
-    }
-
-    /**
-     * Applies the @covers annotation filtering.
-     *
-     * @param  array                                                 $data
-     * @param  mixed                                                 $linesToBeCovered
-     * @param  array                                                 $linesToBeUsed
-     * @throws PHP_CodeCoverage_Exception_UnintentionallyCoveredCode
-     */
-    private function applyCoversAnnotationFilter(array &$data, $linesToBeCovered, array $linesToBeUsed)
-    {
-        if ($linesToBeCovered === false ||
-            ($this->forceCoversAnnotation && empty($linesToBeCovered))) {
-            $data = array();
-
-            return;
-        }
-
-        if (empty($linesToBeCovered)) {
-            return;
-        }
-
-        if ($this->checkForUnintentionallyCoveredCode) {
-            $this->performUnintentionallyCoveredCodeCheck(
-                $data,
-                $linesToBeCovered,
-                $linesToBeUsed
-            );
-        }
-
-        $data = array_intersect_key($data, $linesToBeCovered);
-
-        foreach (array_keys($data) as $filename) {
-            $_linesToBeCovered = array_flip($linesToBeCovered[$filename]);
-
-            $data[$filename] = array_intersect_key(
-                $data[$filename],
-                $_linesToBeCovered
-            );
-        }
-    }
-
-    /**
-     * Applies the blacklist/whitelist filtering.
-     *
-     * @param array $data
-     */
-    private function applyListsFilter(array &$data)
-    {
-        foreach (array_keys($data) as $filename) {
-            if ($this->filter->isFiltered($filename)) {
-                unset($data[$filename]);
-            }
-        }
-    }
-
-    /**
-     * Applies the "ignored lines" filtering.
-     *
-     * @param array $data
-     */
-    private function applyIgnoredLinesFilter(array &$data)
-    {
-        foreach (array_keys($data) as $filename) {
-            if (!$this->filter->isFile($filename)) {
-                continue;
-            }
-
-            foreach ($this->getLinesToBeIgnored($filename) as $line) {
-                unset($data[$filename][$line]);
-            }
-        }
-    }
-
-    /**
-     * @param array $data
-     * @since Method available since Release 1.1.0
-     */
-    private function initializeFilesThatAreSeenTheFirstTime(array $data)
-    {
-        foreach ($data as $file => $lines) {
-            if ($this->filter->isFile($file) && !isset($this->data[$file])) {
-                $this->data[$file] = array();
-
-                foreach ($lines as $k => $v) {
-                    $this->data[$file][$k] = $v == -2 ? null : array();
-                }
-            }
-        }
-    }
-
-    /**
-     * Processes whitelisted files that are not covered.
-     */
-    private function addUncoveredFilesFromWhitelist()
-    {
-        $data           = array();
-        $uncoveredFiles = array_diff(
-            $this->filter->getWhitelist(),
-            array_keys($this->data)
-        );
-
-        foreach ($uncoveredFiles as $uncoveredFile) {
-            if (!file_exists($uncoveredFile)) {
-                continue;
-            }
-
-            if ($this->processUncoveredFilesFromWhitelist) {
-                $this->processUncoveredFileFromWhitelist(
-                    $uncoveredFile,
-                    $data,
-                    $uncoveredFiles
-                );
-            } else {
-                $data[$uncoveredFile] = array();
-
-                $lines = count(file($uncoveredFile));
-
-                for ($i = 1; $i <= $lines; $i++) {
-                    $data[$uncoveredFile][$i] = -1;
-                }
-            }
-        }
-
-        $this->append($data, 'UNCOVERED_FILES_FROM_WHITELIST');
-    }
-
-    /**
-     * @param string $uncoveredFile
-     * @param array  $data
-     * @param array  $uncoveredFiles
-     */
-    private function processUncoveredFileFromWhitelist($uncoveredFile, array &$data, array $uncoveredFiles)
-    {
-        $this->driver->start();
-        include_once $uncoveredFile;
-        $coverage = $this->driver->stop();
-
-        foreach ($coverage as $file => $fileCoverage) {
-            if (!isset($data[$file]) &&
-                in_array($file, $uncoveredFiles)) {
-                foreach (array_keys($fileCoverage) as $key) {
-                    if ($fileCoverage[$key] == 1) {
-                        $fileCoverage[$key] = -1;
-                    }
-                }
-
-                $data[$file] = $fileCoverage;
-            }
-        }
-    }
-
-    /**
-     * Returns the lines of a source file that should be ignored.
-     *
-     * @param  string                     $filename
-     * @return array
-     * @throws PHP_CodeCoverage_Exception
-     * @since  Method available since Release 2.0.0
-     */
-    private function getLinesToBeIgnored($filename)
-    {
-        if (!is_string($filename)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'string'
-            );
-        }
-
-        if (!isset($this->ignoredLines[$filename])) {
-            $this->ignoredLines[$filename] = array();
-            $ignore                        = false;
-            $stop                          = false;
-            $lines                         = file($filename);
-            $numLines                      = count($lines);
-
-            foreach ($lines as $index => $line) {
-                if (!trim($line)) {
-                    $this->ignoredLines[$filename][] = $index + 1;
-                }
-            }
-
-            if ($this->cacheTokens) {
-                $tokens = PHP_Token_Stream_CachingFactory::get($filename);
-            } else {
-                $tokens = new PHP_Token_Stream($filename);
-            }
-
-            $classes = array_merge($tokens->getClasses(), $tokens->getTraits());
-            $tokens  = $tokens->tokens();
-
-            foreach ($tokens as $token) {
-                switch (get_class($token)) {
-                    case 'PHP_Token_COMMENT':
-                    case 'PHP_Token_DOC_COMMENT':
-                        $_token = trim($token);
-                        $_line  = trim($lines[$token->getLine() - 1]);
-
-                        if ($_token == '// @codeCoverageIgnore' ||
-                            $_token == '//@codeCoverageIgnore') {
-                            $ignore = true;
-                            $stop   = true;
-                        } elseif ($_token == '// @codeCoverageIgnoreStart' ||
-                            $_token == '//@codeCoverageIgnoreStart') {
-                            $ignore = true;
-                        } elseif ($_token == '// @codeCoverageIgnoreEnd' ||
-                            $_token == '//@codeCoverageIgnoreEnd') {
-                            $stop = true;
-                        }
-
-                        if (!$ignore) {
-                            $start = $token->getLine();
-                            $end = $start + substr_count($token, "\n");
-
-                            // Do not ignore the first line when there is a token
-                            // before the comment
-                            if (0 !== strpos($_token, $_line)) {
-                                $start++;
-                            }
-
-                            for ($i = $start; $i < $end; $i++) {
-                                $this->ignoredLines[$filename][] = $i;
-                            }
-
-                            // A DOC_COMMENT token or a COMMENT token starting with "/*"
-                            // does not contain the final \n character in its text
-                            if (0 === strpos($_token, '/*') && '*/' === substr(trim($lines[$i-1]), -2)) {
-                                $this->ignoredLines[$filename][] = $i;
-                            }
-                        }
-                        break;
-
-                    case 'PHP_Token_INTERFACE':
-                    case 'PHP_Token_TRAIT':
-                    case 'PHP_Token_CLASS':
-                    case 'PHP_Token_FUNCTION':
-                        $docblock = $token->getDocblock();
-
-                        $this->ignoredLines[$filename][] = $token->getLine();
-
-                        if (strpos($docblock, '@codeCoverageIgnore')) {
-                            $endLine = $token->getEndLine();
-
-                            for ($i = $token->getLine(); $i <= $endLine; $i++) {
-                                $this->ignoredLines[$filename][] = $i;
-                            }
-                        } elseif ($token instanceof PHP_Token_INTERFACE ||
-                            $token instanceof PHP_Token_TRAIT ||
-                            $token instanceof PHP_Token_CLASS) {
-                            if (empty($classes[$token->getName()]['methods'])) {
-                                for ($i = $token->getLine();
-                                     $i <= $token->getEndLine();
-                                     $i++) {
-                                    $this->ignoredLines[$filename][] = $i;
-                                }
-                            } else {
-                                $firstMethod = array_shift(
-                                    $classes[$token->getName()]['methods']
-                                );
-
-                                do {
-                                    $lastMethod = array_pop(
-                                        $classes[$token->getName()]['methods']
-                                    );
-                                } while ($lastMethod !== null &&
-                                    substr($lastMethod['signature'], 0, 18) == 'anonymous function');
-
-                                if ($lastMethod === null) {
-                                    $lastMethod = $firstMethod;
-                                }
-
-                                for ($i = $token->getLine();
-                                     $i < $firstMethod['startLine'];
-                                     $i++) {
-                                    $this->ignoredLines[$filename][] = $i;
-                                }
-
-                                for ($i = $token->getEndLine();
-                                     $i > $lastMethod['endLine'];
-                                     $i--) {
-                                    $this->ignoredLines[$filename][] = $i;
-                                }
-                            }
-                        }
-                        break;
-
-                    case 'PHP_Token_NAMESPACE':
-                        $this->ignoredLines[$filename][] = $token->getEndLine();
-
-                    // Intentional fallthrough
-                    case 'PHP_Token_OPEN_TAG':
-                    case 'PHP_Token_CLOSE_TAG':
-                    case 'PHP_Token_USE':
-                        $this->ignoredLines[$filename][] = $token->getLine();
-                        break;
-                }
-
-                if ($ignore) {
-                    $this->ignoredLines[$filename][] = $token->getLine();
-
-                    if ($stop) {
-                        $ignore = false;
-                        $stop   = false;
-                    }
-                }
-            }
-
-            $this->ignoredLines[$filename][] = $numLines + 1;
-
-            $this->ignoredLines[$filename] = array_unique(
-                $this->ignoredLines[$filename]
-            );
-
-            sort($this->ignoredLines[$filename]);
-        }
-
-        return $this->ignoredLines[$filename];
-    }
-
-    /**
-     * @param  array                                                 $data
-     * @param  array                                                 $linesToBeCovered
-     * @param  array                                                 $linesToBeUsed
-     * @throws PHP_CodeCoverage_Exception_UnintentionallyCoveredCode
-     * @since Method available since Release 2.0.0
-     */
-    private function performUnintentionallyCoveredCodeCheck(array &$data, array $linesToBeCovered, array $linesToBeUsed)
-    {
-        $allowedLines = $this->getAllowedLines(
-            $linesToBeCovered,
-            $linesToBeUsed
-        );
-
-        $message = '';
-
-        foreach ($data as $file => $_data) {
-            foreach ($_data as $line => $flag) {
-                if ($flag == 1 &&
-                    (!isset($allowedLines[$file]) ||
-                        !isset($allowedLines[$file][$line]))) {
-                    $message .= sprintf(
-                        '- %s:%d' . PHP_EOL,
-                        $file,
-                        $line
-                    );
-                }
-            }
-        }
-
-        if (!empty($message)) {
-            throw new PHP_CodeCoverage_Exception_UnintentionallyCoveredCode(
-                $message
-            );
-        }
-    }
-
-    /**
-     * @param  array $linesToBeCovered
-     * @param  array $linesToBeUsed
-     * @return array
-     * @since Method available since Release 2.0.0
-     */
-    private function getAllowedLines(array $linesToBeCovered, array $linesToBeUsed)
-    {
-        $allowedLines = array();
-
-        foreach (array_keys($linesToBeCovered) as $file) {
-            if (!isset($allowedLines[$file])) {
-                $allowedLines[$file] = array();
-            }
-
-            $allowedLines[$file] = array_merge(
-                $allowedLines[$file],
-                $linesToBeCovered[$file]
-            );
-        }
-
-        foreach (array_keys($linesToBeUsed) as $file) {
-            if (!isset($allowedLines[$file])) {
-                $allowedLines[$file] = array();
-            }
-
-            $allowedLines[$file] = array_merge(
-                $allowedLines[$file],
-                $linesToBeUsed[$file]
-            );
-        }
-
-        foreach (array_keys($allowedLines) as $file) {
-            $allowedLines[$file] = array_flip(
-                array_unique($allowedLines[$file])
-            );
-        }
-
-        return $allowedLines;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php
deleted file mode 100644
index fd2ead8..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for code coverage drivers.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-interface PHP_CodeCoverage_Driver
-{
-    /**
-     * Start collection of code coverage information.
-     */
-    public function start();
-
-    /**
-     * Stop collection of code coverage information.
-     *
-     * @return array
-     */
-    public function stop();
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php
deleted file mode 100644
index 324a99f..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Driver for HHVM's code coverage functionality.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.3.0
- * @codeCoverageIgnore
- */
-class PHP_CodeCoverage_Driver_HHVM implements PHP_CodeCoverage_Driver
-{
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        if (!defined('HHVM_VERSION')) {
-            throw new PHP_CodeCoverage_Exception('This driver requires HHVM');
-        }
-    }
-
-    /**
-     * Start collection of code coverage information.
-     */
-    public function start()
-    {
-        fb_enable_code_coverage();
-    }
-
-    /**
-     * Stop collection of code coverage information.
-     *
-     * @return array
-     */
-    public function stop()
-    {
-        $codeCoverage = fb_get_code_coverage(true);
-
-        fb_disable_code_coverage();
-
-        return $codeCoverage;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php
deleted file mode 100644
index 3b33188..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Driver for Xdebug's code coverage functionality.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- * @codeCoverageIgnore
- */
-class PHP_CodeCoverage_Driver_Xdebug implements PHP_CodeCoverage_Driver
-{
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        if (!extension_loaded('xdebug')) {
-            throw new PHP_CodeCoverage_Exception('This driver requires Xdebug');
-        }
-
-        if (version_compare(phpversion('xdebug'), '2.2.0-dev', '>=') &&
-            !ini_get('xdebug.coverage_enable')) {
-            throw new PHP_CodeCoverage_Exception(
-                'xdebug.coverage_enable=On has to be set in php.ini'
-            );
-        }
-    }
-
-    /**
-     * Start collection of code coverage information.
-     */
-    public function start()
-    {
-        xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE);
-    }
-
-    /**
-     * Stop collection of code coverage information.
-     *
-     * @return array
-     */
-    public function stop()
-    {
-        $data = xdebug_get_code_coverage();
-        xdebug_stop_code_coverage();
-
-        return $this->cleanup($data);
-    }
-
-    /**
-     * @param  array $data
-     * @return array
-     * @since Method available since Release 2.0.0
-     */
-    private function cleanup(array $data)
-    {
-        foreach (array_keys($data) as $file) {
-            if (isset($data[$file][0])) {
-                unset($data[$file][0]);
-            }
-
-            if (file_exists($file)) {
-                $numLines = $this->getNumberOfLinesInFile($file);
-
-                foreach (array_keys($data[$file]) as $line) {
-                    if (isset($data[$file][$line]) && $line > $numLines) {
-                        unset($data[$file][$line]);
-                    }
-                }
-            }
-        }
-
-        return $data;
-    }
-
-    /**
-     * @param  string $file
-     * @return integer
-     * @since Method available since Release 2.0.0
-     */
-    private function getNumberOfLinesInFile($file)
-    {
-        $buffer = file_get_contents($file);
-        $lines  = substr_count($buffer, "\n");
-
-        if (substr($buffer, -1) !== "\n") {
-            $lines++;
-        }
-
-        return $lines;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php
deleted file mode 100644
index a960c08..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception class for PHP_CodeCoverage component.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Exception extends RuntimeException
-{
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php
deleted file mode 100644
index 7f09503..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception that is raised when code is unintentionally covered.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Exception_UnintentionallyCoveredCode extends PHP_CodeCoverage_Exception
-{
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php
deleted file mode 100644
index fce8461..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php
+++ /dev/null
@@ -1,376 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Filter for blacklisting and whitelisting of code coverage information.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-class PHP_CodeCoverage_Filter
-{
-    /**
-     * Source files that are blacklisted.
-     *
-     * @var array
-     */
-    private $blacklistedFiles = array();
-
-    /**
-     * Source files that are whitelisted.
-     *
-     * @var array
-     */
-    private $whitelistedFiles = array();
-
-    /**
-     * @var boolean
-     */
-    private $blacklistPrefilled = false;
-
-    /**
-     * A list of classes which are always blacklisted
-     *
-     * @var array
-     */
-    public static $blacklistClassNames = array(
-        'File_Iterator' => 1,
-        'PHP_CodeCoverage' => 1,
-        'PHP_Invoker' => 1,
-        'PHP_Timer' => 1,
-        'PHP_Token' => 1,
-        'PHPUnit_Framework_TestCase' => 2,
-        'PHPUnit_Extensions_Database_TestCase' => 2,
-        'PHPUnit_Framework_MockObject_Generator' => 2,
-        'PHPUnit_Extensions_SeleniumTestCase' => 2,
-        'PHPUnit_Extensions_Story_TestCase' => 2,
-        'Text_Template' => 1,
-        'Symfony\Component\Yaml\Yaml' => 1,
-        'SebastianBergmann\Diff\Diff' => 1,
-        'SebastianBergmann\Environment\Runtime' => 1,
-        'SebastianBergmann\Comparator\Comparator' => 1,
-        'SebastianBergmann\Exporter\Exporter' => 1,
-        'SebastianBergmann\GlobalState\Snapshot' => 1,
-        'SebastianBergmann\RecursionContext\Context' => 1,
-        'SebastianBergmann\Version' => 1,
-        'Composer\Autoload\ClassLoader' => 1,
-        'Doctrine\Instantiator\Instantiator' => 1,
-        'phpDocumentor\Reflection\DocBlock' => 1,
-        'Prophecy\Prophet' => 1
-    );
-
-    /**
-     * Adds a directory to the blacklist (recursively).
-     *
-     * @param string $directory
-     * @param string $suffix
-     * @param string $prefix
-     */
-    public function addDirectoryToBlacklist($directory, $suffix = '.php', $prefix = '')
-    {
-        $facade = new File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
-
-        foreach ($files as $file) {
-            $this->addFileToBlacklist($file);
-        }
-    }
-
-    /**
-     * Adds a file to the blacklist.
-     *
-     * @param string $filename
-     */
-    public function addFileToBlacklist($filename)
-    {
-        $this->blacklistedFiles[realpath($filename)] = true;
-    }
-
-    /**
-     * Adds files to the blacklist.
-     *
-     * @param array $files
-     */
-    public function addFilesToBlacklist(array $files)
-    {
-        foreach ($files as $file) {
-            $this->addFileToBlacklist($file);
-        }
-    }
-
-    /**
-     * Removes a directory from the blacklist (recursively).
-     *
-     * @param string $directory
-     * @param string $suffix
-     * @param string $prefix
-     */
-    public function removeDirectoryFromBlacklist($directory, $suffix = '.php', $prefix = '')
-    {
-        $facade = new File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
-
-        foreach ($files as $file) {
-            $this->removeFileFromBlacklist($file);
-        }
-    }
-
-    /**
-     * Removes a file from the blacklist.
-     *
-     * @param string $filename
-     */
-    public function removeFileFromBlacklist($filename)
-    {
-        $filename = realpath($filename);
-
-        if (isset($this->blacklistedFiles[$filename])) {
-            unset($this->blacklistedFiles[$filename]);
-        }
-    }
-
-    /**
-     * Adds a directory to the whitelist (recursively).
-     *
-     * @param string $directory
-     * @param string $suffix
-     * @param string $prefix
-     */
-    public function addDirectoryToWhitelist($directory, $suffix = '.php', $prefix = '')
-    {
-        $facade = new File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
-
-        foreach ($files as $file) {
-            $this->addFileToWhitelist($file);
-        }
-    }
-
-    /**
-     * Adds a file to the whitelist.
-     *
-     * @param string $filename
-     */
-    public function addFileToWhitelist($filename)
-    {
-        $this->whitelistedFiles[realpath($filename)] = true;
-    }
-
-    /**
-     * Adds files to the whitelist.
-     *
-     * @param array $files
-     */
-    public function addFilesToWhitelist(array $files)
-    {
-        foreach ($files as $file) {
-            $this->addFileToWhitelist($file);
-        }
-    }
-
-    /**
-     * Removes a directory from the whitelist (recursively).
-     *
-     * @param string $directory
-     * @param string $suffix
-     * @param string $prefix
-     */
-    public function removeDirectoryFromWhitelist($directory, $suffix = '.php', $prefix = '')
-    {
-        $facade = new File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
-
-        foreach ($files as $file) {
-            $this->removeFileFromWhitelist($file);
-        }
-    }
-
-    /**
-     * Removes a file from the whitelist.
-     *
-     * @param string $filename
-     */
-    public function removeFileFromWhitelist($filename)
-    {
-        $filename = realpath($filename);
-
-        if (isset($this->whitelistedFiles[$filename])) {
-            unset($this->whitelistedFiles[$filename]);
-        }
-    }
-
-    /**
-     * Checks whether a filename is a real filename.
-     *
-     * @param string $filename
-     */
-    public function isFile($filename)
-    {
-        if ($filename == '-' ||
-            strpos($filename, 'vfs://') === 0 ||
-            strpos($filename, 'xdebug://debug-eval') !== false ||
-            strpos($filename, 'eval()\'d code') !== false ||
-            strpos($filename, 'runtime-created function') !== false ||
-            strpos($filename, 'runkit created function') !== false ||
-            strpos($filename, 'assert code') !== false ||
-            strpos($filename, 'regexp code') !== false) {
-            return false;
-        }
-
-        return file_exists($filename);
-    }
-
-    /**
-     * Checks whether or not a file is filtered.
-     *
-     * When the whitelist is empty (default), blacklisting is used.
-     * When the whitelist is not empty, whitelisting is used.
-     *
-     * @param  string                     $filename
-     * @param  boolean                    $ignoreWhitelist
-     * @return boolean
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function isFiltered($filename)
-    {
-        if (!$this->isFile($filename)) {
-            return true;
-        }
-
-        $filename = realpath($filename);
-
-        if (!empty($this->whitelistedFiles)) {
-            return !isset($this->whitelistedFiles[$filename]);
-        }
-
-        if (!$this->blacklistPrefilled) {
-            $this->prefillBlacklist();
-        }
-
-        return isset($this->blacklistedFiles[$filename]);
-    }
-
-    /**
-     * Returns the list of blacklisted files.
-     *
-     * @return array
-     */
-    public function getBlacklist()
-    {
-        return array_keys($this->blacklistedFiles);
-    }
-
-    /**
-     * Returns the list of whitelisted files.
-     *
-     * @return array
-     */
-    public function getWhitelist()
-    {
-        return array_keys($this->whitelistedFiles);
-    }
-
-    /**
-     * Returns whether this filter has a whitelist.
-     *
-     * @return boolean
-     * @since  Method available since Release 1.1.0
-     */
-    public function hasWhitelist()
-    {
-        return !empty($this->whitelistedFiles);
-    }
-
-    /**
-     * @since Method available since Release 1.2.3
-     */
-    private function prefillBlacklist()
-    {
-        if (defined('__PHPUNIT_PHAR__')) {
-            $this->addFileToBlacklist(__PHPUNIT_PHAR__);
-        }
-
-        foreach (self::$blacklistClassNames as $className => $parent) {
-            $this->addDirectoryContainingClassToBlacklist($className, $parent);
-        }
-
-        $this->blacklistPrefilled = true;
-    }
-
-    /**
-     * @param string  $className
-     * @param integer $parent
-     * @since Method available since Release 1.2.3
-     */
-    private function addDirectoryContainingClassToBlacklist($className, $parent = 1)
-    {
-        if (!class_exists($className)) {
-            return;
-        }
-
-        $reflector = new ReflectionClass($className);
-        $directory = $reflector->getFileName();
-
-        for ($i = 0; $i < $parent; $i++) {
-            $directory = dirname($directory);
-        }
-
-        $this->addDirectoryToBlacklist($directory);
-    }
-
-    /**
-     * Returns the blacklisted files.
-     *
-     * @return array
-     * @since Method available since Release 2.0.0
-     */
-    public function getBlacklistedFiles()
-    {
-        return $this->blacklistedFiles;
-    }
-
-    /**
-     * Sets the blacklisted files.
-     *
-     * @param array $blacklistedFiles
-     * @since Method available since Release 2.0.0
-     */
-    public function setBlacklistedFiles($blacklistedFiles)
-    {
-        $this->blacklistedFiles = $blacklistedFiles;
-    }
-
-    /**
-     * Returns the whitelisted files.
-     *
-     * @return array
-     * @since Method available since Release 2.0.0
-     */
-    public function getWhitelistedFiles()
-    {
-        return $this->whitelistedFiles;
-    }
-
-    /**
-     * Sets the whitelisted files.
-     *
-     * @param array $whitelistedFiles
-     * @since Method available since Release 2.0.0
-     */
-    public function setWhitelistedFiles($whitelistedFiles)
-    {
-        $this->whitelistedFiles = $whitelistedFiles;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php
deleted file mode 100644
index c29e175..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php
+++ /dev/null
@@ -1,290 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Generates a Clover XML logfile from an PHP_CodeCoverage object.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-class PHP_CodeCoverage_Report_Clover
-{
-    /**
-     * @param  PHP_CodeCoverage $coverage
-     * @param  string           $target
-     * @param  string           $name
-     * @return string
-     */
-    public function process(PHP_CodeCoverage $coverage, $target = null, $name = null)
-    {
-        $xmlDocument = new DOMDocument('1.0', 'UTF-8');
-        $xmlDocument->formatOutput = true;
-
-        $xmlCoverage = $xmlDocument->createElement('coverage');
-        $xmlCoverage->setAttribute('generated', (int) $_SERVER['REQUEST_TIME']);
-        $xmlDocument->appendChild($xmlCoverage);
-
-        $xmlProject = $xmlDocument->createElement('project');
-        $xmlProject->setAttribute('timestamp', (int) $_SERVER['REQUEST_TIME']);
-
-        if (is_string($name)) {
-            $xmlProject->setAttribute('name', $name);
-        }
-
-        $xmlCoverage->appendChild($xmlProject);
-
-        $packages = array();
-        $report   = $coverage->getReport();
-        unset($coverage);
-
-        foreach ($report as $item) {
-            $namespace = 'global';
-
-            if (!$item instanceof PHP_CodeCoverage_Report_Node_File) {
-                continue;
-            }
-
-            $xmlFile = $xmlDocument->createElement('file');
-            $xmlFile->setAttribute('name', $item->getPath());
-
-            $classes  = $item->getClassesAndTraits();
-            $coverage = $item->getCoverageData();
-            $lines    = array();
-
-            foreach ($classes as $className => $class) {
-                $classStatements        = 0;
-                $coveredClassStatements = 0;
-                $coveredMethods         = 0;
-                $classMethods           = 0;
-
-                foreach ($class['methods'] as $methodName => $method) {
-                    if ($method['executableLines']  == 0) {
-                        continue;
-                    }
-
-                    $classMethods++;
-                    $classStatements        += $method['executableLines'];
-                    $coveredClassStatements += $method['executedLines'];
-                    if ($method['coverage'] == 100) {
-                        $coveredMethods++;
-                    }
-
-                    $methodCount = 0;
-                    for ($i  = $method['startLine'];
-                         $i <= $method['endLine'];
-                         $i++) {
-                        if (isset($coverage[$i]) && ($coverage[$i] !== null)) {
-                            $methodCount = max($methodCount, count($coverage[$i]));
-                        }
-                    }
-
-                    $lines[$method['startLine']] = array(
-                        'count' => $methodCount,
-                        'crap'  => $method['crap'],
-                        'type'  => 'method',
-                        'name'  => $methodName
-                    );
-                }
-
-                if (!empty($class['package']['namespace'])) {
-                    $namespace = $class['package']['namespace'];
-                }
-
-                $xmlClass = $xmlDocument->createElement('class');
-                $xmlClass->setAttribute('name', $className);
-                $xmlClass->setAttribute('namespace', $namespace);
-
-                if (!empty($class['package']['fullPackage'])) {
-                    $xmlClass->setAttribute(
-                        'fullPackage',
-                        $class['package']['fullPackage']
-                    );
-                }
-
-                if (!empty($class['package']['category'])) {
-                    $xmlClass->setAttribute(
-                        'category',
-                        $class['package']['category']
-                    );
-                }
-
-                if (!empty($class['package']['package'])) {
-                    $xmlClass->setAttribute(
-                        'package',
-                        $class['package']['package']
-                    );
-                }
-
-                if (!empty($class['package']['subpackage'])) {
-                    $xmlClass->setAttribute(
-                        'subpackage',
-                        $class['package']['subpackage']
-                    );
-                }
-
-                $xmlFile->appendChild($xmlClass);
-
-                $xmlMetrics = $xmlDocument->createElement('metrics');
-                $xmlMetrics->setAttribute('methods', $classMethods);
-                $xmlMetrics->setAttribute('coveredmethods', $coveredMethods);
-                $xmlMetrics->setAttribute('conditionals', 0);
-                $xmlMetrics->setAttribute('coveredconditionals', 0);
-                $xmlMetrics->setAttribute('statements', $classStatements);
-                $xmlMetrics->setAttribute(
-                    'coveredstatements',
-                    $coveredClassStatements
-                );
-                $xmlMetrics->setAttribute(
-                    'elements',
-                    $classMethods +
-                    $classStatements
-                    /* + conditionals */
-                );
-                $xmlMetrics->setAttribute(
-                    'coveredelements',
-                    $coveredMethods +
-                    $coveredClassStatements
-                    /* + coveredconditionals */
-                );
-                $xmlClass->appendChild($xmlMetrics);
-            }
-
-            foreach ($coverage as $line => $data) {
-                if ($data === null || isset($lines[$line])) {
-                    continue;
-                }
-
-                $lines[$line] = array(
-                    'count' => count($data), 'type' => 'stmt'
-                );
-            }
-
-            ksort($lines);
-
-            foreach ($lines as $line => $data) {
-                $xmlLine = $xmlDocument->createElement('line');
-                $xmlLine->setAttribute('num', $line);
-                $xmlLine->setAttribute('type', $data['type']);
-
-                if (isset($data['name'])) {
-                    $xmlLine->setAttribute('name', $data['name']);
-                }
-
-                if (isset($data['crap'])) {
-                    $xmlLine->setAttribute('crap', $data['crap']);
-                }
-
-                $xmlLine->setAttribute('count', $data['count']);
-                $xmlFile->appendChild($xmlLine);
-            }
-
-            $linesOfCode = $item->getLinesOfCode();
-
-            $xmlMetrics = $xmlDocument->createElement('metrics');
-            $xmlMetrics->setAttribute('loc', $linesOfCode['loc']);
-            $xmlMetrics->setAttribute('ncloc', $linesOfCode['ncloc']);
-            $xmlMetrics->setAttribute('classes', $item->getNumClassesAndTraits());
-            $xmlMetrics->setAttribute('methods', $item->getNumMethods());
-            $xmlMetrics->setAttribute(
-                'coveredmethods',
-                $item->getNumTestedMethods()
-            );
-            $xmlMetrics->setAttribute('conditionals', 0);
-            $xmlMetrics->setAttribute('coveredconditionals', 0);
-            $xmlMetrics->setAttribute(
-                'statements',
-                $item->getNumExecutableLines()
-            );
-            $xmlMetrics->setAttribute(
-                'coveredstatements',
-                $item->getNumExecutedLines()
-            );
-            $xmlMetrics->setAttribute(
-                'elements',
-                $item->getNumMethods() + $item->getNumExecutableLines()
-                /* + conditionals */
-            );
-            $xmlMetrics->setAttribute(
-                'coveredelements',
-                $item->getNumTestedMethods() + $item->getNumExecutedLines()
-                /* + coveredconditionals */
-            );
-            $xmlFile->appendChild($xmlMetrics);
-
-            if ($namespace == 'global') {
-                $xmlProject->appendChild($xmlFile);
-            } else {
-                if (!isset($packages[$namespace])) {
-                    $packages[$namespace] = $xmlDocument->createElement(
-                        'package'
-                    );
-
-                    $packages[$namespace]->setAttribute('name', $namespace);
-                    $xmlProject->appendChild($packages[$namespace]);
-                }
-
-                $packages[$namespace]->appendChild($xmlFile);
-            }
-        }
-
-        $linesOfCode = $report->getLinesOfCode();
-
-        $xmlMetrics = $xmlDocument->createElement('metrics');
-        $xmlMetrics->setAttribute('files', count($report));
-        $xmlMetrics->setAttribute('loc', $linesOfCode['loc']);
-        $xmlMetrics->setAttribute('ncloc', $linesOfCode['ncloc']);
-        $xmlMetrics->setAttribute(
-            'classes',
-            $report->getNumClassesAndTraits()
-        );
-        $xmlMetrics->setAttribute('methods', $report->getNumMethods());
-        $xmlMetrics->setAttribute(
-            'coveredmethods',
-            $report->getNumTestedMethods()
-        );
-        $xmlMetrics->setAttribute('conditionals', 0);
-        $xmlMetrics->setAttribute('coveredconditionals', 0);
-        $xmlMetrics->setAttribute(
-            'statements',
-            $report->getNumExecutableLines()
-        );
-        $xmlMetrics->setAttribute(
-            'coveredstatements',
-            $report->getNumExecutedLines()
-        );
-        $xmlMetrics->setAttribute(
-            'elements',
-            $report->getNumMethods() + $report->getNumExecutableLines()
-            /* + conditionals */
-        );
-        $xmlMetrics->setAttribute(
-            'coveredelements',
-            $report->getNumTestedMethods() + $report->getNumExecutedLines()
-            /* + coveredconditionals */
-        );
-
-        $xmlProject->appendChild($xmlMetrics);
-
-        if ($target !== null) {
-            if (!is_dir(dirname($target))) {
-                mkdir(dirname($target), 0777, true);
-            }
-
-            return $xmlDocument->save($target);
-        } else {
-            return $xmlDocument->saveXML();
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php
deleted file mode 100644
index 8e1f11a..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Zsolt Takács <zsolt@takacs.cc>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_Crap4j
-{
-    private $threshold = 30;
-
-    /**
-     * @param  PHP_CodeCoverage $coverage
-     * @param  string           $target
-     * @param  string           $name
-     * @return string
-     */
-    public function process(PHP_CodeCoverage $coverage, $target = null, $name = null)
-    {
-        $document = new DOMDocument('1.0', 'UTF-8');
-        $document->formatOutput = true;
-
-        $root = $document->createElement('crap_result');
-        $document->appendChild($root);
-
-        $project = $document->createElement('project', is_string($name) ? $name : '');
-        $root->appendChild($project);
-        $root->appendChild($document->createElement('timestamp', date('Y-m-d H:i:s', (int) $_SERVER['REQUEST_TIME'])));
-
-        $stats       = $document->createElement('stats');
-        $methodsNode = $document->createElement('methods');
-
-        $report = $coverage->getReport();
-        unset($coverage);
-
-        $fullMethodCount     = 0;
-        $fullCrapMethodCount = 0;
-        $fullCrapLoad        = 0;
-        $fullCrap            = 0;
-
-        foreach ($report as $item) {
-            $namespace = 'global';
-
-            if (!$item instanceof PHP_CodeCoverage_Report_Node_File) {
-                continue;
-            }
-
-            $file = $document->createElement('file');
-            $file->setAttribute('name', $item->getPath());
-
-            $classes = $item->getClassesAndTraits();
-
-            foreach ($classes as $className => $class) {
-                foreach ($class['methods'] as $methodName => $method) {
-                    $crapLoad = $this->getCrapLoad($method['crap'], $method['ccn'], $method['coverage']);
-
-                    $fullCrap     += $method['crap'];
-                    $fullCrapLoad += $crapLoad;
-                    $fullMethodCount++;
-
-                    if ($method['crap'] >= $this->threshold) {
-                        $fullCrapMethodCount++;
-                    }
-
-                    $methodNode = $document->createElement('method');
-
-                    if (!empty($class['package']['namespace'])) {
-                        $namespace = $class['package']['namespace'];
-                    }
-
-                    $methodNode->appendChild($document->createElement('package', $namespace));
-                    $methodNode->appendChild($document->createElement('className', $className));
-                    $methodNode->appendChild($document->createElement('methodName', $methodName));
-                    $methodNode->appendChild($document->createElement('methodSignature', htmlspecialchars($method['signature'])));
-                    $methodNode->appendChild($document->createElement('fullMethod', htmlspecialchars($method['signature'])));
-                    $methodNode->appendChild($document->createElement('crap', $this->roundValue($method['crap'])));
-                    $methodNode->appendChild($document->createElement('complexity', $method['ccn']));
-                    $methodNode->appendChild($document->createElement('coverage', $this->roundValue($method['coverage'])));
-                    $methodNode->appendChild($document->createElement('crapLoad', round($crapLoad)));
-
-                    $methodsNode->appendChild($methodNode);
-                }
-            }
-        }
-
-        $stats->appendChild($document->createElement('name', 'Method Crap Stats'));
-        $stats->appendChild($document->createElement('methodCount', $fullMethodCount));
-        $stats->appendChild($document->createElement('crapMethodCount', $fullCrapMethodCount));
-        $stats->appendChild($document->createElement('crapLoad', round($fullCrapLoad)));
-        $stats->appendChild($document->createElement('totalCrap', $fullCrap));
-        $stats->appendChild($document->createElement('crapMethodPercent', $this->roundValue(100 * $fullCrapMethodCount / $fullMethodCount)));
-
-        $root->appendChild($stats);
-        $root->appendChild($methodsNode);
-
-        if ($target !== null) {
-            if (!is_dir(dirname($target))) {
-                mkdir(dirname($target), 0777, true);
-            }
-
-            return $document->save($target);
-        } else {
-            return $document->saveXML();
-        }
-    }
-
-    private function getCrapLoad($crapValue, $cyclomaticComplexity, $coveragePercent)
-    {
-        $crapLoad = 0;
-        if ($crapValue >= $this->threshold) {
-            $crapLoad += $cyclomaticComplexity * (1.0 - $coveragePercent / 100);
-            $crapLoad += $cyclomaticComplexity / $this->threshold;
-        }
-
-        return $crapLoad;
-    }
-
-    private function roundValue($value)
-    {
-        return round($value, 2);
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php
deleted file mode 100644
index b9bffdf..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php
+++ /dev/null
@@ -1,248 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Factory for PHP_CodeCoverage_Report_Node_* object graphs.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_Factory
-{
-    /**
-     * @param  PHP_CodeCoverage $coverage
-     * @return PHP_CodeCoverage_Report_Node_Directory
-     */
-    public function create(PHP_CodeCoverage $coverage)
-    {
-        $files      = $coverage->getData();
-        $commonPath = $this->reducePaths($files);
-        $root       = new PHP_CodeCoverage_Report_Node_Directory(
-            $commonPath,
-            null
-        );
-
-        $this->addItems(
-            $root,
-            $this->buildDirectoryStructure($files),
-            $coverage->getTests(),
-            $coverage->getCacheTokens()
-        );
-
-        return $root;
-    }
-
-    /**
-     * @param PHP_CodeCoverage_Report_Node_Directory $root
-     * @param array                                  $items
-     * @param array                                  $tests
-     * @param boolean                                $cacheTokens
-     */
-    private function addItems(PHP_CodeCoverage_Report_Node_Directory $root, array $items, array $tests, $cacheTokens)
-    {
-        foreach ($items as $key => $value) {
-            if (substr($key, -2) == '/f') {
-                $key = substr($key, 0, -2);
-
-                if (file_exists($root->getPath() . DIRECTORY_SEPARATOR . $key)) {
-                    $root->addFile($key, $value, $tests, $cacheTokens);
-                }
-            } else {
-                $child = $root->addDirectory($key);
-                $this->addItems($child, $value, $tests, $cacheTokens);
-            }
-        }
-    }
-
-    /**
-     * Builds an array representation of the directory structure.
-     *
-     * For instance,
-     *
-     * <code>
-     * Array
-     * (
-     *     [Money.php] => Array
-     *         (
-     *             ...
-     *         )
-     *
-     *     [MoneyBag.php] => Array
-     *         (
-     *             ...
-     *         )
-     * )
-     * </code>
-     *
-     * is transformed into
-     *
-     * <code>
-     * Array
-     * (
-     *     [.] => Array
-     *         (
-     *             [Money.php] => Array
-     *                 (
-     *                     ...
-     *                 )
-     *
-     *             [MoneyBag.php] => Array
-     *                 (
-     *                     ...
-     *                 )
-     *         )
-     * )
-     * </code>
-     *
-     * @param  array $files
-     * @return array
-     */
-    private function buildDirectoryStructure($files)
-    {
-        $result = array();
-
-        foreach ($files as $path => $file) {
-            $path    = explode('/', $path);
-            $pointer = &$result;
-            $max     = count($path);
-
-            for ($i = 0; $i < $max; $i++) {
-                if ($i == ($max - 1)) {
-                    $type = '/f';
-                } else {
-                    $type = '';
-                }
-
-                $pointer = &$pointer[$path[$i] . $type];
-            }
-
-            $pointer = $file;
-        }
-
-        return $result;
-    }
-
-    /**
-     * Reduces the paths by cutting the longest common start path.
-     *
-     * For instance,
-     *
-     * <code>
-     * Array
-     * (
-     *     [/home/sb/Money/Money.php] => Array
-     *         (
-     *             ...
-     *         )
-     *
-     *     [/home/sb/Money/MoneyBag.php] => Array
-     *         (
-     *             ...
-     *         )
-     * )
-     * </code>
-     *
-     * is reduced to
-     *
-     * <code>
-     * Array
-     * (
-     *     [Money.php] => Array
-     *         (
-     *             ...
-     *         )
-     *
-     *     [MoneyBag.php] => Array
-     *         (
-     *             ...
-     *         )
-     * )
-     * </code>
-     *
-     * @param  array  $files
-     * @return string
-     */
-    private function reducePaths(&$files)
-    {
-        if (empty($files)) {
-            return '.';
-        }
-
-        $commonPath = '';
-        $paths      = array_keys($files);
-
-        if (count($files) == 1) {
-            $commonPath                 = dirname($paths[0]) . '/';
-            $files[basename($paths[0])] = $files[$paths[0]];
-
-            unset($files[$paths[0]]);
-
-            return $commonPath;
-        }
-
-        $max = count($paths);
-
-        for ($i = 0; $i < $max; $i++) {
-            // strip phar:// prefixes
-            if (strpos($paths[$i], 'phar://') === 0) {
-                $paths[$i] = substr($paths[$i], 7);
-                $paths[$i] = strtr($paths[$i], '/', DIRECTORY_SEPARATOR);
-            }
-            $paths[$i] = explode(DIRECTORY_SEPARATOR, $paths[$i]);
-
-            if (empty($paths[$i][0])) {
-                $paths[$i][0] = DIRECTORY_SEPARATOR;
-            }
-        }
-
-        $done = false;
-        $max  = count($paths);
-
-        while (!$done) {
-            for ($i = 0; $i < $max - 1; $i++) {
-                if (!isset($paths[$i][0]) ||
-                    !isset($paths[$i+1][0]) ||
-                    $paths[$i][0] != $paths[$i+1][0]) {
-                    $done = true;
-                    break;
-                }
-            }
-
-            if (!$done) {
-                $commonPath .= $paths[0][0];
-
-                if ($paths[0][0] != DIRECTORY_SEPARATOR) {
-                    $commonPath .= DIRECTORY_SEPARATOR;
-                }
-
-                for ($i = 0; $i < $max; $i++) {
-                    array_shift($paths[$i]);
-                }
-            }
-        }
-
-        $original = array_keys($files);
-        $max      = count($original);
-
-        for ($i = 0; $i < $max; $i++) {
-            $files[join('/', $paths[$i])] = $files[$original[$i]];
-            unset($files[$original[$i]]);
-        }
-
-        ksort($files);
-
-        return substr($commonPath, 0, -1);
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php
deleted file mode 100644
index c67db46..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php
+++ /dev/null
@@ -1,188 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Generates an HTML report from an PHP_CodeCoverage object.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-class PHP_CodeCoverage_Report_HTML
-{
-    /**
-     * @var string
-     */
-    private $templatePath;
-
-    /**
-     * @var string
-     */
-    private $generator;
-
-    /**
-     * @var integer
-     */
-    private $lowUpperBound;
-
-    /**
-     * @var integer
-     */
-    private $highLowerBound;
-
-    /**
-     * Constructor.
-     *
-     * @param integer $lowUpperBound
-     * @param integer $highLowerBound
-     * @param string  $generator
-     */
-    public function __construct($lowUpperBound = 50, $highLowerBound = 90, $generator = '')
-    {
-        $this->generator      = $generator;
-        $this->highLowerBound = $highLowerBound;
-        $this->lowUpperBound  = $lowUpperBound;
-
-        $this->templatePath = sprintf(
-            '%s%sHTML%sRenderer%sTemplate%s',
-            dirname(__FILE__),
-            DIRECTORY_SEPARATOR,
-            DIRECTORY_SEPARATOR,
-            DIRECTORY_SEPARATOR,
-            DIRECTORY_SEPARATOR
-        );
-    }
-
-    /**
-     * @param PHP_CodeCoverage $coverage
-     * @param string           $target
-     */
-    public function process(PHP_CodeCoverage $coverage, $target)
-    {
-        $target = $this->getDirectory($target);
-        $report = $coverage->getReport();
-        unset($coverage);
-
-        if (!isset($_SERVER['REQUEST_TIME'])) {
-            $_SERVER['REQUEST_TIME'] = time();
-        }
-
-        $date = date('D M j G:i:s T Y', $_SERVER['REQUEST_TIME']);
-
-        $dashboard = new PHP_CodeCoverage_Report_HTML_Renderer_Dashboard(
-            $this->templatePath,
-            $this->generator,
-            $date,
-            $this->lowUpperBound,
-            $this->highLowerBound
-        );
-
-        $directory = new PHP_CodeCoverage_Report_HTML_Renderer_Directory(
-            $this->templatePath,
-            $this->generator,
-            $date,
-            $this->lowUpperBound,
-            $this->highLowerBound
-        );
-
-        $file = new PHP_CodeCoverage_Report_HTML_Renderer_File(
-            $this->templatePath,
-            $this->generator,
-            $date,
-            $this->lowUpperBound,
-            $this->highLowerBound
-        );
-
-        $directory->render($report, $target . 'index.html');
-        $dashboard->render($report, $target . 'dashboard.html');
-
-        foreach ($report as $node) {
-            $id = $node->getId();
-
-            if ($node instanceof PHP_CodeCoverage_Report_Node_Directory) {
-                if (!file_exists($target . $id)) {
-                    mkdir($target . $id, 0777, true);
-                }
-
-                $directory->render($node, $target . $id . '/index.html');
-                $dashboard->render($node, $target . $id . '/dashboard.html');
-            } else {
-                $dir = dirname($target . $id);
-
-                if (!file_exists($dir)) {
-                    mkdir($dir, 0777, true);
-                }
-
-                $file->render($node, $target . $id . '.html');
-            }
-        }
-
-        $this->copyFiles($target);
-    }
-
-    /**
-     * @param string $target
-     */
-    private function copyFiles($target)
-    {
-        $dir = $this->getDirectory($target . 'css');
-        copy($this->templatePath . 'css/bootstrap.min.css', $dir . 'bootstrap.min.css');
-        copy($this->templatePath . 'css/nv.d3.css', $dir . 'nv.d3.css');
-        copy($this->templatePath . 'css/style.css', $dir . 'style.css');
-
-        $dir = $this->getDirectory($target . 'fonts');
-        copy($this->templatePath . 'fonts/glyphicons-halflings-regular.eot', $dir . 'glyphicons-halflings-regular.eot');
-        copy($this->templatePath . 'fonts/glyphicons-halflings-regular.svg', $dir . 'glyphicons-halflings-regular.svg');
-        copy($this->templatePath . 'fonts/glyphicons-halflings-regular.ttf', $dir . 'glyphicons-halflings-regular.ttf');
-        copy($this->templatePath . 'fonts/glyphicons-halflings-regular.woff', $dir . 'glyphicons-halflings-regular.woff');
-        copy($this->templatePath . 'fonts/glyphicons-halflings-regular.woff2', $dir . 'glyphicons-halflings-regular.woff2');
-
-        $dir = $this->getDirectory($target . 'js');
-        copy($this->templatePath . 'js/bootstrap.min.js', $dir . 'bootstrap.min.js');
-        copy($this->templatePath . 'js/d3.min.js', $dir . 'd3.min.js');
-        copy($this->templatePath . 'js/holder.js', $dir . 'holder.js');
-        copy($this->templatePath . 'js/html5shiv.min.js', $dir . 'html5shiv.min.js');
-        copy($this->templatePath . 'js/jquery.min.js', $dir . 'jquery.min.js');
-        copy($this->templatePath . 'js/nv.d3.min.js', $dir . 'nv.d3.min.js');
-        copy($this->templatePath . 'js/respond.min.js', $dir . 'respond.min.js');
-    }
-
-    /**
-     * @param  string                     $directory
-     * @return string
-     * @throws PHP_CodeCoverage_Exception
-     * @since  Method available since Release 1.2.0
-     */
-    private function getDirectory($directory)
-    {
-        if (substr($directory, -1, 1) != DIRECTORY_SEPARATOR) {
-            $directory .= DIRECTORY_SEPARATOR;
-        }
-
-        if (is_dir($directory)) {
-            return $directory;
-        }
-
-        if (@mkdir($directory, 0777, true)) {
-            return $directory;
-        }
-
-        throw new PHP_CodeCoverage_Exception(
-            sprintf(
-                'Directory "%s" does not exist.',
-                $directory
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php
deleted file mode 100644
index 2b35f68..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php
+++ /dev/null
@@ -1,274 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Environment\Runtime;
-
-/**
- * Base class for PHP_CodeCoverage_Report_Node renderers.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-abstract class PHP_CodeCoverage_Report_HTML_Renderer
-{
-    /**
-     * @var string
-     */
-    protected $templatePath;
-
-    /**
-     * @var string
-     */
-    protected $generator;
-
-    /**
-     * @var string
-     */
-    protected $date;
-
-    /**
-     * @var integer
-     */
-    protected $lowUpperBound;
-
-    /**
-     * @var integer
-     */
-    protected $highLowerBound;
-
-    /**
-     * @var string
-     */
-    protected $version;
-
-    /**
-     * Constructor.
-     *
-     * @param string  $templatePath
-     * @param string  $generator
-     * @param string  $date
-     * @param integer $lowUpperBound
-     * @param integer $highLowerBound
-     */
-    public function __construct($templatePath, $generator, $date, $lowUpperBound, $highLowerBound)
-    {
-        $version = new SebastianBergmann\Version('2.0.16', dirname(dirname(dirname(dirname(__DIR__)))));
-
-        $this->templatePath   = $templatePath;
-        $this->generator      = $generator;
-        $this->date           = $date;
-        $this->lowUpperBound  = $lowUpperBound;
-        $this->highLowerBound = $highLowerBound;
-        $this->version        = $version->getVersion();
-    }
-
-    /**
-     * @param  Text_Template $template
-     * @param  array         $data
-     * @return string
-     */
-    protected function renderItemTemplate(Text_Template $template, array $data)
-    {
-        $numSeperator = '&nbsp;/&nbsp;';
-        $classesBar    = '&nbsp;';
-        $classesLevel  = 'None';
-        $classesNumber = '&nbsp;';
-
-        if (isset($data['numClasses']) && $data['numClasses'] > 0) {
-            $classesLevel = $this->getColorLevel($data['testedClassesPercent']);
-
-            $classesNumber = $data['numTestedClasses'] . $numSeperator .
-                $data['numClasses'];
-
-            $classesBar = $this->getCoverageBar(
-                $data['testedClassesPercent']
-            );
-        }
-
-        $methodsBar    = '&nbsp;';
-        $methodsLevel  = 'None';
-        $methodsNumber = '&nbsp;';
-
-        if ($data['numMethods'] > 0) {
-            $methodsLevel = $this->getColorLevel($data['testedMethodsPercent']);
-
-            $methodsNumber = $data['numTestedMethods'] . $numSeperator .
-                $data['numMethods'];
-
-            $methodsBar = $this->getCoverageBar(
-                $data['testedMethodsPercent']
-            );
-        }
-
-        $linesBar    = '&nbsp;';
-        $linesLevel  = 'None';
-        $linesNumber = '&nbsp;';
-
-        if ($data['numExecutableLines'] > 0) {
-            $linesLevel = $this->getColorLevel($data['linesExecutedPercent']);
-
-            $linesNumber = $data['numExecutedLines'] . $numSeperator .
-                $data['numExecutableLines'];
-
-            $linesBar = $this->getCoverageBar(
-                $data['linesExecutedPercent']
-            );
-        }
-
-        $template->setVar(
-            array(
-                'icon' => isset($data['icon']) ? $data['icon'] : '',
-                'crap' => isset($data['crap']) ? $data['crap'] : '',
-                'name' => $data['name'],
-                'lines_bar' => $linesBar,
-                'lines_executed_percent' => $data['linesExecutedPercentAsString'],
-                'lines_level' => $linesLevel,
-                'lines_number' => $linesNumber,
-                'methods_bar' => $methodsBar,
-                'methods_tested_percent' => $data['testedMethodsPercentAsString'],
-                'methods_level' => $methodsLevel,
-                'methods_number' => $methodsNumber,
-                'classes_bar' => $classesBar,
-                'classes_tested_percent' => isset($data['testedClassesPercentAsString']) ? $data['testedClassesPercentAsString'] : '',
-                'classes_level' => $classesLevel,
-                'classes_number' => $classesNumber
-            )
-        );
-
-        return $template->render();
-    }
-
-    /**
-     * @param Text_Template                $template
-     * @param PHP_CodeCoverage_Report_Node $node
-     */
-    protected function setCommonTemplateVariables(Text_Template $template, PHP_CodeCoverage_Report_Node $node)
-    {
-        $runtime = new Runtime;
-
-        $template->setVar(
-            array(
-                'id'               => $node->getId(),
-                'full_path'        => $node->getPath(),
-                'path_to_root'     => $this->getPathToRoot($node),
-                'breadcrumbs'      => $this->getBreadcrumbs($node),
-                'date'             => $this->date,
-                'version'          => $this->version,
-                'runtime_name'     => $runtime->getName(),
-                'runtime_version'  => $runtime->getVersion(),
-                'runtime_link'     => $runtime->getVendorUrl(),
-                'generator'        => $this->generator,
-                'low_upper_bound'  => $this->lowUpperBound,
-                'high_lower_bound' => $this->highLowerBound
-            )
-        );
-    }
-
-    protected function getBreadcrumbs(PHP_CodeCoverage_Report_Node $node)
-    {
-        $breadcrumbs = '';
-        $path        = $node->getPathAsArray();
-        $pathToRoot  = array();
-        $max         = count($path);
-
-        if ($node instanceof PHP_CodeCoverage_Report_Node_File) {
-            $max--;
-        }
-
-        for ($i = 0; $i < $max; $i++) {
-            $pathToRoot[] = str_repeat('../', $i);
-        }
-
-        foreach ($path as $step) {
-            if ($step !== $node) {
-                $breadcrumbs .= $this->getInactiveBreadcrumb(
-                    $step,
-                    array_pop($pathToRoot)
-                );
-            } else {
-                $breadcrumbs .= $this->getActiveBreadcrumb($step);
-            }
-        }
-
-        return $breadcrumbs;
-    }
-
-    protected function getActiveBreadcrumb(PHP_CodeCoverage_Report_Node $node)
-    {
-        $buffer = sprintf(
-            '        <li class="active">%s</li>' . "\n",
-            $node->getName()
-        );
-
-        if ($node instanceof PHP_CodeCoverage_Report_Node_Directory) {
-            $buffer .= '        <li>(<a href="dashboard.html">Dashboard</a>)</li>' . "\n";
-        }
-
-        return $buffer;
-    }
-
-    protected function getInactiveBreadcrumb(PHP_CodeCoverage_Report_Node $node, $pathToRoot)
-    {
-        return sprintf(
-            '        <li><a href="%sindex.html">%s</a></li>' . "\n",
-            $pathToRoot,
-            $node->getName()
-        );
-    }
-
-    protected function getPathToRoot(PHP_CodeCoverage_Report_Node $node)
-    {
-        $id    = $node->getId();
-        $depth = substr_count($id, '/');
-
-        if ($id != 'index' &&
-            $node instanceof PHP_CodeCoverage_Report_Node_Directory) {
-            $depth++;
-        }
-
-        return str_repeat('../', $depth);
-    }
-
-    protected function getCoverageBar($percent)
-    {
-        $level = $this->getColorLevel($percent);
-
-        $template = new Text_Template(
-            $this->templatePath . 'coverage_bar.html',
-            '{{',
-            '}}'
-        );
-
-        $template->setVar(array('level' => $level, 'percent' => sprintf("%.2F", $percent)));
-
-        return $template->render();
-    }
-
-    /**
-     * @param  integer $percent
-     * @return string
-     */
-    protected function getColorLevel($percent)
-    {
-        if ($percent < $this->lowUpperBound) {
-            return 'danger';
-        } elseif ($percent >= $this->lowUpperBound &&
-            $percent <  $this->highLowerBound) {
-            return 'warning';
-        } else {
-            return 'success';
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php
deleted file mode 100644
index deac0b7..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php
+++ /dev/null
@@ -1,301 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Renders the dashboard for a PHP_CodeCoverage_Report_Node_Directory node.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_HTML_Renderer_Dashboard extends PHP_CodeCoverage_Report_HTML_Renderer
-{
-    /**
-     * @param PHP_CodeCoverage_Report_Node_Directory $node
-     * @param string                                 $file
-     */
-    public function render(PHP_CodeCoverage_Report_Node_Directory $node, $file)
-    {
-        $classes  = $node->getClassesAndTraits();
-        $template = new Text_Template(
-            $this->templatePath . 'dashboard.html',
-            '{{',
-            '}}'
-        );
-
-        $this->setCommonTemplateVariables($template, $node);
-
-        $baseLink             = $node->getId() . '/';
-        $complexity           = $this->complexity($classes, $baseLink);
-        $coverageDistribution = $this->coverageDistribution($classes);
-        $insufficientCoverage = $this->insufficientCoverage($classes, $baseLink);
-        $projectRisks         = $this->projectRisks($classes, $baseLink);
-
-        $template->setVar(
-            array(
-                'insufficient_coverage_classes' => $insufficientCoverage['class'],
-                'insufficient_coverage_methods' => $insufficientCoverage['method'],
-                'project_risks_classes'         => $projectRisks['class'],
-                'project_risks_methods'         => $projectRisks['method'],
-                'complexity_class'              => $complexity['class'],
-                'complexity_method'             => $complexity['method'],
-                'class_coverage_distribution'   => $coverageDistribution['class'],
-                'method_coverage_distribution'  => $coverageDistribution['method']
-            )
-        );
-
-        $template->renderTo($file);
-    }
-
-    /**
-     * Returns the data for the Class/Method Complexity charts.
-     *
-     * @param  array  $classes
-     * @param  string $baseLink
-     * @return array
-     */
-    protected function complexity(array $classes, $baseLink)
-    {
-        $result = array('class' => array(), 'method' => array());
-
-        foreach ($classes as $className => $class) {
-            foreach ($class['methods'] as $methodName => $method) {
-                if ($className != '*') {
-                    $methodName = $className . '::' . $methodName;
-                }
-
-                $result['method'][] = array(
-                    $method['coverage'],
-                    $method['ccn'],
-                    sprintf(
-                        '<a href="%s">%s</a>',
-                        str_replace($baseLink, '', $method['link']),
-                        $methodName
-                    )
-                );
-            }
-
-            $result['class'][] = array(
-                $class['coverage'],
-                $class['ccn'],
-                sprintf(
-                    '<a href="%s">%s</a>',
-                    str_replace($baseLink, '', $class['link']),
-                    $className
-                )
-            );
-        }
-
-        return array(
-            'class' => json_encode($result['class']),
-            'method' => json_encode($result['method'])
-        );
-    }
-
-    /**
-     * Returns the data for the Class / Method Coverage Distribution chart.
-     *
-     * @param  array $classes
-     * @return array
-     */
-    protected function coverageDistribution(array $classes)
-    {
-        $result = array(
-            'class' => array(
-                '0%'      => 0,
-                '0-10%'   => 0,
-                '10-20%'  => 0,
-                '20-30%'  => 0,
-                '30-40%'  => 0,
-                '40-50%'  => 0,
-                '50-60%'  => 0,
-                '60-70%'  => 0,
-                '70-80%'  => 0,
-                '80-90%'  => 0,
-                '90-100%' => 0,
-                '100%'    => 0
-            ),
-            'method' => array(
-                '0%'      => 0,
-                '0-10%'   => 0,
-                '10-20%'  => 0,
-                '20-30%'  => 0,
-                '30-40%'  => 0,
-                '40-50%'  => 0,
-                '50-60%'  => 0,
-                '60-70%'  => 0,
-                '70-80%'  => 0,
-                '80-90%'  => 0,
-                '90-100%' => 0,
-                '100%'    => 0
-            )
-        );
-
-        foreach ($classes as $class) {
-            foreach ($class['methods'] as $methodName => $method) {
-                if ($method['coverage'] == 0) {
-                    $result['method']['0%']++;
-                } elseif ($method['coverage'] == 100) {
-                    $result['method']['100%']++;
-                } else {
-                    $key = floor($method['coverage'] / 10) * 10;
-                    $key = $key . '-' . ($key + 10) . '%';
-                    $result['method'][$key]++;
-                }
-            }
-
-            if ($class['coverage'] == 0) {
-                $result['class']['0%']++;
-            } elseif ($class['coverage'] == 100) {
-                $result['class']['100%']++;
-            } else {
-                $key = floor($class['coverage'] / 10) * 10;
-                $key = $key . '-' . ($key + 10) . '%';
-                $result['class'][$key]++;
-            }
-        }
-
-        return array(
-            'class' => json_encode(array_values($result['class'])),
-            'method' => json_encode(array_values($result['method']))
-        );
-    }
-
-    /**
-     * Returns the classes / methods with insufficient coverage.
-     *
-     * @param  array  $classes
-     * @param  string $baseLink
-     * @return array
-     */
-    protected function insufficientCoverage(array $classes, $baseLink)
-    {
-        $leastTestedClasses = array();
-        $leastTestedMethods = array();
-        $result             = array('class' => '', 'method' => '');
-
-        foreach ($classes as $className => $class) {
-            foreach ($class['methods'] as $methodName => $method) {
-                if ($method['coverage'] < $this->highLowerBound) {
-                    if ($className != '*') {
-                        $key = $className . '::' . $methodName;
-                    } else {
-                        $key = $methodName;
-                    }
-
-                    $leastTestedMethods[$key] = $method['coverage'];
-                }
-            }
-
-            if ($class['coverage'] < $this->highLowerBound) {
-                $leastTestedClasses[$className] = $class['coverage'];
-            }
-        }
-
-        asort($leastTestedClasses);
-        asort($leastTestedMethods);
-
-        foreach ($leastTestedClasses as $className => $coverage) {
-            $result['class'] .= sprintf(
-                '       <tr><td><a href="%s">%s</a></td><td class="text-right">%d%%</td></tr>' . "\n",
-                str_replace($baseLink, '', $classes[$className]['link']),
-                $className,
-                $coverage
-            );
-        }
-
-        foreach ($leastTestedMethods as $methodName => $coverage) {
-            list($class, $method) = explode('::', $methodName);
-
-            $result['method'] .= sprintf(
-                '       <tr><td><a href="%s"><abbr title="%s">%s</a></a></td><td class="text-right">%d%%</td></tr>' . "\n",
-                str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']),
-                $methodName,
-                $method,
-                $coverage
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the project risks according to the CRAP index.
-     *
-     * @param  array  $classes
-     * @param  string $baseLink
-     * @return array
-     */
-    protected function projectRisks(array $classes, $baseLink)
-    {
-        $classRisks  = array();
-        $methodRisks = array();
-        $result      = array('class' => '', 'method' => '');
-
-        foreach ($classes as $className => $class) {
-            foreach ($class['methods'] as $methodName => $method) {
-                if ($method['coverage'] < $this->highLowerBound &&
-                    $method['ccn'] > 1) {
-                    if ($className != '*') {
-                        $key = $className . '::' . $methodName;
-                    } else {
-                        $key = $methodName;
-                    }
-
-                    $methodRisks[$key] = $method['crap'];
-                }
-            }
-
-            if ($class['coverage'] < $this->highLowerBound &&
-                $class['ccn'] > count($class['methods'])) {
-                $classRisks[$className] = $class['crap'];
-            }
-        }
-
-        arsort($classRisks);
-        arsort($methodRisks);
-
-        foreach ($classRisks as $className => $crap) {
-            $result['class'] .= sprintf(
-                '       <tr><td><a href="%s">%s</a></td><td class="text-right">%d</td></tr>' . "\n",
-                str_replace($baseLink, '', $classes[$className]['link']),
-                $className,
-                $crap
-            );
-        }
-
-        foreach ($methodRisks as $methodName => $crap) {
-            list($class, $method) = explode('::', $methodName);
-
-            $result['method'] .= sprintf(
-                '       <tr><td><a href="%s"><abbr title="%s">%s</abbr></a></td><td class="text-right">%d</td></tr>' . "\n",
-                str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']),
-                $methodName,
-                $method,
-                $crap
-            );
-        }
-
-        return $result;
-    }
-
-    protected function getActiveBreadcrumb(PHP_CodeCoverage_Report_Node $node)
-    {
-        return sprintf(
-            '        <li><a href="index.html">%s</a></li>' . "\n" .
-            '        <li class="active">(Dashboard)</li>' . "\n",
-            $node->getName()
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php
deleted file mode 100644
index 1e21d26..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Renders a PHP_CodeCoverage_Report_Node_Directory node.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_HTML_Renderer_Directory extends PHP_CodeCoverage_Report_HTML_Renderer
-{
-    /**
-     * @param PHP_CodeCoverage_Report_Node_Directory $node
-     * @param string                                 $file
-     */
-    public function render(PHP_CodeCoverage_Report_Node_Directory $node, $file)
-    {
-        $template = new Text_Template($this->templatePath . 'directory.html', '{{', '}}');
-
-        $this->setCommonTemplateVariables($template, $node);
-
-        $items = $this->renderItem($node, true);
-
-        foreach ($node->getDirectories() as $item) {
-            $items .= $this->renderItem($item);
-        }
-
-        foreach ($node->getFiles() as $item) {
-            $items .= $this->renderItem($item);
-        }
-
-        $template->setVar(
-            array(
-                'id'    => $node->getId(),
-                'items' => $items
-            )
-        );
-
-        $template->renderTo($file);
-    }
-
-    /**
-     * @param  PHP_CodeCoverage_Report_Node $item
-     * @param  boolean                      $total
-     * @return string
-     */
-    protected function renderItem(PHP_CodeCoverage_Report_Node $item, $total = false)
-    {
-        $data = array(
-            'numClasses'                   => $item->getNumClassesAndTraits(),
-            'numTestedClasses'             => $item->getNumTestedClassesAndTraits(),
-            'numMethods'                   => $item->getNumMethods(),
-            'numTestedMethods'             => $item->getNumTestedMethods(),
-            'linesExecutedPercent'         => $item->getLineExecutedPercent(false),
-            'linesExecutedPercentAsString' => $item->getLineExecutedPercent(),
-            'numExecutedLines'             => $item->getNumExecutedLines(),
-            'numExecutableLines'           => $item->getNumExecutableLines(),
-            'testedMethodsPercent'         => $item->getTestedMethodsPercent(false),
-            'testedMethodsPercentAsString' => $item->getTestedMethodsPercent(),
-            'testedClassesPercent'         => $item->getTestedClassesAndTraitsPercent(false),
-            'testedClassesPercentAsString' => $item->getTestedClassesAndTraitsPercent()
-        );
-
-        if ($total) {
-            $data['name'] = 'Total';
-        } else {
-            if ($item instanceof PHP_CodeCoverage_Report_Node_Directory) {
-                $data['name'] = sprintf(
-                    '<a href="%s/index.html">%s</a>',
-                    $item->getName(),
-                    $item->getName()
-                );
-
-                $data['icon'] = '<span class="glyphicon glyphicon-folder-open"></span> ';
-            } else {
-                $data['name'] = sprintf(
-                    '<a href="%s.html">%s</a>',
-                    $item->getName(),
-                    $item->getName()
-                );
-
-                $data['icon'] = '<span class="glyphicon glyphicon-file"></span> ';
-            }
-        }
-
-        return $this->renderItemTemplate(
-            new Text_Template($this->templatePath . 'directory_item.html', '{{', '}}'),
-            $data
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php
deleted file mode 100644
index 907a39f..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php
+++ /dev/null
@@ -1,540 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-// @codeCoverageIgnoreStart
-if (!defined('T_TRAIT')) {
-    define('T_TRAIT', 1001);
-}
-
-if (!defined('T_INSTEADOF')) {
-    define('T_INSTEADOF', 1002);
-}
-
-if (!defined('T_CALLABLE')) {
-    define('T_CALLABLE', 1003);
-}
-
-if (!defined('T_FINALLY')) {
-    define('T_FINALLY', 1004);
-}
-
-if (!defined('T_YIELD')) {
-    define('T_YIELD', 1005);
-}
-// @codeCoverageIgnoreEnd
-
-/**
- * Renders a PHP_CodeCoverage_Report_Node_File node.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_HTML_Renderer_File extends PHP_CodeCoverage_Report_HTML_Renderer
-{
-    /**
-     * Constructor.
-     *
-     * @param string  $templatePath
-     * @param string  $generator
-     * @param string  $date
-     * @param integer $lowUpperBound
-     * @param integer $highLowerBound
-     */
-    public function __construct($templatePath, $generator, $date, $lowUpperBound, $highLowerBound)
-    {
-        parent::__construct(
-            $templatePath,
-            $generator,
-            $date,
-            $lowUpperBound,
-            $highLowerBound
-        );
-    }
-
-    /**
-     * @param PHP_CodeCoverage_Report_Node_File $node
-     * @param string                            $file
-     */
-    public function render(PHP_CodeCoverage_Report_Node_File $node, $file)
-    {
-        $template = new Text_Template($this->templatePath . 'file.html', '{{', '}}');
-
-        $template->setVar(
-            array(
-                'items' => $this->renderItems($node),
-                'lines' => $this->renderSource($node)
-            )
-        );
-
-        $this->setCommonTemplateVariables($template, $node);
-
-        $template->renderTo($file);
-    }
-
-    /**
-     * @param  PHP_CodeCoverage_Report_Node_File $node
-     * @return string
-     */
-    protected function renderItems(PHP_CodeCoverage_Report_Node_File $node)
-    {
-        $template = new Text_Template($this->templatePath . 'file_item.html', '{{', '}}');
-
-        $methodItemTemplate = new Text_Template(
-            $this->templatePath . 'method_item.html', '{{', '}}'
-        );
-
-        $items = $this->renderItemTemplate(
-            $template,
-            array(
-                'name'                         => 'Total',
-                'numClasses'                   => $node->getNumClassesAndTraits(),
-                'numTestedClasses'             => $node->getNumTestedClassesAndTraits(),
-                'numMethods'                   => $node->getNumMethods(),
-                'numTestedMethods'             => $node->getNumTestedMethods(),
-                'linesExecutedPercent'         => $node->getLineExecutedPercent(false),
-                'linesExecutedPercentAsString' => $node->getLineExecutedPercent(),
-                'numExecutedLines'             => $node->getNumExecutedLines(),
-                'numExecutableLines'           => $node->getNumExecutableLines(),
-                'testedMethodsPercent'         => $node->getTestedMethodsPercent(false),
-                'testedMethodsPercentAsString' => $node->getTestedMethodsPercent(),
-                'testedClassesPercent'         => $node->getTestedClassesAndTraitsPercent(false),
-                'testedClassesPercentAsString' => $node->getTestedClassesAndTraitsPercent(),
-                'crap'                         => '<abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr>'
-            )
-        );
-
-        $items .= $this->renderFunctionItems(
-            $node->getFunctions(),
-            $methodItemTemplate
-        );
-
-        $items .= $this->renderTraitOrClassItems(
-            $node->getTraits(),
-            $template,
-            $methodItemTemplate
-        );
-
-        $items .= $this->renderTraitOrClassItems(
-            $node->getClasses(),
-            $template,
-            $methodItemTemplate
-        );
-
-        return $items;
-    }
-
-    /**
-     * @param  array         $items
-     * @param  Text_Template $template
-     * @param  Text_Template $methodItemTemplate
-     * @return string
-     */
-    protected function renderTraitOrClassItems(array $items, Text_Template $template, Text_Template $methodItemTemplate)
-    {
-        if (empty($items)) {
-            return '';
-        }
-
-        $buffer = '';
-
-        foreach ($items as $name => $item) {
-            $numMethods       = count($item['methods']);
-            $numTestedMethods = 0;
-
-            foreach ($item['methods'] as $method) {
-                if ($method['executedLines'] == $method['executableLines']) {
-                    $numTestedMethods++;
-                }
-            }
-
-            $buffer .= $this->renderItemTemplate(
-                $template,
-                array(
-                    'name'                         => $name,
-                    'numClasses'                   => 1,
-                    'numTestedClasses'             => $numTestedMethods == $numMethods ? 1 : 0,
-                    'numMethods'                   => $numMethods,
-                    'numTestedMethods'             => $numTestedMethods,
-                    'linesExecutedPercent'         => PHP_CodeCoverage_Util::percent(
-                            $item['executedLines'],
-                            $item['executableLines'],
-                            false
-                        ),
-                    'linesExecutedPercentAsString' => PHP_CodeCoverage_Util::percent(
-                            $item['executedLines'],
-                            $item['executableLines'],
-                            true
-                        ),
-                    'numExecutedLines'             => $item['executedLines'],
-                    'numExecutableLines'           => $item['executableLines'],
-                    'testedMethodsPercent'         => PHP_CodeCoverage_Util::percent(
-                            $numTestedMethods,
-                            $numMethods,
-                            false
-                        ),
-                    'testedMethodsPercentAsString' => PHP_CodeCoverage_Util::percent(
-                            $numTestedMethods,
-                            $numMethods,
-                            true
-                        ),
-                    'testedClassesPercent'         => PHP_CodeCoverage_Util::percent(
-                            $numTestedMethods == $numMethods ? 1 : 0,
-                            1,
-                            false
-                        ),
-                    'testedClassesPercentAsString' => PHP_CodeCoverage_Util::percent(
-                            $numTestedMethods == $numMethods ? 1 : 0,
-                            1,
-                            true
-                        ),
-                    'crap'                         => $item['crap']
-                )
-            );
-
-            foreach ($item['methods'] as $method) {
-                $buffer .= $this->renderFunctionOrMethodItem(
-                    $methodItemTemplate, $method, '&nbsp;'
-                );
-            }
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * @param  array         $functions
-     * @param  Text_Template $template
-     * @return string
-     */
-    protected function renderFunctionItems(array $functions, Text_Template $template)
-    {
-        if (empty($functions)) {
-            return '';
-        }
-
-        $buffer = '';
-
-        foreach ($functions as $function) {
-            $buffer .= $this->renderFunctionOrMethodItem(
-                $template, $function
-            );
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * @param  Text_Template $template
-     * @return string
-     */
-    protected function renderFunctionOrMethodItem(Text_Template $template, array $item, $indent = '')
-    {
-        $numTestedItems = $item['executedLines'] == $item['executableLines'] ? 1 : 0;
-
-        return $this->renderItemTemplate(
-            $template,
-            array(
-                'name'                         => sprintf(
-                    '%s<a href="#%d">%s</a>',
-                    $indent,
-                    $item['startLine'],
-                    htmlspecialchars($item['signature'])
-                ),
-                'numMethods'                   => 1,
-                'numTestedMethods'             => $numTestedItems,
-                'linesExecutedPercent'         => PHP_CodeCoverage_Util::percent(
-                        $item['executedLines'],
-                        $item['executableLines'],
-                        false
-                    ),
-                'linesExecutedPercentAsString' => PHP_CodeCoverage_Util::percent(
-                        $item['executedLines'],
-                        $item['executableLines'],
-                        true
-                    ),
-                'numExecutedLines'             => $item['executedLines'],
-                'numExecutableLines'           => $item['executableLines'],
-                'testedMethodsPercent'         => PHP_CodeCoverage_Util::percent(
-                        $numTestedItems,
-                        1,
-                        false
-                    ),
-                'testedMethodsPercentAsString' => PHP_CodeCoverage_Util::percent(
-                        $numTestedItems,
-                        1,
-                        true
-                    ),
-                'crap'                         => $item['crap']
-            )
-        );
-    }
-
-    /**
-     * @param  PHP_CodeCoverage_Report_Node_File $node
-     * @return string
-     */
-    protected function renderSource(PHP_CodeCoverage_Report_Node_File $node)
-    {
-        $coverageData = $node->getCoverageData();
-        $testData     = $node->getTestData();
-        $codeLines    = $this->loadFile($node->getPath());
-        $lines        = '';
-        $i            = 1;
-
-        foreach ($codeLines as $line) {
-            $numTests       = '';
-            $trClass        = '';
-            $popoverContent = '';
-            $popoverTitle   = '';
-
-            if (array_key_exists($i, $coverageData)) {
-                $numTests = count($coverageData[$i]);
-
-                if ($coverageData[$i] === null) {
-                    $trClass = ' class="warning"';
-                } elseif ($numTests == 0) {
-                    $trClass = ' class="danger"';
-                } else {
-                    $trClass        = ' class="success popin"';
-                    $popoverContent = '<ul>';
-
-                    if ($numTests > 1) {
-                        $popoverTitle = $numTests . ' tests cover line ' . $i;
-                    } else {
-                        $popoverTitle = '1 test covers line ' . $i;
-                    }
-
-                    foreach ($coverageData[$i] as $test) {
-                        switch ($testData[$test]) {
-                            case 0: {
-                                $testCSS = ' class="success"';
-                            }
-                                break;
-
-                            case 1:
-                            case 2: {
-                                $testCSS = ' class="warning"';
-                            }
-                                break;
-
-                            case 3: {
-                                $testCSS = ' class="danger"';
-                            }
-                                break;
-
-                            case 4: {
-                                $testCSS = ' class="danger"';
-                            }
-                                break;
-
-                            default: {
-                            $testCSS = '';
-                            }
-                        }
-
-                        $popoverContent .= sprintf(
-                            '<li%s>%s</li>',
-
-                            $testCSS,
-                            htmlspecialchars($test)
-                        );
-                    }
-
-                    $popoverContent .= '</ul>';
-                }
-            }
-
-            if (!empty($popoverTitle)) {
-                $popover = sprintf(
-                    ' data-title="%s" data-content="%s" data-placement="bottom" data-html="true"',
-                    $popoverTitle,
-                    htmlspecialchars($popoverContent)
-                );
-            } else {
-                $popover = '';
-            }
-
-            $lines .= sprintf(
-                '     <tr%s%s><td><div align="right"><a name="%d"></a><a href="#%d">%d</a></div></td><td class="codeLine">%s</td></tr>' . "\n",
-                $trClass,
-                $popover,
-                $i,
-                $i,
-                $i,
-                $line
-            );
-
-            $i++;
-        }
-
-        return $lines;
-    }
-
-    /**
-     * @param  string $file
-     * @return array
-     */
-    protected function loadFile($file)
-    {
-        $buffer              = file_get_contents($file);
-        $tokens              = token_get_all($buffer);
-        $result              = array('');
-        $i                   = 0;
-        $stringFlag          = false;
-        $fileEndsWithNewLine = substr($buffer, -1) == "\n";
-
-        unset($buffer);
-
-        foreach ($tokens as $j => $token) {
-            if (is_string($token)) {
-                if ($token === '"' && $tokens[$j - 1] !== '\\') {
-                    $result[$i] .= sprintf(
-                        '<span class="string">%s</span>',
-
-                        htmlspecialchars($token)
-                    );
-
-                    $stringFlag = !$stringFlag;
-                } else {
-                    $result[$i] .= sprintf(
-                        '<span class="keyword">%s</span>',
-
-                        htmlspecialchars($token)
-                    );
-                }
-
-                continue;
-            }
-
-            list ($token, $value) = $token;
-
-            $value = str_replace(
-                array("\t", ' '),
-                array('&nbsp;&nbsp;&nbsp;&nbsp;', '&nbsp;'),
-                htmlspecialchars($value)
-            );
-
-            if ($value === "\n") {
-                $result[++$i] = '';
-            } else {
-                $lines = explode("\n", $value);
-
-                foreach ($lines as $jj => $line) {
-                    $line = trim($line);
-
-                    if ($line !== '') {
-                        if ($stringFlag) {
-                            $colour = 'string';
-                        } else {
-                            switch ($token) {
-                                case T_INLINE_HTML: {
-                                    $colour = 'html';
-                                }
-                                    break;
-
-                                case T_COMMENT:
-                                case T_DOC_COMMENT: {
-                                    $colour = 'comment';
-                                }
-                                    break;
-
-                                case T_ABSTRACT:
-                                case T_ARRAY:
-                                case T_AS:
-                                case T_BREAK:
-                                case T_CALLABLE:
-                                case T_CASE:
-                                case T_CATCH:
-                                case T_CLASS:
-                                case T_CLONE:
-                                case T_CONTINUE:
-                                case T_DEFAULT:
-                                case T_ECHO:
-                                case T_ELSE:
-                                case T_ELSEIF:
-                                case T_EMPTY:
-                                case T_ENDDECLARE:
-                                case T_ENDFOR:
-                                case T_ENDFOREACH:
-                                case T_ENDIF:
-                                case T_ENDSWITCH:
-                                case T_ENDWHILE:
-                                case T_EXIT:
-                                case T_EXTENDS:
-                                case T_FINAL:
-                                case T_FINALLY:
-                                case T_FOREACH:
-                                case T_FUNCTION:
-                                case T_GLOBAL:
-                                case T_IF:
-                                case T_IMPLEMENTS:
-                                case T_INCLUDE:
-                                case T_INCLUDE_ONCE:
-                                case T_INSTANCEOF:
-                                case T_INSTEADOF:
-                                case T_INTERFACE:
-                                case T_ISSET:
-                                case T_LOGICAL_AND:
-                                case T_LOGICAL_OR:
-                                case T_LOGICAL_XOR:
-                                case T_NAMESPACE:
-                                case T_NEW:
-                                case T_PRIVATE:
-                                case T_PROTECTED:
-                                case T_PUBLIC:
-                                case T_REQUIRE:
-                                case T_REQUIRE_ONCE:
-                                case T_RETURN:
-                                case T_STATIC:
-                                case T_THROW:
-                                case T_TRAIT:
-                                case T_TRY:
-                                case T_UNSET:
-                                case T_USE:
-                                case T_VAR:
-                                case T_WHILE:
-                                case T_YIELD: {
-                                    $colour = 'keyword';
-                                }
-                                    break;
-
-                                default: {
-                                $colour = 'default';
-                                }
-                            }
-                        }
-
-                        $result[$i] .= sprintf(
-                            '<span class="%s">%s</span>',
-
-                            $colour,
-                            $line
-                        );
-                    }
-
-                    if (isset($lines[$jj + 1])) {
-                        $result[++$i] = '';
-                    }
-                }
-            }
-        }
-
-        if ($fileEndsWithNewLine) {
-            unset($result[count($result)-1]);
-        }
-
-        return $result;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist
deleted file mode 100644
index 5a09c35..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist
+++ /dev/null
@@ -1,5 +0,0 @@
-       <div class="progress">
-         <div class="progress-bar progress-bar-{{level}}" role="progressbar" aria-valuenow="{{percent}}" aria-valuemin="0" aria-valuemax="100" style="width: {{percent}}%">
-           <span class="sr-only">{{percent}}% covered ({{level}})</span>
-         </div>
-       </div>
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css
deleted file mode 100644
index 28f154d..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Bootstrap v3.3.2 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important;visibility:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
\ No newline at end of file
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.css b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.css
deleted file mode 100644
index cae8348..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.css
+++ /dev/null
@@ -1,769 +0,0 @@
-
-/********************
- * HTML CSS
- */
-
-
-.chartWrap {
-  margin: 0;
-  padding: 0;
-  overflow: hidden;
-}
-
-/********************
-  Box shadow and border radius styling
-*/
-.nvtooltip.with-3d-shadow, .with-3d-shadow .nvtooltip {
-  -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
-  -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
-  box-shadow: 0 5px 10px rgba(0,0,0,.2);
-
-  -webkit-border-radius: 6px;
-  -moz-border-radius: 6px;
-  border-radius: 6px;
-}
-
-/********************
- * TOOLTIP CSS
- */
-
-.nvtooltip {
-  position: absolute;
-  background-color: rgba(255,255,255,1.0);
-  padding: 1px;
-  border: 1px solid rgba(0,0,0,.2);
-  z-index: 10000;
-
-  font-family: Arial;
-  font-size: 13px;
-  text-align: left;
-  pointer-events: none;
-
-  white-space: nowrap;
-
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-
-/*Give tooltips that old fade in transition by
-    putting a "with-transitions" class on the container div.
-*/
-.nvtooltip.with-transitions, .with-transitions .nvtooltip {
-  transition: opacity 250ms linear;
-  -moz-transition: opacity 250ms linear;
-  -webkit-transition: opacity 250ms linear;
-
-  transition-delay: 250ms;
-  -moz-transition-delay: 250ms;
-  -webkit-transition-delay: 250ms;
-}
-
-.nvtooltip.x-nvtooltip,
-.nvtooltip.y-nvtooltip {
-  padding: 8px;
-}
-
-.nvtooltip h3 {
-  margin: 0;
-  padding: 4px 14px;
-  line-height: 18px;
-  font-weight: normal;
-  background-color: rgba(247,247,247,0.75);
-  text-align: center;
-
-  border-bottom: 1px solid #ebebeb;
-
-  -webkit-border-radius: 5px 5px 0 0;
-  -moz-border-radius: 5px 5px 0 0;
-  border-radius: 5px 5px 0 0;
-}
-
-.nvtooltip p {
-  margin: 0;
-  padding: 5px 14px;
-  text-align: center;
-}
-
-.nvtooltip span {
-  display: inline-block;
-  margin: 2px 0;
-}
-
-.nvtooltip table {
-  margin: 6px;
-  border-spacing:0;
-}
-
-
-.nvtooltip table td {
-  padding: 2px 9px 2px 0;
-  vertical-align: middle;
-}
-
-.nvtooltip table td.key {
-  font-weight:normal;
-}
-.nvtooltip table td.value {
-  text-align: right;
-  font-weight: bold;
-}
-
-.nvtooltip table tr.highlight td {
-  padding: 1px 9px 1px 0;
-  border-bottom-style: solid;
-  border-bottom-width: 1px;
-  border-top-style: solid;
-  border-top-width: 1px;
-}
-
-.nvtooltip table td.legend-color-guide div {
-  width: 8px;
-  height: 8px;
-  vertical-align: middle;
-}
-
-.nvtooltip .footer {
-  padding: 3px;
-  text-align: center;
-}
-
-
-.nvtooltip-pending-removal {
-  position: absolute;
-  pointer-events: none;
-}
-
-
-/********************
- * SVG CSS
- */
-
-
-svg {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  /* Trying to get SVG to act like a greedy block in all browsers */
-  display: block;
-  width:100%;
-  height:100%;
-}
-
-
-svg text {
-  font: normal 12px Arial;
-}
-
-svg .title {
- font: bold 14px Arial;
-}
-
-.nvd3 .nv-background {
-  fill: white;
-  fill-opacity: 0;
-  /*
-  pointer-events: none;
-  */
-}
-
-.nvd3.nv-noData {
-  font-size: 18px;
-  font-weight: bold;
-}
-
-
-/**********
-*  Brush
-*/
-
-.nv-brush .extent {
-  fill-opacity: .125;
-  shape-rendering: crispEdges;
-}
-
-
-
-/**********
-*  Legend
-*/
-
-.nvd3 .nv-legend .nv-series {
-  cursor: pointer;
-}
-
-.nvd3 .nv-legend .disabled circle {
-  fill-opacity: 0;
-}
-
-
-
-/**********
-*  Axes
-*/
-.nvd3 .nv-axis {
-  pointer-events:none;
-}
-
-.nvd3 .nv-axis path {
-  fill: none;
-  stroke: #000;
-  stroke-opacity: .75;
-  shape-rendering: crispEdges;
-}
-
-.nvd3 .nv-axis path.domain {
-  stroke-opacity: .75;
-}
-
-.nvd3 .nv-axis.nv-x path.domain {
-  stroke-opacity: 0;
-}
-
-.nvd3 .nv-axis line {
-  fill: none;
-  stroke: #e5e5e5;
-  shape-rendering: crispEdges;
-}
-
-.nvd3 .nv-axis .zero line,
-/*this selector may not be necessary*/ .nvd3 .nv-axis line.zero {
-  stroke-opacity: .75;
-}
-
-.nvd3 .nv-axis .nv-axisMaxMin text {
-  font-weight: bold;
-}
-
-.nvd3 .x  .nv-axis .nv-axisMaxMin text,
-.nvd3 .x2 .nv-axis .nv-axisMaxMin text,
-.nvd3 .x3 .nv-axis .nv-axisMaxMin text {
-  text-anchor: middle
-}
-
-
-
-/**********
-*  Brush
-*/
-
-.nv-brush .resize path {
-  fill: #eee;
-  stroke: #666;
-}
-
-
-
-/**********
-*  Bars
-*/
-
-.nvd3 .nv-bars .negative rect {
-    zfill: brown;
-}
-
-.nvd3 .nv-bars rect {
-  zfill: steelblue;
-  fill-opacity: .75;
-
-  transition: fill-opacity 250ms linear;
-  -moz-transition: fill-opacity 250ms linear;
-  -webkit-transition: fill-opacity 250ms linear;
-}
-
-.nvd3 .nv-bars rect.hover {
-  fill-opacity: 1;
-}
-
-.nvd3 .nv-bars .hover rect {
-  fill: lightblue;
-}
-
-.nvd3 .nv-bars text {
-  fill: rgba(0,0,0,0);
-}
-
-.nvd3 .nv-bars .hover text {
-  fill: rgba(0,0,0,1);
-}
-
-
-/**********
-*  Bars
-*/
-
-.nvd3 .nv-multibar .nv-groups rect,
-.nvd3 .nv-multibarHorizontal .nv-groups rect,
-.nvd3 .nv-discretebar .nv-groups rect {
-  stroke-opacity: 0;
-
-  transition: fill-opacity 250ms linear;
-  -moz-transition: fill-opacity 250ms linear;
-  -webkit-transition: fill-opacity 250ms linear;
-}
-
-.nvd3 .nv-multibar .nv-groups rect:hover,
-.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,
-.nvd3 .nv-discretebar .nv-groups rect:hover {
-  fill-opacity: 1;
-}
-
-.nvd3 .nv-discretebar .nv-groups text,
-.nvd3 .nv-multibarHorizontal .nv-groups text {
-  font-weight: bold;
-  fill: rgba(0,0,0,1);
-  stroke: rgba(0,0,0,0);
-}
-
-/***********
-*  Pie Chart
-*/
-
-.nvd3.nv-pie path {
-  stroke-opacity: 0;
-  transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear;
-  -moz-transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear;
-  -webkit-transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear;
-
-}
-
-.nvd3.nv-pie .nv-slice text {
-  stroke: #000;
-  stroke-width: 0;
-}
-
-.nvd3.nv-pie path {
-  stroke: #fff;
-  stroke-width: 1px;
-  stroke-opacity: 1;
-}
-
-.nvd3.nv-pie .hover path {
-  fill-opacity: .7;
-}
-.nvd3.nv-pie .nv-label {
-  pointer-events: none;
-}
-.nvd3.nv-pie .nv-label rect {
-  fill-opacity: 0;
-  stroke-opacity: 0;
-}
-
-/**********
-* Lines
-*/
-
-.nvd3 .nv-groups path.nv-line {
-  fill: none;
-  stroke-width: 1.5px;
-  /*
-  stroke-linecap: round;
-  shape-rendering: geometricPrecision;
-
-  transition: stroke-width 250ms linear;
-  -moz-transition: stroke-width 250ms linear;
-  -webkit-transition: stroke-width 250ms linear;
-
-  transition-delay: 250ms
-  -moz-transition-delay: 250ms;
-  -webkit-transition-delay: 250ms;
-  */
-}
-
-.nvd3 .nv-groups path.nv-line.nv-thin-line {
-  stroke-width: 1px;
-}
-
-
-.nvd3 .nv-groups path.nv-area {
-  stroke: none;
-  /*
-  stroke-linecap: round;
-  shape-rendering: geometricPrecision;
-
-  stroke-width: 2.5px;
-  transition: stroke-width 250ms linear;
-  -moz-transition: stroke-width 250ms linear;
-  -webkit-transition: stroke-width 250ms linear;
-
-  transition-delay: 250ms
-  -moz-transition-delay: 250ms;
-  -webkit-transition-delay: 250ms;
-  */
-}
-
-.nvd3 .nv-line.hover path {
-  stroke-width: 6px;
-}
-
-/*
-.nvd3.scatter .groups .point {
-  fill-opacity: 0.1;
-  stroke-opacity: 0.1;
-}
-  */
-
-.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
-  fill-opacity: 0;
-  stroke-opacity: 0;
-}
-
-.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point {
-  fill-opacity: .5 !important;
-  stroke-opacity: .5 !important;
-}
-
-
-.with-transitions .nvd3 .nv-groups .nv-point {
-  transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
-  -moz-transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
-  -webkit-transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
-
-}
-
-.nvd3.nv-scatter .nv-groups .nv-point.hover,
-.nvd3 .nv-groups .nv-point.hover {
-  stroke-width: 7px;
-  fill-opacity: .95 !important;
-  stroke-opacity: .95 !important;
-}
-
-
-.nvd3 .nv-point-paths path {
-  stroke: #aaa;
-  stroke-opacity: 0;
-  fill: #eee;
-  fill-opacity: 0;
-}
-
-
-
-.nvd3 .nv-indexLine {
-  cursor: ew-resize;
-}
-
-
-/**********
-* Distribution
-*/
-
-.nvd3 .nv-distribution {
-  pointer-events: none;
-}
-
-
-
-/**********
-*  Scatter
-*/
-
-/* **Attempting to remove this for useVoronoi(false), need to see if it's required anywhere
-.nvd3 .nv-groups .nv-point {
-  pointer-events: none;
-}
-*/
-
-.nvd3 .nv-groups .nv-point.hover {
-  stroke-width: 20px;
-  stroke-opacity: .5;
-}
-
-.nvd3 .nv-scatter .nv-point.hover {
-  fill-opacity: 1;
-}
-
-/*
-.nv-group.hover .nv-point {
-  fill-opacity: 1;
-}
-*/
-
-
-/**********
-*  Stacked Area
-*/
-
-.nvd3.nv-stackedarea path.nv-area {
-  fill-opacity: .7;
-  /*
-  stroke-opacity: .65;
-  fill-opacity: 1;
-  */
-  stroke-opacity: 0;
-
-  transition: fill-opacity 250ms linear, stroke-opacity 250ms linear;
-  -moz-transition: fill-opacity 250ms linear, stroke-opacity 250ms linear;
-  -webkit-transition: fill-opacity 250ms linear, stroke-opacity 250ms linear;
-
-  /*
-  transition-delay: 500ms;
-  -moz-transition-delay: 500ms;
-  -webkit-transition-delay: 500ms;
-  */
-
-}
-
-.nvd3.nv-stackedarea path.nv-area.hover {
-  fill-opacity: .9;
-  /*
-  stroke-opacity: .85;
-  */
-}
-/*
-.d3stackedarea .groups path {
-  stroke-opacity: 0;
-}
-  */
-
-
-
-.nvd3.nv-stackedarea .nv-groups .nv-point {
-  stroke-opacity: 0;
-  fill-opacity: 0;
-}
-
-/*
-.nvd3.nv-stackedarea .nv-groups .nv-point.hover {
-  stroke-width: 20px;
-  stroke-opacity: .75;
-  fill-opacity: 1;
-}*/
-
-
-
-/**********
-*  Line Plus Bar
-*/
-
-.nvd3.nv-linePlusBar .nv-bar rect {
-  fill-opacity: .75;
-}
-
-.nvd3.nv-linePlusBar .nv-bar rect:hover {
-  fill-opacity: 1;
-}
-
-
-/**********
-*  Bullet
-*/
-
-.nvd3.nv-bullet { font: 10px sans-serif; }
-.nvd3.nv-bullet .nv-measure { fill-opacity: .8; }
-.nvd3.nv-bullet .nv-measure:hover { fill-opacity: 1; }
-.nvd3.nv-bullet .nv-marker { stroke: #000; stroke-width: 2px; }
-.nvd3.nv-bullet .nv-markerTriangle { stroke: #000; fill: #fff; stroke-width: 1.5px; }
-.nvd3.nv-bullet .nv-tick line { stroke: #666; stroke-width: .5px; }
-.nvd3.nv-bullet .nv-range.nv-s0 { fill: #eee; }
-.nvd3.nv-bullet .nv-range.nv-s1 { fill: #ddd; }
-.nvd3.nv-bullet .nv-range.nv-s2 { fill: #ccc; }
-.nvd3.nv-bullet .nv-title { font-size: 14px; font-weight: bold; }
-.nvd3.nv-bullet .nv-subtitle { fill: #999; }
-
-
-.nvd3.nv-bullet .nv-range {
-  fill: #bababa;
-  fill-opacity: .4;
-}
-.nvd3.nv-bullet .nv-range:hover {
-  fill-opacity: .7;
-}
-
-
-
-/**********
-* Sparkline
-*/
-
-.nvd3.nv-sparkline path {
-  fill: none;
-}
-
-.nvd3.nv-sparklineplus g.nv-hoverValue {
-  pointer-events: none;
-}
-
-.nvd3.nv-sparklineplus .nv-hoverValue line {
-  stroke: #333;
-  stroke-width: 1.5px;
- }
-
-.nvd3.nv-sparklineplus,
-.nvd3.nv-sparklineplus g {
-  pointer-events: all;
-}
-
-.nvd3 .nv-hoverArea {
-  fill-opacity: 0;
-  stroke-opacity: 0;
-}
-
-.nvd3.nv-sparklineplus .nv-xValue,
-.nvd3.nv-sparklineplus .nv-yValue {
-  /*
-  stroke: #666;
-  */
-  stroke-width: 0;
-  font-size: .9em;
-  font-weight: normal;
-}
-
-.nvd3.nv-sparklineplus .nv-yValue {
-  stroke: #f66;
-}
-
-.nvd3.nv-sparklineplus .nv-maxValue {
-  stroke: #2ca02c;
-  fill: #2ca02c;
-}
-
-.nvd3.nv-sparklineplus .nv-minValue {
-  stroke: #d62728;
-  fill: #d62728;
-}
-
-.nvd3.nv-sparklineplus .nv-currentValue {
-  /*
-  stroke: #444;
-  fill: #000;
-  */
-  font-weight: bold;
-  font-size: 1.1em;
-}
-
-/**********
-* historical stock
-*/
-
-.nvd3.nv-ohlcBar .nv-ticks .nv-tick {
-  stroke-width: 2px;
-}
-
-.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover {
-  stroke-width: 4px;
-}
-
-.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive {
- stroke: #2ca02c;
-}
-
-.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative {
- stroke: #d62728;
-}
-
-.nvd3.nv-historicalStockChart .nv-axis .nv-axislabel {
-  font-weight: bold;
-}
-
-.nvd3.nv-historicalStockChart .nv-dragTarget {
-  fill-opacity: 0;
-  stroke: none;
-  cursor: move;
-}
-
-.nvd3 .nv-brush .extent {
-  /*
-  cursor: ew-resize !important;
-  */
-  fill-opacity: 0 !important;
-}
-
-.nvd3 .nv-brushBackground rect {
-  stroke: #000;
-  stroke-width: .4;
-  fill: #fff;
-  fill-opacity: .7;
-}
-
-
-
-/**********
-* Indented Tree
-*/
-
-
-/**
- * TODO: the following 3 selectors are based on classes used in the example.  I should either make them standard and leave them here, or move to a CSS file not included in the library
- */
-.nvd3.nv-indentedtree .name {
-  margin-left: 5px;
-}
-
-.nvd3.nv-indentedtree .clickable {
-  color: #08C;
-  cursor: pointer;
-}
-
-.nvd3.nv-indentedtree span.clickable:hover {
-  color: #005580;
-  text-decoration: underline;
-}
-
-
-.nvd3.nv-indentedtree .nv-childrenCount {
-  display: inline-block;
-  margin-left: 5px;
-}
-
-.nvd3.nv-indentedtree .nv-treeicon {
-  cursor: pointer;
-  /*
-  cursor: n-resize;
-  */
-}
-
-.nvd3.nv-indentedtree .nv-treeicon.nv-folded {
-  cursor: pointer;
-  /*
-  cursor: s-resize;
-  */
-}
-
-/**********
-* Parallel Coordinates
-*/
-
-.nvd3 .background path {
-  fill: none;
-  stroke: #ccc;
-  stroke-opacity: .4;
-  shape-rendering: crispEdges;
-}
-
-.nvd3 .foreground path {
-  fill: none;
-  stroke: steelblue;
-  stroke-opacity: .7;
-}
-
-.nvd3 .brush .extent {
-  fill-opacity: .3;
-  stroke: #fff;
-  shape-rendering: crispEdges;
-}
-
-.nvd3 .axis line, .axis path {
-  fill: none;
-  stroke: #000;
-  shape-rendering: crispEdges;
-}
-
-.nvd3 .axis text {
-  text-shadow: 0 1px 0 #fff;
-}
-
-/****
-Interactive Layer
-*/
-.nvd3 .nv-interactiveGuideLine {
-  pointer-events:none;
-}
-.nvd3 line.nv-guideline {
-  stroke: #ccc;
-}
\ No newline at end of file
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css
deleted file mode 100644
index ff146a5..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css
+++ /dev/null
@@ -1,114 +0,0 @@
-body {
- padding-top: 10px;
-}
-
-.popover {
- max-width: none;
-}
-
-.glyphicon {
- margin-right:.25em;
-}
-
-.table-bordered>thead>tr>td {
- border-bottom-width: 1px;
-}
-
-.table tbody>tr>td, .table thead>tr>td {
- padding-top: 3px;
- padding-bottom: 3px;
-}
-
-.table-condensed tbody>tr>td {
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.table .progress {
- margin-bottom: inherit;
-}
-
-.table-borderless th, .table-borderless td {
- border: 0 !important;
-}
-
-.table tbody td.success, li.success, span.success {
- background-color: #dff0d8;
-}
-
-.table tbody tr.danger, .table tbody td.danger, li.danger, span.danger {
- background-color: #f2dede;
-}
-
-.table tbody td.warning, li.warning, span.warning {
- background-color: #fcf8e3;
-}
-
-.table tbody td.info {
- background-color: #d9edf7;
-}
-
-td.big {
- width: 117px;
-}
-
-td.small {
-}
-
-td.codeLine {
- font-family: monospace;
- white-space: pre;
-}
-
-td span.comment {
- color: #888a85;
-}
-
-td span.default {
- color: #2e3436;
-}
-
-td span.html {
- color: #888a85;
-}
-
-td span.keyword {
- color: #2e3436;
- font-weight: bold;
-}
-
-pre span.string {
- color: #2e3436;
-}
-
-span.success, span.warning, span.danger {
- margin-right: 2px;
- padding-left: 10px;
- padding-right: 10px;
- text-align: center;
-}
-
-#classCoverageDistribution, #classComplexity {
- height: 200px;
- width: 475px;
-}
-
-#toplink {
- position: fixed;
- left: 5px;
- bottom: 5px;
- outline: 0;
-}
-
-svg text {
- font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- color: #666;
- fill: #666;
-}
-
-.scrollbox {
- height:245px;
- overflow-x:hidden;
- overflow-y:scroll;
-}
\ No newline at end of file
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist
deleted file mode 100644
index 3ae8ba1..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist
+++ /dev/null
@@ -1,286 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
-  <meta charset="UTF-8">
-  <title>Dashboard for {{full_path}}</title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="{{path_to_root}}css/bootstrap.min.css" rel="stylesheet">
-  <link href="{{path_to_root}}css/nv.d3.css" rel="stylesheet">
-  <link href="{{path_to_root}}css/style.css" rel="stylesheet">
-  <!--[if lt IE 9]>
-  <script src="{{path_to_root}}js/html5shiv.min.js"></script>
-  <script src="{{path_to_root}}js/respond.min.js"></script>
-  <![endif]-->
- </head>
- <body>
-  <header>
-   <div class="container">
-    <div class="row">
-     <div class="col-md-12">
-      <ol class="breadcrumb">
-{{breadcrumbs}}
-      </ol>
-     </div>
-    </div>
-   </div>
-  </header>
-  <div class="container">
-   <div class="row">
-    <div class="col-md-12">
-     <h2>Classes</h2>
-    </div>
-   </div>
-   <div class="row">
-    <div class="col-md-6">
-     <h3>Coverage Distribution</h3>
-     <div id="classCoverageDistribution" style="height: 300px;">
-       <svg></svg>
-     </div>
-    </div>
-    <div class="col-md-6">
-     <h3>Complexity</h3>
-     <div id="classComplexity" style="height: 300px;">
-       <svg></svg>
-     </div>
-    </div>
-   </div>
-   <div class="row">
-    <div class="col-md-6">
-     <h3>Insufficient Coverage</h3>
-     <div class="scrollbox">
-      <table class="table">
-       <thead>
-        <tr>
-         <th>Class</th>
-         <th class="text-right">Coverage</th>
-        </tr>
-       </thead>
-       <tbody>
-{{insufficient_coverage_classes}}
-       </tbody>
-      </table>
-     </div>
-    </div>
-    <div class="col-md-6">
-     <h3>Project Risks</h3>
-     <div class="scrollbox">
-      <table class="table">
-       <thead>
-        <tr>
-         <th>Class</th>
-         <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
-        </tr>
-       </thead>
-       <tbody>
-{{project_risks_classes}}
-       </tbody>
-      </table>
-     </div>
-    </div>
-   </div>
-   <div class="row">
-    <div class="col-md-12">
-     <h2>Methods</h2>
-    </div>
-   </div>
-   <div class="row">
-    <div class="col-md-6">
-     <h3>Coverage Distribution</h3>
-     <div id="methodCoverageDistribution" style="height: 300px;">
-       <svg></svg>
-     </div>
-    </div>
-    <div class="col-md-6">
-     <h3>Complexity</h3>
-     <div id="methodComplexity" style="height: 300px;">
-       <svg></svg>
-     </div>
-    </div>
-   </div>
-   <div class="row">
-    <div class="col-md-6">
-     <h3>Insufficient Coverage</h3>
-     <div class="scrollbox">
-      <table class="table">
-       <thead>
-        <tr>
-         <th>Method</th>
-         <th class="text-right">Coverage</th>
-        </tr>
-       </thead>
-       <tbody>
-{{insufficient_coverage_methods}}
-       </tbody>
-      </table>
-     </div>
-    </div>
-    <div class="col-md-6">
-     <h3>Project Risks</h3>
-     <div class="scrollbox">
-      <table class="table">
-       <thead>
-        <tr>
-         <th>Method</th>
-         <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
-        </tr>
-       </thead>
-       <tbody>
-{{project_risks_methods}}
-       </tbody>
-      </table>
-     </div>
-    </div>
-   </div>
-   <footer>
-    <hr/>
-    <p>
-     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage {{version}}</a> using <a href="{{runtime_link}}" target="_top">{{runtime_name}} {{runtime_version}}</a>{{generator}} at {{date}}.</small>
-    </p>
-   </footer>
-  </div>
-  <script src="{{path_to_root}}js/jquery.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/bootstrap.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/holder.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/d3.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/nv.d3.min.js" type="text/javascript"></script>
-  <script type="text/javascript">
-$(document).ready(function() {
-  nv.addGraph(function() {
-    var chart = nv.models.multiBarChart();
-    chart.tooltips(false)
-      .showControls(false)
-      .showLegend(false)
-      .reduceXTicks(false)
-      .staggerLabels(true)
-      .yAxis.tickFormat(d3.format('d'));
-
-    d3.select('#classCoverageDistribution svg')
-      .datum(getCoverageDistributionData({{class_coverage_distribution}}, "Class Coverage"))
-      .transition().duration(500).call(chart);
-
-    nv.utils.windowResize(chart.update);
-
-    return chart;
-  });
-
-  nv.addGraph(function() {
-    var chart = nv.models.multiBarChart();
-    chart.tooltips(false)
-      .showControls(false)
-      .showLegend(false)
-      .reduceXTicks(false)
-      .staggerLabels(true)
-      .yAxis.tickFormat(d3.format('d'));
-
-    d3.select('#methodCoverageDistribution svg')
-      .datum(getCoverageDistributionData({{method_coverage_distribution}}, "Method Coverage"))
-      .transition().duration(500).call(chart);
-
-    nv.utils.windowResize(chart.update);
-
-    return chart;
-  });
-
-  function getCoverageDistributionData(data, label) {
-    var labels = [
-      '0%',
-      '0-10%',
-      '10-20%',
-      '20-30%',
-      '30-40%',
-      '40-50%',
-      '50-60%',
-      '60-70%',
-      '70-80%',
-      '80-90%',
-      '90-100%',
-      '100%'
-    ];
-    var values = [];
-    $.each(labels, function(key) {
-      values.push({x: labels[key], y: data[key]});
-    });
-
-    return [
-      {
-        key: label,
-        values: values,
-        color: "#4572A7"
-      }
-    ];
-  }
-  nv.addGraph(function() {
-    var chart = nv.models.scatterChart()
-      .showDistX(true)
-      .showDistY(true)
-      .showLegend(false)
-      .forceX([0, 100]);
-    chart.scatter.onlyCircles(false);
-    chart.tooltipContent(function(key, y, e, graph) {
-      return '<p>' + graph.point.class + '</p>';
-    });
-
-    chart.xAxis.axisLabel('Code Coverage (in percent)');
-    chart.yAxis.axisLabel('Cyclomatic Complexity');
-
-    d3.select('#classComplexity svg')
-      .datum(getComplexityData({{complexity_class}}, 'Class Complexity'))
-      .transition()
-      .duration(500)
-      .call(chart);
-
-    nv.utils.windowResize(chart.update);
-
-    return chart;
-  });
-
-  nv.addGraph(function() {
-    var chart = nv.models.scatterChart()
-      .showDistX(true)
-      .showDistY(true)
-      .showLegend(false)
-      .forceX([0, 100]);
-    chart.scatter.onlyCircles(false);
-    chart.tooltipContent(function(key, y, e, graph) {
-      return '<p>' + graph.point.class + '</p>';
-    });
-
-    chart.xAxis.axisLabel('Code Coverage (in percent)');
-    chart.yAxis.axisLabel('Method Complexity');
-
-    d3.select('#methodComplexity svg')
-      .datum(getComplexityData({{complexity_method}}, 'Method Complexity'))
-      .transition()
-      .duration(500)
-      .call(chart);
-
-    nv.utils.windowResize(chart.update);
-
-    return chart;
-  });
-
-  function getComplexityData(data, label) {
-    var values = [];
-    $.each(data, function(key) {
-      var value = Math.round(data[key][0]*100) / 100;
-      values.push({
-        x: value,
-        y: data[key][1],
-        class: data[key][2],
-        size: 0.05,
-        shape: 'diamond'
-      });
-    });
-
-    return [
-      {
-        key: label,
-        values: values,
-        color: "#4572A7"
-      }
-    ];
-  }
-});
-  </script>
- </body>
-</html>
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist
deleted file mode 100644
index 8175df9..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
-  <meta charset="UTF-8">
-  <title>Code Coverage for {{full_path}}</title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="{{path_to_root}}css/bootstrap.min.css" rel="stylesheet">
-  <link href="{{path_to_root}}css/style.css" rel="stylesheet">
-  <!--[if lt IE 9]>
-  <script src="{{path_to_root}}js/html5shiv.min.js"></script>
-  <script src="{{path_to_root}}js/respond.min.js"></script>
-  <![endif]-->
- </head>
- <body>
-  <header>
-   <div class="container">
-    <div class="row">
-     <div class="col-md-12">
-      <ol class="breadcrumb">
-{{breadcrumbs}}
-      </ol>
-     </div>
-    </div>
-   </div>
-  </header>
-  <div class="container">
-   <table class="table table-bordered">
-    <thead>
-     <tr>
-      <td>&nbsp;</td>
-      <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td>
-     </tr>
-     <tr>
-      <td>&nbsp;</td>
-      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
-      <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td>
-      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
-     </tr>
-    </thead>
-    <tbody>
-{{items}}
-    </tbody>
-   </table>
-   <footer>
-    <hr/>
-    <h4>Legend</h4>
-    <p>
-     <span class="danger"><strong>Low</strong>: 0% to {{low_upper_bound}}%</span>
-     <span class="warning"><strong>Medium</strong>: {{low_upper_bound}}% to {{high_lower_bound}}%</span>
-     <span class="success"><strong>High</strong>: {{high_lower_bound}}% to 100%</span>
-    </p>
-    <p>
-     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage {{version}}</a> using <a href="{{runtime_link}}" target="_top">{{runtime_name}} {{runtime_version}}</a>{{generator}} at {{date}}.</small>
-    </p>
-   </footer>
-  </div>
-  <script src="{{path_to_root}}js/jquery.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/bootstrap.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/holder.js" type="text/javascript"></script>
- </body>
-</html>
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist
deleted file mode 100644
index 78dbb35..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist
+++ /dev/null
@@ -1,13 +0,0 @@
-     <tr>
-      <td class="{{lines_level}}">{{icon}}{{name}}</td>
-      <td class="{{lines_level}} big">{{lines_bar}}</td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td>
-      <td class="{{methods_level}} big">{{methods_bar}}</td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td>
-      <td class="{{classes_level}} big">{{classes_bar}}</td>
-      <td class="{{classes_level}} small"><div align="right">{{classes_tested_percent}}</div></td>
-      <td class="{{classes_level}} small"><div align="right">{{classes_number}}</div></td>
-     </tr>
-
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist
deleted file mode 100644
index 6827bd1..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
-  <meta charset="UTF-8">
-  <title>Code Coverage for {{full_path}}</title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="{{path_to_root}}css/bootstrap.min.css" rel="stylesheet">
-  <link href="{{path_to_root}}css/style.css" rel="stylesheet">
-  <!--[if lt IE 9]>
-  <script src="{{path_to_root}}js/html5shiv.min.js"></script>
-  <script src="{{path_to_root}}js/respond.min.js"></script>
-  <![endif]-->
- </head>
- <body>
-  <header>
-   <div class="container">
-    <div class="row">
-     <div class="col-md-12">
-      <ol class="breadcrumb">
-{{breadcrumbs}}
-      </ol>
-     </div>
-    </div>
-   </div>
-  </header>
-  <div class="container">
-   <table class="table table-bordered">
-    <thead>
-     <tr>
-      <td>&nbsp;</td>
-      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
-     </tr>
-     <tr>
-      <td>&nbsp;</td>
-      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
-      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
-      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
-     </tr>
-    </thead>
-    <tbody>
-{{items}}
-    </tbody>
-   </table>
-   <table id="code" class="table table-borderless table-condensed">
-    <tbody>
-{{lines}}
-    </tbody>
-   </table>
-   <footer>
-    <hr/>
-    <h4>Legend</h4>
-    <p>
-     <span class="success"><strong>Executed</strong></span>
-     <span class="danger"><strong>Not Executed</strong></span>
-     <span class="warning"><strong>Dead Code</strong></span>
-    </p>
-    <p>
-     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage {{version}}</a> using <a href="{{runtime_link}}" target="_top">{{runtime_name}} {{runtime_version}}</a>{{generator}} at {{date}}.</small>
-    </p>
-    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
-   </footer>
-  </div>
-  <script src="{{path_to_root}}js/jquery.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/bootstrap.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/holder.js" type="text/javascript"></script>
-  <script type="text/javascript">
-  $(function() {
-   var $window   = $(window)
-     , $top_link = $('#toplink')
-     , $body     = $('body, html')
-     , offset    = $('#code').offset().top;
-
-   $top_link.hide().click(function(event) {
-    event.preventDefault();
-    $body.animate({scrollTop:0}, 800);
-   });
-
-   $window.scroll(function() {
-    if($window.scrollTop() > offset) {
-     $top_link.fadeIn();
-    } else {
-     $top_link.fadeOut();
-    }
-   }).scroll();
-
-   $('.popin').popover({trigger: 'hover'});
-  });
-  </script>
- </body>
-</html>
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist
deleted file mode 100644
index 756fdd6..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist
+++ /dev/null
@@ -1,14 +0,0 @@
-     <tr>
-      <td class="{{classes_level}}">{{name}}</td>
-      <td class="{{classes_level}} big">{{classes_bar}}</td>
-      <td class="{{classes_level}} small"><div align="right">{{classes_tested_percent}}</div></td>
-      <td class="{{classes_level}} small"><div align="right">{{classes_number}}</div></td>
-      <td class="{{methods_level}} big">{{methods_bar}}</td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td>
-      <td class="{{methods_level}} small">{{crap}}</td>
-      <td class="{{lines_level}} big">{{lines_bar}}</td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td>
-     </tr>
-
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.eot b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.eot
deleted file mode 100644
index b93a495..0000000
Binary files a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.eot and /dev/null differ
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.svg b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.svg
deleted file mode 100644
index 94fb549..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.svg
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
-<font-face units-per-em="1200" ascent="960" descent="-240" />
-<missing-glyph horiz-adv-x="500" />
-<glyph horiz-adv-x="0" />
-<glyph horiz-adv-x="400" />
-<glyph unicode=" " />
-<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
-<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xa0;" />
-<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
-<glyph unicode="&#x2000;" horiz-adv-x="650" />
-<glyph unicode="&#x2001;" horiz-adv-x="1300" />
-<glyph unicode="&#x2002;" horiz-adv-x="650" />
-<glyph unicode="&#x2003;" horiz-adv-x="1300" />
-<glyph unicode="&#x2004;" horiz-adv-x="433" />
-<glyph unicode="&#x2005;" horiz-adv-x="325" />
-<glyph unicode="&#x2006;" horiz-adv-x="216" />
-<glyph unicode="&#x2007;" horiz-adv-x="216" />
-<glyph unicode="&#x2008;" horiz-adv-x="162" />
-<glyph unicode="&#x2009;" horiz-adv-x="260" />
-<glyph unicode="&#x200a;" horiz-adv-x="72" />
-<glyph unicode="&#x202f;" horiz-adv-x="260" />
-<glyph unicode="&#x205f;" horiz-adv-x="325" />
-<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
-<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
-<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
-<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
-<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
-<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
-<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
-<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
-<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
-<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
-<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
-<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
-<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
-<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
-<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
-<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
-<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
-<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
-<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
-<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
-<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
-<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
-<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
-<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
-<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
-<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
-<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
-<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
-<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
-<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
-<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
-<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
-<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
-<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
-<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
-<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
-<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
-<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
-<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
-<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
-<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
-<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
-<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
-<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
-<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
-<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
-<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
-<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
-<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
-<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
-<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
-<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
-<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
-<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
-<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
-<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
-<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
-<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
-<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
-<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
-<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
-<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
-<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
-<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
-<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
-<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
-<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
-<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
-<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
-<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
-<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
-<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
-<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
-<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
-<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
-<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
-<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
-<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
-<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
-<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
-<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
-<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
-<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
-<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
-<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
-<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
-<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
-<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
-<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
-<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
-<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
-<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
-<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
-<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
-<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
-<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
-<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
-<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
-<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
-<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
-<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
-<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
-<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
-<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
-<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
-<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
-<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
-<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
-<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
-<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
-<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
-<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
-<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
-<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
-<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
-<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
-<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
-<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
-<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
-<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
-<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
-<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
-<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
-<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
-<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
-<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
-<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
-<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
-<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
-<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
-<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
-<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
-<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
-<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
-<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
-<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
-<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
-<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
-<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
-<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
-<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
-<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
-<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
-<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
-<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
-<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
-<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
-<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
-<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
-<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
-<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
-<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
-<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
-<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
-<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
-<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
-<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
-<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
-<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
-<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
-<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
-<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
-<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
-<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
-<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
-<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
-<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
-<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
-<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
-<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
-<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
-<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.ttf b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.ttf
deleted file mode 100644
index 1f85312..0000000
Binary files a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.ttf and /dev/null differ
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff
deleted file mode 100644
index 9e61285..0000000
Binary files a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff and /dev/null differ
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff2 b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff2
deleted file mode 100644
index 64539b5..0000000
Binary files a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff2 and /dev/null differ
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js
deleted file mode 100644
index c6d3692..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.3.2 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.2",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.2",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.2",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.2",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.2",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.2",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.options.backdrop&&d.adjustBackdrop(),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in").attr("aria-hidden",!1),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$element.find(".modal-dialog").one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a('<div class="modal-backdrop '+e+'" />').prependTo(this.$element).on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},c.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.2",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=this.tip(),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.2",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.2",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.2",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()
-}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.2",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a("body").height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js
deleted file mode 100644
index d7cfb70..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-!function(){function n(n,t){return t>n?-1:n>t?1:n>=t?0:0/0}function t(n){return null===n?0/0:+n}function e(n){return!isNaN(n)}function r(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function u(n){return n.length}function i(n){for(var t=1;n*t%1;)t*=10;return t}function o(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function a(){this._=Object.create(null)}function c(n){return(n+="")===la||n[0]===sa?sa+n:n}function l(n){return(n+="")[0]===sa?n.slice(1):n}function s(n){return c(n)in this._}function f(n){return(n=c(n))in this._&&delete this._[n]}function h(){var n=[];for(var t in this._)n.push(l(t));return n}function g(){var n=0;for(var t in this._)++n;return n}function p(){for(var n in this._)return!1;return!0}function v(){this._=Object.create(null)}function d(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function m(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=fa.length;r>e;++e){var u=fa[e]+t;if(u in n)return u}}function y(){}function x(){}function M(n){function t(){for(var t,r=e,u=-1,i=r.length;++u<i;)(t=r[u].on)&&t.apply(this,arguments);return n}var e=[],r=new a;return t.on=function(t,u){var i,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(t)),u&&e.push(r.set(t,{on:u})),n)},t}function _(){Bo.event.preventDefault()}function b(){for(var n,t=Bo.event;n=t.sourceEvent;)t=n;return t}function w(n){for(var t=new x,e=0,r=arguments.length;++e<r;)t[arguments[e]]=M(t);return t.of=function(e,r){return function(u){try{var i=u.sourceEvent=Bo.event;u.target=n,Bo.event=u,t[u.type].apply(e,r)}finally{Bo.event=i}}},t}function S(n){return ga(n,ya),n}function k(n){return"function"==typeof n?n:function(){return pa(n,this)}}function E(n){return"function"==typeof n?n:function(){return va(n,this)}}function A(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function u(){this.setAttribute(n,t)}function i(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=Bo.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?i:u}function C(n){return n.trim().replace(/\s+/g," ")}function N(n){return new RegExp("(?:^|\\s+)"+Bo.requote(n)+"(?:\\s+|$)","g")}function z(n){return(n+"").trim().split(/^|\s+/)}function L(n,t){function e(){for(var e=-1;++e<u;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<u;)n[e](this,r)}n=z(n).map(T);var u=n.length;return"function"==typeof t?r:e}function T(n){var t=N(n);return function(e,r){if(u=e.classList)return r?u.add(n):u.remove(n);var u=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(u)||e.setAttribute("class",C(u+" "+n))):e.setAttribute("class",C(u.replace(t," ")))}}function q(n,t,e){function r(){this.style.removeProperty(n)}function u(){this.style.setProperty(n,t,e)}function i(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?i:u}function R(n,t){function e(){delete this[n]}function r(){this[n]=t}function u(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?u:r}function D(n){return"function"==typeof n?n:(n=Bo.ns.qualify(n)).local?function(){return this.ownerDocument.createElementNS(n.space,n.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,n)}}function P(n){return{__data__:n}}function U(n){return function(){return ma(this,n)}}function j(t){return arguments.length||(t=n),function(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}}function F(n,t){for(var e=0,r=n.length;r>e;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function H(n){return ga(n,Ma),n}function O(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t<c;);return o}}function Y(){var n=this.__transition__;n&&++n.active}function I(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function u(){var u=c(t,Jo(arguments));r.call(this),this.addEventListener(n,this[o]=u,u.$=e),u._=t}function i(){var t,e=new RegExp("^__on([^.]+)"+Bo.requote(n)+"$");for(var r in this)if(t=r.match(e)){var u=this[r];this.removeEventListener(t[1],u,u.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),c=Z;a>0&&(n=n.slice(0,a));var l=ba.get(n);return l&&(n=l,c=V),a?t?u:r:t?y:i}function Z(n,t){return function(e){var r=Bo.event;Bo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{Bo.event=r}}}function V(n,t){var e=Z(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function X(){var n=".dragsuppress-"+ ++Sa,t="click"+n,e=Bo.select(Qo).on("touchmove"+n,_).on("dragstart"+n,_).on("selectstart"+n,_);if(wa){var r=Ko.style,u=r[wa];r[wa]="none"}return function(i){function o(){e.on(t,null)}e.on(n,null),wa&&(r[wa]=u),i&&(e.on(t,function(){_(),o()},!0),setTimeout(o,0))}}function $(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>ka&&(Qo.scrollX||Qo.scrollY)){e=Bo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();ka=!(u.f||u.e),e.remove()}return ka?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function B(){return Bo.event.changedTouches[0].identifier}function W(){return Bo.event.target}function J(){return Qo}function G(n){return n>0?1:0>n?-1:0}function K(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function Q(n){return n>1?0:-1>n?Ea:Math.acos(n)}function nt(n){return n>1?Ca:-1>n?-Ca:Math.asin(n)}function tt(n){return((n=Math.exp(n))-1/n)/2}function et(n){return((n=Math.exp(n))+1/n)/2}function rt(n){return((n=Math.exp(2*n))-1)/(n+1)}function ut(n){return(n=Math.sin(n/2))*n}function it(){}function ot(n,t,e){return this instanceof ot?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ot?new ot(n.h,n.s,n.l):Mt(""+n,_t,ot):new ot(n,t,e)}function at(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,new dt(u(n+120),u(n),u(n-120))}function ct(n,t,e){return this instanceof ct?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof ct?new ct(n.h,n.c,n.l):n instanceof st?ht(n.l,n.a,n.b):ht((n=bt((n=Bo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new ct(n,t,e)}function lt(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new st(e,Math.cos(n*=La)*t,Math.sin(n)*t)}function st(n,t,e){return this instanceof st?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof st?new st(n.l,n.a,n.b):n instanceof ct?lt(n.h,n.c,n.l):bt((n=dt(n)).r,n.g,n.b):new st(n,t,e)}function ft(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=gt(u)*Ya,r=gt(r)*Ia,i=gt(i)*Za,new dt(vt(3.2404542*u-1.5371385*r-.4985314*i),vt(-.969266*u+1.8760108*r+.041556*i),vt(.0556434*u-.2040259*r+1.0572252*i))}function ht(n,t,e){return n>0?new ct(Math.atan2(e,t)*Ta,Math.sqrt(t*t+e*e),n):new ct(0/0,0/0,n)}function gt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function pt(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function vt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function dt(n,t,e){return this instanceof dt?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof dt?new dt(n.r,n.g,n.b):Mt(""+n,dt,at):new dt(n,t,e)}function mt(n){return new dt(n>>16,255&n>>8,255&n)}function yt(n){return mt(n)+""}function xt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function Mt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(St(u[0]),St(u[1]),St(u[2]))}return(i=$a.get(n))?t(i.r,i.g,i.b):(null==n||"#"!==n.charAt(0)||isNaN(i=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&i)>>4,o=o>>4|o,a=240&i,a=a>>4|a,c=15&i,c=c<<4|c):7===n.length&&(o=(16711680&i)>>16,a=(65280&i)>>8,c=255&i)),t(o,a,c))}function _t(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),new ot(r,u,c)}function bt(n,t,e){n=wt(n),t=wt(t),e=wt(e);var r=pt((.4124564*n+.3575761*t+.1804375*e)/Ya),u=pt((.2126729*n+.7151522*t+.072175*e)/Ia),i=pt((.0193339*n+.119192*t+.9503041*e)/Za);return st(116*u-16,500*(r-u),200*(u-i))}function wt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function St(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function kt(n){return"function"==typeof n?n:function(){return n}}function Et(n){return n}function At(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Ct(t,e,n,r)}}function Ct(n,t,e,r){function u(){var n,t=c.status;if(!t&&zt(c)||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=Bo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!Qo.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=Bo.event;Bo.event=n;try{o.progress.call(i,c)}finally{Bo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Jo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},Bo.rebind(i,o,"on"),null==r?i:i.get(Nt(r))}function Nt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function zt(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function Lt(){var n=Tt(),t=qt()-n;t>24?(isFinite(t)&&(clearTimeout(Ga),Ga=setTimeout(Lt,t)),Ja=0):(Ja=1,Qa(Lt))}function Tt(){var n=Date.now();for(Ka=Ba;Ka;)n>=Ka.t&&(Ka.f=Ka.c(n-Ka.t)),Ka=Ka.n;return n}function qt(){for(var n,t=Ba,e=1/0;t;)t.f?t=n?n.n=t.n:Ba=t.n:(t.t<e&&(e=t.t),t=(n=t).n);return Wa=n,e}function Rt(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Dt(n,t){var e=Math.pow(10,3*ca(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Pt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r&&e?function(n,t){for(var u=n.length,i=[],o=0,a=r[0],c=0;u>0&&a>0&&(c+a+1>t&&(a=Math.max(1,t-c)),i.push(n.substring(u-=a,u+a)),!((c+=a+1)>t));)a=r[o=(o+1)%r.length];return i.reverse().join(e)}:Et;return function(n){var e=tc.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",c=e[4]||"",l=e[5],s=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===o)&&(l=r="0",o="="),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=ec.get(g)||Ut;var x=l&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>p){var c=Bo.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var M,_,b=n.lastIndexOf(".");if(0>b){var w=y?n.lastIndexOf("e"):-1;0>w?(M=n,_=""):(M=n.substring(0,w),_=n.substring(w))}else M=n.substring(0,b),_=t+n.substring(b+1);!l&&f&&(M=i(M,1/0));var S=v.length+M.length+_.length+(x?0:u.length),k=s>S?new Array(S=s-S+1).join(r):"";return x&&(M=i(k+M,k.length?s-_.length:1/0)),u+=v,n=M+_,("<"===o?u+n+k:">"===o?k+u+n:"^"===o?k.substring(0,S>>=1)+u+n+k.substring(S):u+(x?n:k+n))+e}}}function Ut(n){return n+""}function jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ft(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new uc(e-1)),1),e}function i(n,e){return t(n=new uc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{uc=jt;var r=new jt;return r._=n,o(r,t,e)}finally{uc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Ht(n);return c.floor=c,c.round=Ht(r),c.ceil=Ht(u),c.offset=Ht(i),c.range=a,n}function Ht(n){return function(t,e){try{uc=jt;var r=new jt;return r._=t,n(r,e)._}finally{uc=Date}}}function Ot(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.slice(c,a)),null!=(u=oc[e=n.charAt(++a)])&&(e=n.charAt(++a)),(i=C[e])&&(e=i(t,null==u?"e"===e?" ":"0":u)),o.push(e),c=a+1);return o.push(n.slice(c,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},u=e(r,n,t,0);if(u!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&uc!==jt,o=new(i?jt:uc);return"j"in r?o.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+(0|r.Z/100),r.M+r.Z%100,r.S,r.L),i?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var u,i,o,a=0,c=t.length,l=e.length;c>a;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=N[o in oc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){b.lastIndex=0;var r=b.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){M.lastIndex=0;var r=M.exec(t.slice(e));return r?(n.w=_.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.slice(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,C.c.toString(),t,r)}function c(n,t,r){return e(n,C.x.toString(),t,r)}function l(n,t,r){return e(n,C.X.toString(),t,r)}function s(n,t,e){var r=x.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{uc=jt;var t=new uc;return t._=n,r(t)}finally{uc=Date}}var r=t(n);return e.parse=function(n){try{uc=jt;var t=r.parse(n);return t&&t._}finally{uc=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ae;var x=Bo.map(),M=It(v),_=Zt(v),b=It(d),w=Zt(d),S=It(m),k=Zt(m),E=It(y),A=Zt(y);p.forEach(function(n,t){x.set(n.toLowerCase(),t)});var C={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return Yt(n.getDate(),t,2)},e:function(n,t){return Yt(n.getDate(),t,2)},H:function(n,t){return Yt(n.getHours(),t,2)},I:function(n,t){return Yt(n.getHours()%12||12,t,2)},j:function(n,t){return Yt(1+rc.dayOfYear(n),t,3)},L:function(n,t){return Yt(n.getMilliseconds(),t,3)},m:function(n,t){return Yt(n.getMonth()+1,t,2)},M:function(n,t){return Yt(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Yt(n.getSeconds(),t,2)},U:function(n,t){return Yt(rc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Yt(rc.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return Yt(n.getFullYear()%100,t,2)},Y:function(n,t){return Yt(n.getFullYear()%1e4,t,4)},Z:ie,"%":function(){return"%"}},N={a:r,A:u,b:i,B:o,c:a,d:Qt,e:Qt,H:te,I:te,j:ne,L:ue,m:Kt,M:ee,p:s,S:re,U:Xt,w:Vt,W:$t,x:c,X:l,y:Wt,Y:Bt,Z:Jt,"%":oe};return t}function Yt(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function It(n){return new RegExp("^(?:"+n.map(Bo.requote).join("|")+")","i")}function Zt(n){for(var t=new a,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function Vt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Xt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e));return r?(n.U=+r[0],e+r[0].length):-1}function $t(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e));return r?(n.W=+r[0],e+r[0].length):-1}function Bt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Wt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.y=Gt(+r[0]),e+r[0].length):-1}function Jt(n,t,e){return/^[+-]\d{4}$/.test(t=t.slice(e,e+5))?(n.Z=-t,e+5):-1}function Gt(n){return n+(n>68?1900:2e3)}function Kt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Qt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function ne(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function te(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ee(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function re(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ue(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ie(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=0|ca(t)/60,u=ca(t)%60;return e+Yt(r,"0",2)+Yt(u,"0",2)}function oe(n,t,e){cc.lastIndex=0;var r=cc.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ae(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function ce(){}function le(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function se(n,t){n&&hc.hasOwnProperty(n.type)&&hc[n.type](n,t)}function fe(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++u<i;)r=n[u],t.point(r[0],r[1],r[2]);t.lineEnd()}function he(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)fe(n[e],t,1);t.polygonEnd()}function ge(){function n(n,t){n*=La,t=t*La/2+Ea/4;var e=n-r,o=e>=0?1:-1,a=o*e,c=Math.cos(t),l=Math.sin(t),s=i*l,f=u*c+s*Math.cos(a),h=s*o*Math.sin(a);pc.add(Math.atan2(h,f)),r=n,u=c,i=l}var t,e,r,u,i;vc.point=function(o,a){vc.point=n,r=(t=o)*La,u=Math.cos(a=(e=a)*La/2+Ea/4),i=Math.sin(a)},vc.lineEnd=function(){n(t,e)}}function pe(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function ve(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function de(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function me(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ye(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function xe(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function Me(n){return[Math.atan2(n[1],n[0]),nt(n[2])]}function _e(n,t){return ca(n[0]-t[0])<Na&&ca(n[1]-t[1])<Na}function be(n,t){n*=La;var e=Math.cos(t*=La);we(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function we(n,t,e){++dc,yc+=(n-yc)/dc,xc+=(t-xc)/dc,Mc+=(e-Mc)/dc}function Se(){function n(n,u){n*=La;var i=Math.cos(u*=La),o=i*Math.cos(n),a=i*Math.sin(n),c=Math.sin(u),l=Math.atan2(Math.sqrt((l=e*c-r*a)*l+(l=r*o-t*c)*l+(l=t*a-e*o)*l),t*o+e*a+r*c);mc+=l,_c+=l*(t+(t=o)),bc+=l*(e+(e=a)),wc+=l*(r+(r=c)),we(t,e,r)}var t,e,r;Ac.point=function(u,i){u*=La;var o=Math.cos(i*=La);t=o*Math.cos(u),e=o*Math.sin(u),r=Math.sin(i),Ac.point=n,we(t,e,r)}}function ke(){Ac.point=be}function Ee(){function n(n,t){n*=La;var e=Math.cos(t*=La),o=e*Math.cos(n),a=e*Math.sin(n),c=Math.sin(t),l=u*c-i*a,s=i*o-r*c,f=r*a-u*o,h=Math.sqrt(l*l+s*s+f*f),g=r*o+u*a+i*c,p=h&&-Q(g)/h,v=Math.atan2(h,g);Sc+=p*l,kc+=p*s,Ec+=p*f,mc+=v,_c+=v*(r+(r=o)),bc+=v*(u+(u=a)),wc+=v*(i+(i=c)),we(r,u,i)}var t,e,r,u,i;Ac.point=function(o,a){t=o,e=a,Ac.point=n,o*=La;var c=Math.cos(a*=La);r=c*Math.cos(o),u=c*Math.sin(o),i=Math.sin(a),we(r,u,i)},Ac.lineEnd=function(){n(t,e),Ac.lineEnd=ke,Ac.point=be}}function Ae(){return!0}function Ce(n,t,e,r,u){var i=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(_e(e,r)){u.lineStart();for(var a=0;t>a;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c=new ze(e,n,null,!0),l=new ze(e,null,c,!1);c.o=l,i.push(c),o.push(l),c=new ze(r,n,null,!1),l=new ze(r,null,c,!0),c.o=l,i.push(c),o.push(l)}}),o.sort(t),Ne(i),Ne(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].e=c=!c;for(var s,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;s=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,l=s.length;l>a;++a)u.point((f=s[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){s=g.p.z;for(var a=s.length-1;a>=0;--a)u.point((f=s[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,s=g.z,p=!p}while(!g.v);u.lineEnd()}}}function Ne(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r<t;)u.n=e=n[r],e.p=u,u=e;u.n=e=n[0],e.p=u}}function ze(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Le(n,t,e,r){return function(u,i){function o(t,e){var r=u(t,e);n(t=r[0],e=r[1])&&i.point(t,e)}function a(n,t){var e=u(n,t);d.point(e[0],e[1])}function c(){y.point=a,d.lineStart()}function l(){y.point=o,d.lineEnd()}function s(n,t){v.push([n,t]);var e=u(n,t);M.point(e[0],e[1])}function f(){M.lineStart(),v=[]}function h(){s(v[0][0],v[0][1]),M.lineEnd();var n,t=M.clean(),e=x.buffer(),r=e.length;if(v.pop(),p.push(v),v=null,r)if(1&t){n=e[0];var u,r=n.length-1,o=-1;if(r>0){for(_||(i.polygonStart(),_=!0),i.lineStart();++o<r;)i.point((u=n[o])[0],u[1]);i.lineEnd()}}else r>1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Te))}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=Bo.merge(g);var n=je(m,p);g.length?(_||(i.polygonStart(),_=!0),Ce(g,Re,n,e,i)):n&&(_||(i.polygonStart(),_=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),_&&(i.polygonEnd(),_=!1),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},x=qe(),M=t(x),_=!1;return y}}function Te(n){return n.length>1}function qe(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:y,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Re(n,t){return((n=n.x)[0]<0?n[1]-Ca-Na:Ca-n[1])-((t=t.x)[0]<0?t[1]-Ca-Na:Ca-t[1])}function De(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Ea:-Ea,c=ca(i-e);ca(c-Ea)<Na?(n.point(e,r=(r+o)/2>0?Ca:-Ca),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Ea&&(ca(e-u)<Na&&(e-=u*Na),ca(i-a)<Na&&(i-=a*Na),r=Pe(e,r,i,o),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=i,r=o),u=a},lineEnd:function(){n.lineEnd(),e=r=0/0},clean:function(){return 2-t}}}function Pe(n,t,e,r){var u,i,o=Math.sin(n-e);return ca(o)>Na?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function Ue(n,t,e,r){var u;if(null==n)u=e*Ca,r.point(-Ea,u),r.point(0,u),r.point(Ea,u),r.point(Ea,0),r.point(Ea,-u),r.point(0,-u),r.point(-Ea,-u),r.point(-Ea,0),r.point(-Ea,u);else if(ca(n[0]-t[0])>Na){var i=n[0]<t[0]?Ea:-Ea;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(t[0],t[1])}function je(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;pc.reset();for(var a=0,c=t.length;c>a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+Ea/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===s&&(d=0),n=l[d];var m=n[0],y=n[1]/2+Ea/4,x=Math.sin(y),M=Math.cos(y),_=m-h,b=_>=0?1:-1,w=b*_,S=w>Ea,k=p*x;if(pc.add(Math.atan2(k*b*Math.sin(w),v*M+k*Math.cos(w))),i+=S?_+b*Aa:_,S^h>=e^m>=e){var E=de(pe(f),pe(n));xe(E);var A=de(u,E);xe(A);var C=(S^_>=0?-1:1)*nt(A[2]);(r>C||r===C&&(E[0]||E[1]))&&(o+=S^_>=0?1:-1)}if(!d++)break;h=m,p=x,v=M,f=n}}return(-Na>i||Na>i&&0>pc)^1&o}function Fe(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?Ea:-Ea),h):0;if(!e&&(l=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(_e(e,g)||_e(p,g))&&(p[0]+=Na,p[1]+=Na,v=t(p[0],p[1]))),v!==c)s=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&_e(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=pe(n),u=pe(t),o=[1,0,0],a=de(r,u),c=ve(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=de(o,a),p=ye(o,f),v=ye(a,h);me(p,v);var d=g,m=ve(p,d),y=ve(d,d),x=m*m-y*(ve(p,p)-1);if(!(0>x)){var M=Math.sqrt(x),_=ye(d,(-m-M)/y);if(me(_,p),_=Me(_),!e)return _;var b,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(b=w,w=S,S=b);var A=S-w,C=ca(A-Ea)<Na,N=C||Na>A;if(!C&&k>E&&(b=k,k=E,E=b),N?C?k+E>0^_[1]<(ca(_[0]-w)<Na?k:E):k<=_[1]&&_[1]<=E:A>Ea^(w<=_[0]&&_[0]<=S)){var z=ye(d,(-m+M)/y);return me(z,p),[_,Me(z)]}}}function u(t,e){var r=o?n:Ea-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=ca(i)>Na,c=gr(n,6*La);return Le(t,e,c,o?[0,-n]:[-Ea,n-Ea])}function He(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,l=o.y,s=a.x,f=a.y,h=0,g=1,p=s-c,v=f-l;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-l,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-l,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:l+h*v}),1>g&&(u.b={x:c+g*p,y:l+g*v}),u}}}}}}function Oe(n,t,e,r){function u(r,u){return ca(r[0]-n)<Na?u>0?0:3:ca(r[0]-e)<Na?u>0?2:1:ca(r[1]-t)<Na?u>0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&K(l,i,n)>0&&++t:i[1]<=r&&K(l,i,n)<0&&--t,l=i;return 0!==t}function l(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function s(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){s(n,t)&&a.point(n,t)}function h(){N.point=p,d&&d.push(m=[]),S=!0,w=!1,_=b=0/0}function g(){v&&(p(y,x),M&&w&&A.rejoin(),v.push(A.buffer())),N.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Nc,Math.min(Nc,n)),t=Math.max(-Nc,Math.min(Nc,t));var e=s(n,t);if(d&&m.push([n,t]),S)y=n,x=t,M=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:_,y:b},b:{x:n,y:t}};C(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}_=n,b=t,w=e}var v,d,m,y,x,M,_,b,w,S,k,E=a,A=qe(),C=He(n,t,e,r),N={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=Bo.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),l(null,null,1,a),a.lineEnd()),u&&Ce(v,i,t,l,a),a.polygonEnd()),v=d=m=null}};return N}}function Ye(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function Ie(n){var t=0,e=Ea/3,r=ir(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*Ea/180,e=n[1]*Ea/180):[180*(t/Ea),180*(e/Ea)]},u}function Ze(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,nt((i-(n*n+e*e)*u*u)/(2*u))]},e}function Ve(){function n(n,t){Lc+=u*n-r*t,r=n,u=t}var t,e,r,u;Pc.point=function(i,o){Pc.point=n,t=r=i,e=u=o},Pc.lineEnd=function(){n(t,e)}}function Xe(n,t){Tc>n&&(Tc=n),n>Rc&&(Rc=n),qc>t&&(qc=t),t>Dc&&(Dc=t)}function $e(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Be(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Be(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Be(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function We(n,t){yc+=n,xc+=t,++Mc}function Je(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);_c+=o*(t+n)/2,bc+=o*(e+r)/2,wc+=o,We(t=n,e=r)}var t,e;jc.point=function(r,u){jc.point=n,We(t=r,e=u)}}function Ge(){jc.point=We}function Ke(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);_c+=o*(r+n)/2,bc+=o*(u+t)/2,wc+=o,o=u*n-r*t,Sc+=o*(r+n),kc+=o*(u+t),Ec+=3*o,We(r=n,u=t)}var t,e,r,u;jc.point=function(i,o){jc.point=n,We(t=r=i,e=u=o)},jc.lineEnd=function(){n(t,e)}}function Qe(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,Aa)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:y};return a}function nr(n){function t(n){return(a?r:e)(n)}function e(t){return rr(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){x=0/0,S.point=i,t.lineStart()}function i(e,r){var i=pe([e,r]),o=n(e,r);u(x,M,y,_,b,w,x=o[0],M=o[1],y=e,_=i[0],b=i[1],w=i[2],a,t),t.point(x,M)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=l,S.lineEnd=s}function l(n,t){i(f=n,h=t),g=x,p=M,v=_,d=b,m=w,S.point=i}function s(){u(x,M,y,_,b,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,x,M,_,b,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,l,s,f,h,g,p,v,d,m){var y=s-t,x=f-e,M=y*y+x*x;if(M>4*i&&d--){var _=a+g,b=c+p,w=l+v,S=Math.sqrt(_*_+b*b+w*w),k=Math.asin(w/=S),E=ca(ca(w)-1)<Na||ca(r-h)<Na?(r+h)/2:Math.atan2(b,_),A=n(E,k),C=A[0],N=A[1],z=C-t,L=N-e,T=x*z-y*L;
-(T*T/M>i||ca((y*z+x*L)/M-.5)>.3||o>a*g+c*p+l*v)&&(u(t,e,r,a,c,l,C,N,E,_/=S,b/=S,w,d,m),m.point(C,N),u(C,N,E,_,b,w,s,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*La),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function tr(n){var t=nr(function(t,e){return n([t*Ta,e*Ta])});return function(n){return or(t(n))}}function er(n){this.stream=n}function rr(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function ur(n){return ir(function(){return n})()}function ir(n){function t(n){return n=a(n[0]*La,n[1]*La),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*Ta,n[1]*Ta]}function r(){a=Ye(o=lr(m,y,x),i);var n=i(v,d);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=nr(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,y=0,x=0,M=Cc,_=Et,b=null,w=null;return t.stream=function(n){return s&&(s.valid=!1),s=or(M(o,f(_(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(M=null==n?(b=n,Cc):Fe((b=+n)*La),u()):b},t.clipExtent=function(n){return arguments.length?(w=n,_=n?Oe(n[0][0],n[0][1],n[1][0],n[1][1]):Et,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*La,d=n[1]%360*La,r()):[v*Ta,d*Ta]},t.rotate=function(n){return arguments.length?(m=n[0]%360*La,y=n[1]%360*La,x=n.length>2?n[2]%360*La:0,r()):[m*Ta,y*Ta,x*Ta]},Bo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function or(n){return rr(n,function(t,e){n.point(t*La,e*La)})}function ar(n,t){return[n,t]}function cr(n,t){return[n>Ea?n-Aa:-Ea>n?n+Aa:n,t]}function lr(n,t,e){return n?t||e?Ye(fr(n),hr(t,e)):fr(n):t||e?hr(t,e):cr}function sr(n){return function(t,e){return t+=n,[t>Ea?t-Aa:-Ea>t?t+Aa:t,e]}}function fr(n){var t=sr(n);return t.invert=sr(-n),t}function hr(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),nt(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),nt(s*r-a*u)]},e}function gr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=pr(e,u),i=pr(e,i),(o>0?i>u:u>i)&&(u+=o*Aa)):(u=n+o*Aa,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=Me([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function pr(n,t){var e=pe(t);e[0]-=n,xe(e);var r=Q(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Na)%(2*Math.PI)}function vr(n,t,e){var r=Bo.range(n,t-Na,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function dr(n,t,e){var r=Bo.range(n,t-Na,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function mr(n){return n.source}function yr(n){return n.target}function xr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(ut(r-t)+u*o*ut(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*Ta,Math.atan2(o,Math.sqrt(r*r+u*u))*Ta]}:function(){return[n*Ta,t*Ta]};return p.distance=h,p}function Mr(){function n(n,u){var i=Math.sin(u*=La),o=Math.cos(u),a=ca((n*=La)-t),c=Math.cos(a);Fc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;Hc.point=function(u,i){t=u*La,e=Math.sin(i*=La),r=Math.cos(i),Hc.point=n},Hc.lineEnd=function(){Hc.point=Hc.lineEnd=y}}function _r(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function br(n,t){function e(n,t){o>0?-Ca+Na>t&&(t=-Ca+Na):t>Ca-Na&&(t=Ca-Na);var e=o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(Ea/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=G(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Ca]},e):Sr}function wr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return ca(u)<Na?ar:(e.invert=function(n,t){var e=i-t;return[Math.atan2(n,e)/u,i-G(u)*Math.sqrt(n*n+e*e)]},e)}function Sr(n,t){return[n,Math.log(Math.tan(Ea/4+t/2))]}function kr(n){var t,e=ur(n),r=e.scale,u=e.translate,i=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=u.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=i.apply(e,arguments);if(o===e){if(t=null==n){var a=Ea*r(),c=u();i([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function Er(n,t){return[Math.log(Math.tan(Ea/4+t/2)),-n]}function Ar(n){return n[0]}function Cr(n){return n[1]}function Nr(n){for(var t=n.length,e=[0,1],r=2,u=2;t>u;u++){for(;r>1&&K(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function zr(n,t){return n[0]-t[0]||n[1]-t[1]}function Lr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Tr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function qr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Rr(){tu(this),this.edge=this.site=this.circle=null}function Dr(n){var t=Kc.pop()||new Rr;return t.site=n,t}function Pr(n){Xr(n),Wc.remove(n),Kc.push(n),tu(n)}function Ur(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Pr(n);for(var c=i;c.circle&&ca(e-c.circle.x)<Na&&ca(r-c.circle.cy)<Na;)i=c.P,a.unshift(c),Pr(c),c=i;a.unshift(c),Xr(c);for(var l=o;l.circle&&ca(e-l.circle.x)<Na&&ca(r-l.circle.cy)<Na;)o=l.N,a.push(l),Pr(l),l=o;a.push(l),Xr(l);var s,f=a.length;for(s=1;f>s;++s)l=a[s],c=a[s-1],Kr(l.edge,c.site,l.site,u);c=a[0],l=a[f-1],l.edge=Jr(c.site,l.site,null,u),Vr(c),Vr(l)}function jr(n){for(var t,e,r,u,i=n.x,o=n.y,a=Wc._;a;)if(r=Fr(a,o)-i,r>Na)a=a.L;else{if(u=i-Hr(a,o),!(u>Na)){r>-Na?(t=a.P,e=a):u>-Na?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Dr(n);if(Wc.insert(t,c),t||e){if(t===e)return Xr(t),e=Dr(t.site),Wc.insert(c,e),c.edge=e.edge=Jr(t.site,c.site),Vr(t),Vr(e),void 0;if(!e)return c.edge=Jr(t.site,c.site),void 0;Xr(t),Xr(e);var l=t.site,s=l.x,f=l.y,h=n.x-s,g=n.y-f,p=e.site,v=p.x-s,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,x=v*v+d*d,M={x:(d*y-g*x)/m+s,y:(h*x-v*y)/m+f};Kr(e.edge,l,p,M),c.edge=Jr(l,n,null,M),e.edge=Jr(n,p,null,M),Vr(t),Vr(e)}}function Fr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,l=c-t;if(!l)return a;var s=a-r,f=1/i-1/l,h=s/l;return f?(-h+Math.sqrt(h*h-2*f*(s*s/(-2*l)-c+l/2+u-i/2)))/f+r:(r+a)/2}function Hr(n,t){var e=n.N;if(e)return Fr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Or(n){this.site=n,this.edges=[]}function Yr(n){for(var t,e,r,u,i,o,a,c,l,s,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Bc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)s=a[o].end(),r=s.x,u=s.y,l=a[++o%c].start(),t=l.x,e=l.y,(ca(r-t)>Na||ca(u-e)>Na)&&(a.splice(o,0,new Qr(Gr(i.site,s,ca(r-f)<Na&&p-u>Na?{x:f,y:ca(t-f)<Na?e:p}:ca(u-p)<Na&&h-r>Na?{x:ca(e-p)<Na?t:h,y:p}:ca(r-h)<Na&&u-g>Na?{x:h,y:ca(t-h)<Na?e:g}:ca(u-g)<Na&&r-f>Na?{x:ca(e-g)<Na?t:f,y:g}:null),i.site,null)),++c)}function Ir(n,t){return t.angle-n.angle}function Zr(){tu(this),this.x=this.y=this.arc=this.site=this.cy=null}function Vr(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,u=n.site,i=e.site;if(r!==i){var o=u.x,a=u.y,c=r.x-o,l=r.y-a,s=i.x-o,f=i.y-a,h=2*(c*f-l*s);if(!(h>=-za)){var g=c*c+l*l,p=s*s+f*f,v=(f*g-l*p)/h,d=(c*p-s*g)/h,f=d+a,m=Qc.pop()||new Zr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,x=Gc._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Gc.insert(y,m),y||(Jc=m)}}}}function Xr(n){var t=n.circle;t&&(t.P||(Jc=t.N),Gc.remove(t),Qc.push(t),tu(t),n.circle=null)}function $r(n){for(var t,e=$c,r=He(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u--;)t=e[u],(!Br(t,n)||!r(t)||ca(t.a.x-t.b.x)<Na&&ca(t.a.y-t.b.y)<Na)&&(t.a=t.b=null,e.splice(u,1))}function Br(n,t){var e=n.b;if(e)return!0;var r,u,i=n.a,o=t[0][0],a=t[1][0],c=t[0][1],l=t[1][1],s=n.l,f=n.r,h=s.x,g=s.y,p=f.x,v=f.y,d=(h+p)/2,m=(g+v)/2;if(v===g){if(o>d||d>=a)return;if(h>p){if(i){if(i.y>=l)return}else i={x:d,y:c};e={x:d,y:l}}else{if(i){if(i.y<c)return}else i={x:d,y:l};e={x:d,y:c}}}else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)if(h>p){if(i){if(i.y>=l)return}else i={x:(c-u)/r,y:c};e={x:(l-u)/r,y:l}}else{if(i){if(i.y<c)return}else i={x:(l-u)/r,y:l};e={x:(c-u)/r,y:c}}else if(v>g){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.x<o)return}else i={x:a,y:r*a+u};e={x:o,y:r*o+u}}return n.a=i,n.b=e,!0}function Wr(n,t){this.l=n,this.r=t,this.a=this.b=null}function Jr(n,t,e,r){var u=new Wr(n,t);return $c.push(u),e&&Kr(u,n,t,e),r&&Kr(u,t,n,r),Bc[n.i].edges.push(new Qr(u,n,t)),Bc[t.i].edges.push(new Qr(u,t,n)),u}function Gr(n,t,e){var r=new Wr(n,null);return r.a=t,r.b=e,$c.push(r),r}function Kr(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function Qr(n,t,e){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}function nu(){this._=null}function tu(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function eu(n,t){var e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function ru(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function uu(n){for(;n.L;)n=n.L;return n}function iu(n,t){var e,r,u,i=n.sort(ou).pop();for($c=[],Bc=new Array(n.length),Wc=new nu,Gc=new nu;;)if(u=Jc,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==r)&&(Bc[i.i]=new Or(i),jr(i),e=i.x,r=i.y),i=n.pop();else{if(!u)break;Ur(u.arc)}t&&($r(t),Yr(t));var o={cells:Bc,edges:$c};return Wc=Gc=$c=Bc=null,o}function ou(n,t){return t.y-n.y||t.x-n.x}function au(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function cu(n){return n.x}function lu(n){return n.y}function su(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function fu(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&fu(n,c[0],e,r,o,a),c[1]&&fu(n,c[1],o,r,u,a),c[2]&&fu(n,c[2],e,a,o,i),c[3]&&fu(n,c[3],o,a,u,i)}}function hu(n,t){n=Bo.rgb(n),t=Bo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+xt(Math.round(e+i*n))+xt(Math.round(r+o*n))+xt(Math.round(u+a*n))}}function gu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=du(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function pu(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function vu(n,t){var e,r,u,i=tl.lastIndex=el.lastIndex=0,o=-1,a=[],c=[];for(n+="",t+="";(e=tl.exec(n))&&(r=el.exec(t));)(u=r.index)>i&&(u=t.slice(i,u),a[o]?a[o]+=u:a[++o]=u),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,c.push({i:o,x:pu(e,r)})),i=el.lastIndex;return i<t.length&&(u=t.slice(i),a[o]?a[o]+=u:a[++o]=u),a.length<2?c[0]?(t=c[0].x,function(n){return t(n)+""}):function(){return t}:(t=c.length,function(n){for(var e,r=0;t>r;++r)a[(e=c[r]).i]=e.x(n);return a.join("")})}function du(n,t){for(var e,r=Bo.interpolators.length;--r>=0&&!(e=Bo.interpolators[r](n,t)););return e}function mu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(du(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function yu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function xu(n){return function(t){return 1-n(1-t)}}function Mu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function _u(n){return n*n}function bu(n){return n*n*n}function wu(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Su(n){return function(t){return Math.pow(t,n)}}function ku(n){return 1-Math.cos(n*Ca)}function Eu(n){return Math.pow(2,10*(n-1))}function Au(n){return 1-Math.sqrt(1-n*n)}function Cu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Aa*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Aa/t)}}function Nu(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function zu(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Lu(n,t){n=Bo.hcl(n),t=Bo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return lt(e+i*n,r+o*n,u+a*n)+""}}function Tu(n,t){n=Bo.hsl(n),t=Bo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return at(e+i*n,r+o*n,u+a*n)+""}}function qu(n,t){n=Bo.lab(n),t=Bo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ft(e+i*n,r+o*n,u+a*n)+""}}function Ru(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Du(n){var t=[n.a,n.b],e=[n.c,n.d],r=Uu(t),u=Pu(t,e),i=Uu(ju(e,t,-u))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*Ta,this.translate=[n.e,n.f],this.scale=[r,i],this.skew=i?Math.atan2(u,i)*Ta:0}function Pu(n,t){return n[0]*t[0]+n[1]*t[1]}function Uu(n){var t=Math.sqrt(Pu(n,n));return t&&(n[0]/=t,n[1]/=t),t}function ju(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Fu(n,t){var e,r=[],u=[],i=Bo.transform(n),o=Bo.transform(t),a=i.translate,c=o.translate,l=i.rotate,s=o.rotate,f=i.skew,h=o.skew,g=i.scale,p=o.scale;return a[0]!=c[0]||a[1]!=c[1]?(r.push("translate(",null,",",null,")"),u.push({i:1,x:pu(a[0],c[0])},{i:3,x:pu(a[1],c[1])})):c[0]||c[1]?r.push("translate("+c+")"):r.push(""),l!=s?(l-s>180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:pu(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:pu(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:pu(g[0],p[0])},{i:e-2,x:pu(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i<e;)r[(t=u[i]).i]=t.x(n);return r.join("")}}function Hu(n,t){return t=(t-=n=+n)||1/t,function(e){return(e-n)/t}}function Ou(n,t){return t=(t-=n=+n)||1/t,function(e){return Math.max(0,Math.min(1,(e-n)/t))}}function Yu(n){for(var t=n.source,e=n.target,r=Zu(t,e),u=[t];t!==r;)t=t.parent,u.push(t);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function Iu(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Zu(n,t){if(n===t)return n;for(var e=Iu(n),r=Iu(t),u=e.pop(),i=r.pop(),o=null;u===i;)o=u,u=e.pop(),i=r.pop();return o}function Vu(n){n.fixed|=2}function Xu(n){n.fixed&=-7}function $u(n){n.fixed|=4,n.px=n.x,n.py=n.y}function Bu(n){n.fixed&=-5}function Wu(n,t,e){var r=0,u=0;if(n.charge=0,!n.leaf)for(var i,o=n.nodes,a=o.length,c=-1;++c<a;)i=o[c],null!=i&&(Wu(i,t,e),n.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var l=t*e[n.point.index];n.charge+=n.pointCharge=l,r+=l*n.point.x,u+=l*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}function Ju(n,t){return Bo.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=ei,n}function Gu(n,t){for(var e=[n];null!=(n=e.pop());)if(t(n),(u=n.children)&&(r=u.length))for(var r,u;--r>=0;)e.push(u[r])}function Ku(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(i=n.children)&&(u=i.length))for(var u,i,o=-1;++o<u;)e.push(i[o]);for(;null!=(n=r.pop());)t(n)}function Qu(n){return n.children}function ni(n){return n.value}function ti(n,t){return t.value-n.value}function ei(n){return Bo.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function ri(n){return n.x}function ui(n){return n.y}function ii(n,t,e){n.y0=t,n.y=e}function oi(n){return Bo.range(n.length)}function ai(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function ci(n){for(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function li(n){return n.reduce(si,0)}function si(n,t){return n+t[1]}function fi(n,t){return hi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function hi(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function gi(n){return[Bo.min(n),Bo.max(n)]}function pi(n,t){return n.value-t.value}function vi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function di(n,t){n._pack_next=t,t._pack_prev=n}function mi(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function yi(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(xi),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],bi(r,u,i),t(i),vi(r,i),r._pack_prev=i,vi(i,u),u=r._pack_next,o=3;l>o;o++){bi(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(mi(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!mi(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?di(r,u=a):di(r=c,u),o--):(vi(r,i),u=i,t(i))}var m=(s+f)/2,y=(h+g)/2,x=0;for(o=0;l>o;o++)i=e[o],i.x-=m,i.y-=y,x=Math.max(x,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=x,e.forEach(Mi)}}function xi(n){n._pack_next=n._pack_prev=n}function Mi(n){delete n._pack_next,delete n._pack_prev}function _i(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i<o;)_i(u[i],t,e,r)}function bi(n,t,e){var r=n.r+e.r,u=t.x-n.x,i=t.y-n.y;if(r&&(u||i)){var o=t.r+e.r,a=u*u+i*i;o*=o,r*=r;var c=.5+(r-o)/(2*a),l=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+c*u+l*i,e.y=n.y+c*i-l*u}else e.x=n.x+r,e.y=n.y}function wi(n,t){return n.parent==t.parent?1:2}function Si(n){var t=n.children;return t.length?t[0]:n.t}function ki(n){var t,e=n.children;return(t=e.length)?e[t-1]:n.t}function Ei(n,t,e){var r=e/(t.i-n.i);t.c-=r,t.s+=e,n.c+=r,t.z+=e,t.m+=e}function Ai(n){for(var t,e=0,r=0,u=n.children,i=u.length;--i>=0;)t=u[i],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Ci(n,t,e){return n.a.parent===t.parent?n.a:e}function Ni(n){return 1+Bo.max(n,function(n){return n.y})}function zi(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Li(n){var t=n.children;return t&&t.length?Li(t[0]):n}function Ti(n){var t,e=n.children;return e&&(t=e.length)?Ti(e[t-1]):n}function qi(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Ri(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function Di(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Pi(n){return n.rangeExtent?n.rangeExtent():Di(n.range())}function Ui(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function ji(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Fi(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:gl}function Hi(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)u.push(e(n[o-1],n[o])),i.push(r(t[o-1],t[o]));return function(t){var e=Bo.bisect(n,t,1,a)-1;return i[e](u[e](t))}}function Oi(n,t,e,r){function u(){var u=Math.min(n.length,t.length)>2?Hi:Ui,c=r?Ou:Hu;return o=u(n,t,c,e),a=u(t,n,c,du),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Ru)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Vi(n,t)},i.tickFormat=function(t,e){return Xi(n,t,e)},i.nice=function(t){return Ii(n,t),u()},i.copy=function(){return Oi(n,t,e,r)},u()}function Yi(n,t){return Bo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Ii(n,t){return ji(n,Fi(Zi(n,t)[2]))}function Zi(n,t){null==t&&(t=10);var e=Di(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Vi(n,t){return Bo.range.apply(Bo,Zi(n,t))}function Xi(n,t,e){var r=Zi(n,t);if(e){var u=tc.exec(e);if(u.shift(),"s"===u[8]){var i=Bo.formatPrefix(Math.max(ca(r[0]),ca(r[1])));return u[7]||(u[7]="."+$i(i.scale(r[2]))),u[8]="f",e=Bo.format(u.join("")),function(n){return e(i.scale(n))+i.symbol}}u[7]||(u[7]="."+Bi(u[8],r)),e=u.join("")}else e=",."+$i(r[2])+"f";return Bo.format(e)}function $i(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Bi(n,t){var e=$i(t[2]);return n in pl?Math.abs(e-$i(Math.max(ca(t[0]),ca(t[1]))))+ +("e"!==n):e-2*("%"===n)}function Wi(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=ji(r.map(u),e?Math:dl);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=Di(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++<s;)for(var h=f-1;h>0;h--)o.push(i(l)*h);for(l=0;o[l]<a;l++);for(s=o.length;o[s-1]>c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return vl;arguments.length<2?t=vl:"function"!=typeof t&&(t=Bo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return Wi(n.copy(),t,e,r)},Yi(o,n)}function Ji(n,t,e){function r(t){return n(u(t))}var u=Gi(t),i=Gi(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Vi(e,n)},r.tickFormat=function(n,t){return Xi(e,n,t)},r.nice=function(n){return r.domain(Ii(e,n))},r.exponent=function(o){return arguments.length?(u=Gi(t=o),i=Gi(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Ji(n.copy(),t,e)},Yi(r,n)}function Gi(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Ki(n,t){function e(e){return i[((u.get(e)||("range"===t.t?u.set(e,n.push(e)):0/0))-1)%i.length]}function r(t,e){return Bo.range(n.length).map(function(n){return t+e*n})}var u,i,o;return e.domain=function(r){if(!arguments.length)return n;n=[],u=new a;for(var i,o=-1,c=r.length;++o<c;)u.has(i=r[o])||u.set(i,n.push(i));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(i=n,o=0,t={t:"range",a:arguments},e):i},e.rangePoints=function(u,a){arguments.length<2&&(a=0);var c=u[0],l=u[1],s=(l-c)/(Math.max(1,n.length-1)+a);return i=r(n.length<2?(c+l)/2:c+s*a/2,s),o=0,t={t:"rangePoints",a:arguments},e},e.rangeBands=function(u,a,c){arguments.length<2&&(a=0),arguments.length<3&&(c=a);var l=u[1]<u[0],s=u[l-0],f=u[1-l],h=(f-s)/(n.length-a+2*c);return i=r(s+h*c,h),l&&i.reverse(),o=h*(1-a),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(u,a,c){arguments.length<2&&(a=0),arguments.length<3&&(c=a);var l=u[1]<u[0],s=u[l-0],f=u[1-l],h=Math.floor((f-s)/(n.length-a+2*c)),g=f-s-(n.length-a)*h;return i=r(s+Math.round(g/2),h),l&&i.reverse(),o=Math.round(h*(1-a)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return o},e.rangeExtent=function(){return Di(t.a[0])},e.copy=function(){return Ki(n,t)},e.domain(n)}function Qi(r,u){function i(){var n=0,t=u.length;for(a=[];++n<t;)a[n-1]=Bo.quantile(r,n/t);return o}function o(n){return isNaN(n=+n)?void 0:u[Bo.bisect(a,n)]}var a;return o.domain=function(u){return arguments.length?(r=u.map(t).filter(e).sort(n),i()):r},o.range=function(n){return arguments.length?(u=n,i()):u},o.quantiles=function(){return a},o.invertExtent=function(n){return n=u.indexOf(n),0>n?[0/0,0/0]:[n>0?a[n-1]:r[0],n<a.length?a[n]:r[r.length-1]]},o.copy=function(){return Qi(r,u)},i()}function no(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),o=e.length-1,r}var i,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n,u()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return no(n,t,e)},u()}function to(n,t){function e(e){return e>=e?t[Bo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return to(n,t)},e}function eo(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Vi(n,t)},t.tickFormat=function(t,e){return Xi(n,t,e)},t.copy=function(){return eo(n)},t}function ro(n){return n.innerRadius}function uo(n){return n.outerRadius}function io(n){return n.startAngle}function oo(n){return n.endAngle}function ao(n){function t(t){function o(){l.push("M",i(n(s),a))}for(var c,l=[],s=[],f=-1,h=t.length,g=kt(e),p=kt(r);++f<h;)u.call(this,c=t[f],f)?s.push([+g.call(this,c,f),+p.call(this,c,f)]):s.length&&(o(),s=[]);return s.length&&o(),l.length?l.join(""):null}var e=Ar,r=Cr,u=Ae,i=co,o=i.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(u=n,t):u},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?i=n:(i=wl.get(n)||co).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function co(n){return n.join("L")}function lo(n){return co(n)+"Z"}function so(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&u.push("H",r[0]),u.join("")}function fo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("V",(r=n[t])[1],"H",r[0]);return u.join("")}function ho(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r=n[t])[0],"V",r[1]);return u.join("")}function go(n,t){return n.length<4?co(n):n[1]+mo(n.slice(1,n.length-1),yo(n,t))}function po(n,t){return n.length<3?co(n):n[0]+mo((n.push(n[0]),n),yo([n[n.length-2]].concat(n,[n[1]]),t))}function vo(n,t){return n.length<3?co(n):n[0]+mo(n,yo(n,t))}function mo(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return co(n);var e=n.length!=t.length,r="",u=n[0],i=n[1],o=t[0],a=o,c=1;if(e&&(r+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],u=n[1],c=2),t.length>1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l<t.length;l++,c++)i=n[c],a=t[l],r+="S"+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1]}if(e){var s=n[c];r+="Q"+(i[0]+2*a[0]/3)+","+(i[1]+2*a[1]/3)+","+s[0]+","+s[1]}return r}function yo(n,t){for(var e,r=[],u=(1-t)/2,i=n[0],o=n[1],a=1,c=n.length;++a<c;)e=i,i=o,o=n[a],r.push([u*(o[0]-e[0]),u*(o[1]-e[1])]);return r}function xo(n){if(n.length<3)return co(n);var t=1,e=n.length,r=n[0],u=r[0],i=r[1],o=[u,u,u,(r=n[1])[0]],a=[i,i,i,r[1]],c=[u,",",i,"L",wo(El,o),",",wo(El,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),So(c,o,a);return n.pop(),c.push("L",r),c.join("")}function Mo(n){if(n.length<4)return co(n);for(var t,e=[],r=-1,u=n.length,i=[0],o=[0];++r<3;)t=n[r],i.push(t[0]),o.push(t[1]);for(e.push(wo(El,i)+","+wo(El,o)),--r;++r<u;)t=n[r],i.shift(),i.push(t[0]),o.shift(),o.push(t[1]),So(e,i,o);return e.join("")}function _o(n){for(var t,e,r=-1,u=n.length,i=u+4,o=[],a=[];++r<4;)e=n[r%u],o.push(e[0]),a.push(e[1]);for(t=[wo(El,o),",",wo(El,a)],--r;++r<i;)e=n[r%u],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),So(t,o,a);return t.join("")}function bo(n,t){var e=n.length-1;if(e)for(var r,u,i=n[0][0],o=n[0][1],a=n[e][0]-i,c=n[e][1]-o,l=-1;++l<=e;)r=n[l],u=l/e,r[0]=t*r[0]+(1-t)*(i+u*a),r[1]=t*r[1]+(1-t)*(o+u*c);return xo(n)}function wo(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function So(n,t,e){n.push("C",wo(Sl,t),",",wo(Sl,e),",",wo(kl,t),",",wo(kl,e),",",wo(El,t),",",wo(El,e))}function ko(n,t){return(t[1]-n[1])/(t[0]-n[0])}function Eo(n){for(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],o=r[0]=ko(u,i);++t<e;)r[t]=(o+(o=ko(u=i,i=n[t+1])))/2;return r[t]=o,r}function Ao(n){for(var t,e,r,u,i=[],o=Eo(n),a=-1,c=n.length-1;++a<c;)t=ko(n[a],n[a+1]),ca(t)<Na?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,u=e*e+r*r,u>9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function Co(n){return n.length<3?co(n):n[0]+mo(n,Ao(n))}function No(n){for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[u],e=t[0],r=t[1]+_l,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function zo(n){function t(t){function c(){v.push("M",a(n(m),f),s,l(n(d.reverse()),f),"Z")}for(var h,g,p,v=[],d=[],m=[],y=-1,x=t.length,M=kt(e),_=kt(u),b=e===r?function(){return g}:kt(r),w=u===i?function(){return p}:kt(i);++y<x;)o.call(this,h=t[y],y)?(d.push([g=+M.call(this,h,y),p=+_.call(this,h,y)]),m.push([+b.call(this,h,y),+w.call(this,h,y)])):d.length&&(c(),d=[],m=[]);return d.length&&c(),v.length?v.join(""):null}var e=Ar,r=Ar,u=0,i=Cr,o=Ae,a=co,c=a.key,l=a,s="L",f=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(u=i=n,t):i},t.y0=function(n){return arguments.length?(u=n,t):u},t.y1=function(n){return arguments.length?(i=n,t):i},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(c="function"==typeof n?a=n:(a=wl.get(n)||co).key,l=a.reverse||a,s=a.closed?"M":"L",t):c},t.tension=function(n){return arguments.length?(f=n,t):f},t}function Lo(n){return n.radius}function To(n){return[n.x,n.y]}function qo(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]+_l;return[e*Math.cos(r),e*Math.sin(r)]}}function Ro(){return 64}function Do(){return"circle"}function Po(n){var t=Math.sqrt(n/Ea);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Uo(n,t){return ga(n,Tl),n.id=t,n}function jo(n,t,e,r){var u=n.id;return F(n,"function"==typeof e?function(n,i,o){n.__transition__[u].tween.set(t,r(e.call(n,n.__data__,i,o)))}:(e=r(e),function(n){n.__transition__[u].tween.set(t,e)}))}function Fo(n){return null==n&&(n=""),function(){this.textContent=n}}function Ho(n,t,e,r){var u=n.__transition__||(n.__transition__={active:0,count:0}),i=u[e];if(!i){var o=r.time;i=u[e]={tween:new a,time:o,ease:r.ease,delay:r.delay,duration:r.duration},++u.count,Bo.timer(function(r){function a(r){return u.active>e?l():(u.active=e,i.event&&i.event.start.call(n,s,t),i.tween.forEach(function(e,r){(r=r.call(n,s,t))&&v.push(r)
-}),Bo.timer(function(){return p.c=c(r||1)?Ae:c,1},0,o),void 0)}function c(r){if(u.active!==e)return l();for(var o=r/g,a=f(o),c=v.length;c>0;)v[--c].call(n,a);return o>=1?(i.event&&i.event.end.call(n,s,t),l()):void 0}function l(){return--u.count?delete u[e]:delete n.__transition__,1}var s=n.__data__,f=i.ease,h=i.delay,g=i.duration,p=Ka,v=[];return p.t=h+o,r>=h?a(r-h):(p.c=a,void 0)},0,o)}}function Oo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function Yo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function Io(n){return n.toISOString()}function Zo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=Bo.bisect(Ol,u);return i==Ol.length?[t.year,Zi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/Ol[i-1]<Ol[i]/u?i-1:i]:[Zl,Zi(n,e)[2]]}return r.invert=function(t){return Vo(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(Vo)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,Vo(+e+1),t).length}var i=r.domain(),o=Di(i),a=null==n?u(o,10):"number"==typeof n&&u(o,n);return a&&(n=a[0],t=a[1]),r.domain(ji(i,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=Vo(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Vo(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Di(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Vo(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Zo(n.copy(),t,e)},Yi(r,n)}function Vo(n){return new Date(n)}function Xo(n){return JSON.parse(n.responseText)}function $o(n){var t=Go.createRange();return t.selectNode(Go.body),t.createContextualFragment(n.responseText)}var Bo={version:"3.4.13"};Date.now||(Date.now=function(){return+new Date});var Wo=[].slice,Jo=function(n){return Wo.call(n)},Go=document,Ko=Go.documentElement,Qo=window;try{Jo(Ko.childNodes)[0].nodeType}catch(na){Jo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{Go.createElement("div").style.setProperty("opacity",0,"")}catch(ta){var ea=Qo.Element.prototype,ra=ea.setAttribute,ua=ea.setAttributeNS,ia=Qo.CSSStyleDeclaration.prototype,oa=ia.setProperty;ea.setAttribute=function(n,t){ra.call(this,n,t+"")},ea.setAttributeNS=function(n,t,e){ua.call(this,n,t,e+"")},ia.setProperty=function(n,t,e){oa.call(this,n,t+"",e)}}Bo.ascending=n,Bo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},Bo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&e>r&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}return e},Bo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&r>e&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&r>e&&(e=r)}return e},Bo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i<o&&!(null!=(e=u=n[i])&&e>=e);)e=u=void 0;for(;++i<o;)null!=(r=n[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;++i<o&&!(null!=(e=u=t.call(n,n[i],i))&&e>=e);)e=void 0;for(;++i<o;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&&(u=r))}return[e,u]},Bo.sum=function(n,t){var r,u=0,i=n.length,o=-1;if(1===arguments.length)for(;++o<i;)e(r=+n[o])&&(u+=r);else for(;++o<i;)e(r=+t.call(n,n[o],o))&&(u+=r);return u},Bo.mean=function(n,r){var u,i=0,o=n.length,a=-1,c=o;if(1===arguments.length)for(;++a<o;)e(u=t(n[a]))?i+=u:--c;else for(;++a<o;)e(u=t(r.call(n,n[a],a)))?i+=u:--c;return c?i/c:void 0},Bo.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-r;return i?u+i*(n[r]-u):u},Bo.median=function(r,u){var i,o=[],a=r.length,c=-1;if(1===arguments.length)for(;++c<a;)e(i=t(r[c]))&&o.push(i);else for(;++c<a;)e(i=t(u.call(r,r[c],c)))&&o.push(i);return o.length?Bo.quantile(o.sort(n),.5):void 0};var aa=r(n);Bo.bisectLeft=aa.left,Bo.bisect=Bo.bisectRight=aa.right,Bo.bisector=function(t){return r(1===t.length?function(e,r){return n(t(e),r)}:t)},Bo.shuffle=function(n){for(var t,e,r=n.length;r;)e=0|Math.random()*r--,t=n[r],n[r]=n[e],n[e]=t;return n},Bo.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},Bo.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},Bo.zip=function(){if(!(r=arguments.length))return[];for(var n=-1,t=Bo.min(arguments,u),e=new Array(t);++n<t;)for(var r,i=-1,o=e[n]=new Array(r);++i<r;)o[i]=arguments[i][n];return e},Bo.transpose=function(n){return Bo.zip.apply(Bo,n)},Bo.keys=function(n){var t=[];for(var e in n)t.push(e);return t},Bo.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},Bo.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},Bo.merge=function(n){for(var t,e,r,u=n.length,i=-1,o=0;++i<u;)o+=n[i].length;for(e=new Array(o);--u>=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var ca=Math.abs;Bo.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),1/0===(t-n)/e)throw new Error("infinite range");var r,u=[],o=i(ca(e)),a=-1;if(n*=o,t*=o,e*=o,0>e)for(;(r=n+e*++a)>t;)u.push(r/o);else for(;(r=n+e*++a)<t;)u.push(r/o);return u},Bo.map=function(n){var t=new a;if(n instanceof a)n.forEach(function(n,e){t.set(n,e)});else for(var e in n)t.set(e,n[e]);return t};var la="__proto__",sa="\x00";o(a,{has:s,get:function(n){return this._[c(n)]},set:function(n,t){return this._[c(n)]=t},remove:f,keys:h,values:function(){var n=[];for(var t in this._)n.push(this._[t]);return n},entries:function(){var n=[];for(var t in this._)n.push({key:l(t),value:this._[t]});return n},size:g,empty:p,forEach:function(n){for(var t in this._)n.call(this,l(t),this._[t])}}),Bo.nest=function(){function n(t,o,c){if(c>=i.length)return r?r.call(u,o):e?o.sort(e):o;for(var l,s,f,h,g=-1,p=o.length,v=i[c++],d=new a;++g<p;)(h=d.get(l=v(s=o[g])))?h.push(s):d.set(l,[s]);return t?(s=t(),f=function(e,r){s.set(e,n(t,r,c))}):(s={},f=function(e,r){s[e]=n(t,r,c)}),d.forEach(f),s}function t(n,e){if(e>=i.length)return n;var r=[],u=o[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,u={},i=[],o=[];return u.map=function(t,e){return n(e,t,0)},u.entries=function(e){return t(n(Bo.map,e,0),0)},u.key=function(n){return i.push(n),u},u.sortKeys=function(n){return o[i.length-1]=n,u},u.sortValues=function(n){return e=n,u},u.rollup=function(n){return r=n,u},u},Bo.set=function(n){var t=new v;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},o(v,{has:s,add:function(n){return this._[c(n+="")]=!0,n},remove:f,values:h,size:g,empty:p,forEach:function(n){for(var t in this._)n.call(this,l(t))}}),Bo.behavior={},Bo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r<u;)n[e=arguments[r]]=d(n,t,t[e]);return n};var fa=["webkit","ms","moz","Moz","o","O"];Bo.dispatch=function(){for(var n=new x,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=M(n);return n},x.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},Bo.event=null,Bo.requote=function(n){return n.replace(ha,"\\$&")};var ha=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ga={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},pa=function(n,t){return t.querySelector(n)},va=function(n,t){return t.querySelectorAll(n)},da=Ko.matches||Ko[m(Ko,"matchesSelector")],ma=function(n,t){return da.call(n,t)};"function"==typeof Sizzle&&(pa=function(n,t){return Sizzle(n,t)[0]||null},va=Sizzle,ma=Sizzle.matchesSelector),Bo.selection=function(){return _a};var ya=Bo.selection.prototype=[];ya.select=function(n){var t,e,r,u,i=[];n=k(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var c=-1,l=r.length;++c<l;)(u=r[c])?(t.push(e=n.call(u,u.__data__,c,o)),e&&"__data__"in u&&(e.__data__=u.__data__)):t.push(null)}return S(i)},ya.selectAll=function(n){var t,e,r=[];n=E(n);for(var u=-1,i=this.length;++u<i;)for(var o=this[u],a=-1,c=o.length;++a<c;)(e=o[a])&&(r.push(t=Jo(n.call(e,e.__data__,a,u))),t.parentNode=e);return S(r)};var xa={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};Bo.ns={prefix:xa,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&(e=n.slice(0,t),n=n.slice(t+1)),xa.hasOwnProperty(e)?{space:xa[e],local:n}:n}},ya.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=Bo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(A(t,n[t]));return this}return this.each(A(n,t))},ya.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=z(n)).length,u=-1;if(t=e.classList){for(;++u<r;)if(!t.contains(n[u]))return!1}else for(t=e.getAttribute("class");++u<r;)if(!N(n[u]).test(t))return!1;return!0}for(t in n)this.each(L(t,n[t]));return this}return this.each(L(n,t))},ya.style=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(q(e,n[e],t));return this}if(2>r)return Qo.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(q(n,t,e))},ya.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(R(t,n[t]));return this}return this.each(R(n,t))},ya.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},ya.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},ya.append=function(n){return n=D(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},ya.insert=function(n,t){return n=D(n),t=k(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},ya.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},ya.data=function(n,t){function e(n,e){var r,u,i,o=n.length,f=e.length,h=Math.min(o,f),g=new Array(f),p=new Array(f),v=new Array(o);if(t){var d,m=new a,y=new Array(o);for(r=-1;++r<o;)m.has(d=t.call(u=n[r],u.__data__,r))?v[r]=u:m.set(d,u),y[r]=d;for(r=-1;++r<f;)(u=m.get(d=t.call(e,i=e[r],r)))?u!==!0&&(g[r]=u,u.__data__=i):p[r]=P(i),m.set(d,!0);for(r=-1;++r<o;)m.get(y[r])!==!0&&(v[r]=n[r])}else{for(r=-1;++r<h;)u=n[r],i=e[r],u?(u.__data__=i,g[r]=u):p[r]=P(i);for(;f>r;++r)p[r]=P(e[r]);for(;o>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,c.push(p),l.push(g),s.push(v)}var r,u,i=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++i<o;)(u=r[i])&&(n[i]=u.__data__);return n}var c=H([]),l=S([]),s=S([]);if("function"==typeof n)for(;++i<o;)e(r=this[i],n.call(r,r.parentNode.__data__,i));else for(;++i<o;)e(r=this[i],n);return l.enter=function(){return c},l.exit=function(){return s},l},ya.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},ya.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=U(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return S(u)},ya.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],u=r.length-1,i=r[u];--u>=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},ya.sort=function(n){n=j.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},ya.each=function(n){return F(this,function(t,e,r){n.call(t,t.__data__,e,r)})},ya.call=function(n){var t=Jo(arguments);return n.apply(t[0]=this,t),this},ya.empty=function(){return!this.node()},ya.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},ya.size=function(){var n=0;return F(this,function(){++n}),n};var Ma=[];Bo.selection.enter=H,Bo.selection.enter.prototype=Ma,Ma.append=ya.append,Ma.empty=ya.empty,Ma.node=ya.node,Ma.call=ya.call,Ma.size=ya.size,Ma.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++a<c;){r=(u=this[a]).update,o.push(t=[]),t.parentNode=u.parentNode;for(var l=-1,s=u.length;++l<s;)(i=u[l])?(t.push(r[l]=e=n.call(u.parentNode,i.__data__,l,a)),e.__data__=i.__data__):t.push(null)}return S(o)},Ma.insert=function(n,t){return arguments.length<2&&(t=O(this)),ya.insert.call(this,n,t)},ya.transition=function(){for(var n,t,e=Cl||++ql,r=[],u=Nl||{time:Date.now(),ease:wu,delay:0,duration:250},i=-1,o=this.length;++i<o;){r.push(n=[]);for(var a=this[i],c=-1,l=a.length;++c<l;)(t=a[c])&&Ho(t,c,e,u),n.push(t)}return Uo(r,e)},ya.interrupt=function(){return this.each(Y)},Bo.select=function(n){var t=["string"==typeof n?pa(n,Go):n];return t.parentNode=Ko,S([t])},Bo.selectAll=function(n){var t=Jo("string"==typeof n?va(n,Go):n);return t.parentNode=Ko,S([t])};var _a=Bo.select(Ko);ya.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(I(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(I(n,t,e))};var ba=Bo.map({mouseenter:"mouseover",mouseleave:"mouseout"});ba.forEach(function(n){"on"+n in Go&&ba.remove(n)});var wa="onselectstart"in Go?null:m(Ko.style,"userSelect"),Sa=0;Bo.mouse=function(n){return $(n,b())};var ka=/WebKit/.test(Qo.navigator.userAgent)?-1:0;Bo.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=b().changedTouches),t)for(var r,u=0,i=t.length;i>u;++u)if((r=t[u]).identifier===e)return $(n,r)},Bo.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",i)}function t(n,t,u,i,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-x[0],e=r[1]-x[1],p|=n|e,x=r,g({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:n,dy:e}))}function c(){t(h,v)&&(m.on(i+d,null).on(o+d,null),y(p&&Bo.event.target===f),g({type:"dragend"}))}var l,s=this,f=Bo.event.target,h=s.parentNode,g=e.of(s,arguments),p=0,v=n(),d=".drag"+(null==v?"":"-"+v),m=Bo.select(u()).on(i+d,a).on(o+d,c),y=X(),x=t(h,v);r?(l=r.apply(s,arguments),l=[l.x-x[0],l.y-x[1]]):l=[0,0],g({type:"dragstart"})}}var e=w(n,"drag","dragstart","dragend"),r=null,u=t(y,Bo.mouse,J,"mousemove","mouseup"),i=t(B,Bo.touch,W,"touchmove","touchend");return n.origin=function(t){return arguments.length?(r=t,n):r},Bo.rebind(n,e,"on")},Bo.touches=function(n,t){return arguments.length<2&&(t=b().touches),t?Jo(t).map(function(t){var e=$(n,t);return e.identifier=t.identifier,e}):[]};var Ea=Math.PI,Aa=2*Ea,Ca=Ea/2,Na=1e-6,za=Na*Na,La=Ea/180,Ta=180/Ea,qa=Math.SQRT2,Ra=2,Da=4;Bo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=et(v),o=i/(Ra*h)*(e*rt(qa*t+v)-tt(v));return[r+o*l,u+o*s,i*e/et(qa*t+v)]}return[r+n*l,u+n*s,i*Math.exp(qa*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+Da*f)/(2*i*Ra*h),p=(c*c-i*i-Da*f)/(2*c*Ra*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/qa;return e.duration=1e3*y,e},Bo.behavior.zoom=function(){function n(n){n.on(A,l).on(ja+".zoom",f).on("dblclick.zoom",h).on(z,s)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(E[0],Math.min(E[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){x&&x.domain(y.range().map(function(n){return(n-S.x)/S.k}).map(y.invert)),b&&b.domain(M.range().map(function(n){return(n-S.y)/S.k}).map(M.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function l(){function n(){s=1,u(Bo.mouse(r),h),a(l)}function e(){f.on(C,null).on(N,null),g(s&&Bo.event.target===i),c(l)}var r=this,i=Bo.event.target,l=L.of(r,arguments),s=0,f=Bo.select(Qo).on(C,n).on(N,e),h=t(Bo.mouse(r)),g=X();Y.call(r),o(l)}function s(){function n(){var n=Bo.touches(g);return h=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){var t=Bo.event.target;Bo.select(t).on(x,i).on(M,f),b.push(t);for(var e=Bo.event.changedTouches,o=0,c=e.length;c>o;++o)v[e[o].identifier]=null;var l=n(),s=Date.now();if(1===l.length){if(500>s-m){var h=l[0],g=v[h.identifier];r(2*S.k),u(h,g),_(),a(p)}m=s}else if(l.length>1){var h=l[0],y=l[1],w=h[0]-y[0],k=h[1]-y[1];d=w*w+k*k}}function i(){for(var n,t,e,i,o=Bo.touches(g),c=0,l=o.length;l>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=d&&Math.sqrt(s/d);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*h)}m=null,u(n,t),a(p)}function f(){if(Bo.event.touches.length){for(var t=Bo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}Bo.selectAll(b).on(y,null),w.on(A,l).on(z,s),k(),c(p)}var h,g=this,p=L.of(g,arguments),v={},d=0,y=".zoom-"+Bo.event.changedTouches[0].identifier,x="touchmove"+y,M="touchend"+y,b=[],w=Bo.select(g),k=X();Y.call(g),e(),o(p),w.on(A,null).on(z,e)}function f(){var n=L.of(this,arguments);d?clearTimeout(d):(g=t(p=v||Bo.mouse(this)),Y.call(this),o(n)),d=setTimeout(function(){d=null,c(n)},50),_(),r(Math.pow(2,.002*Pa())*S.k),u(p,g),a(n)}function h(){var n=L.of(this,arguments),e=Bo.mouse(this),i=t(e),l=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,Bo.event.shiftKey?Math.ceil(l)-1:Math.floor(l)+1)),u(e,i),a(n),c(n)}var g,p,v,d,m,y,x,M,b,S={x:0,y:0,k:1},k=[960,500],E=Ua,A="mousedown.zoom",C="mousemove.zoom",N="mouseup.zoom",z="touchstart.zoom",L=w(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=L.of(this,arguments),t=S;Cl?Bo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],u=e/2,i=r/2,o=Bo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(E=null==t?Ua:[+t[0],+t[1]],n):E},n.center=function(t){return arguments.length?(v=t&&[+t[0],+t[1]],n):v},n.size=function(t){return arguments.length?(k=t&&[+t[0],+t[1]],n):k},n.x=function(t){return arguments.length?(x=t,y=t.copy(),S={x:0,y:0,k:1},n):x},n.y=function(t){return arguments.length?(b=t,M=t.copy(),S={x:0,y:0,k:1},n):b},Bo.rebind(n,L,"on")};var Pa,Ua=[0,1/0],ja="onwheel"in Go?(Pa=function(){return-Bo.event.deltaY*(Bo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in Go?(Pa=function(){return Bo.event.wheelDelta},"mousewheel"):(Pa=function(){return-Bo.event.detail},"MozMousePixelScroll");Bo.color=it,it.prototype.toString=function(){return this.rgb()+""},Bo.hsl=ot;var Fa=ot.prototype=new it;Fa.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new ot(this.h,this.s,this.l/n)},Fa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new ot(this.h,this.s,n*this.l)},Fa.rgb=function(){return at(this.h,this.s,this.l)},Bo.hcl=ct;var Ha=ct.prototype=new it;Ha.brighter=function(n){return new ct(this.h,this.c,Math.min(100,this.l+Oa*(arguments.length?n:1)))},Ha.darker=function(n){return new ct(this.h,this.c,Math.max(0,this.l-Oa*(arguments.length?n:1)))},Ha.rgb=function(){return lt(this.h,this.c,this.l).rgb()},Bo.lab=st;var Oa=18,Ya=.95047,Ia=1,Za=1.08883,Va=st.prototype=new it;Va.brighter=function(n){return new st(Math.min(100,this.l+Oa*(arguments.length?n:1)),this.a,this.b)},Va.darker=function(n){return new st(Math.max(0,this.l-Oa*(arguments.length?n:1)),this.a,this.b)},Va.rgb=function(){return ft(this.l,this.a,this.b)},Bo.rgb=dt;var Xa=dt.prototype=new it;Xa.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),new dt(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new dt(u,u,u)},Xa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new dt(n*this.r,n*this.g,n*this.b)},Xa.hsl=function(){return _t(this.r,this.g,this.b)},Xa.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var $a=Bo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});$a.forEach(function(n,t){$a.set(n,mt(t))}),Bo.functor=kt,Bo.xhr=At(Et),Bo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=Ct(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=l)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++<l;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}s=e+2;var r=n.charCodeAt(e+1);return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++s):10===r&&(u=!0),n.slice(t+1,e).replace(/""/g,'"')}for(;l>s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==c)continue;return n.slice(t,s-a)}return n.slice(t)}for(var r,u,i={},o={},a=[],l=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,f++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new v,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},Bo.csv=Bo.dsv(",","text/csv"),Bo.tsv=Bo.dsv("	","text/tab-separated-values");var Ba,Wa,Ja,Ga,Ka,Qa=Qo[m(Qo,"requestAnimationFrame")]||function(n){setTimeout(n,17)};Bo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};Wa?Wa.n=i:Ba=i,Wa=i,Ja||(Ga=clearTimeout(Ga),Ja=1,Qa(Lt))},Bo.timer.flush=function(){Tt(),qt()},Bo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var nc=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Dt);Bo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=Bo.round(n,Rt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),nc[8+e/3]};var tc=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ec=Bo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=Bo.round(n,Rt(n,t))).toFixed(Math.max(0,Math.min(20,Rt(n*(1+1e-15),t))))}}),rc=Bo.time={},uc=Date;jt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){ic.setUTCDate.apply(this._,arguments)},setDay:function(){ic.setUTCDay.apply(this._,arguments)},setFullYear:function(){ic.setUTCFullYear.apply(this._,arguments)},setHours:function(){ic.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){ic.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){ic.setUTCMinutes.apply(this._,arguments)},setMonth:function(){ic.setUTCMonth.apply(this._,arguments)},setSeconds:function(){ic.setUTCSeconds.apply(this._,arguments)},setTime:function(){ic.setTime.apply(this._,arguments)}};var ic=Date.prototype;rc.year=Ft(function(n){return n=rc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),rc.years=rc.year.range,rc.years.utc=rc.year.utc.range,rc.day=Ft(function(n){var t=new uc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),rc.days=rc.day.range,rc.days.utc=rc.day.utc.range,rc.dayOfYear=function(n){var t=rc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=rc[n]=Ft(function(n){return(n=rc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=rc.year(n).getDay();return Math.floor((rc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});rc[n+"s"]=e.range,rc[n+"s"].utc=e.utc.range,rc[n+"OfYear"]=function(n){var e=rc.year(n).getDay();return Math.floor((rc.dayOfYear(n)+(e+t)%7)/7)}}),rc.week=rc.sunday,rc.weeks=rc.sunday.range,rc.weeks.utc=rc.sunday.utc.range,rc.weekOfYear=rc.sundayOfYear;var oc={"-":"",_:" ",0:"0"},ac=/^\s*\d+/,cc=/^%/;Bo.locale=function(n){return{numberFormat:Pt(n),timeFormat:Ot(n)}};var lc=Bo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Bo.format=lc.numberFormat,Bo.geo={},ce.prototype={s:0,t:0,add:function(n){le(n,this.t,sc),le(sc.s,this.s,this),this.s?this.t+=sc.t:this.s=sc.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var sc=new ce;Bo.geo.stream=function(n,t){n&&fc.hasOwnProperty(n.type)?fc[n.type](n,t):se(n,t)};var fc={Feature:function(n,t){se(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)se(e[r].geometry,t)}},hc={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){fe(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)fe(e[r],t,0)},Polygon:function(n,t){he(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)he(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;)se(e[r],t)}};Bo.geo.area=function(n){return gc=0,Bo.geo.stream(n,vc),gc};var gc,pc=new ce,vc={sphere:function(){gc+=4*Ea},point:y,lineStart:y,lineEnd:y,polygonStart:function(){pc.reset(),vc.lineStart=ge},polygonEnd:function(){var n=2*pc;gc+=0>n?4*Ea+n:n,vc.lineStart=vc.lineEnd=vc.point=y}};Bo.geo.bounds=function(){function n(n,t){x.push(M=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=pe([t*La,e*La]);if(m){var u=de(m,r),i=[u[1],-u[0],0],o=de(i,u);xe(o),o=Me(o);var c=t-p,l=c>0?1:-1,v=o[0]*Ta*l,d=ca(c)>180;if(d^(v>l*p&&l*t>v)){var y=o[1]*Ta;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>l*p&&l*t>v)){var y=-o[1]*Ta;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){_.point=t}function r(){M[0]=s,M[1]=h,_.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=ca(r)>180?r+(r>0?360:-360):r}else v=n,d=e;vc.point(n,e),t(n,e)}function i(){vc.lineStart()}function o(){u(v,d),vc.lineEnd(),ca(y)>Na&&(s=-(h=180)),M[0]=s,M[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var s,f,h,g,p,v,d,m,y,x,M,_={point:n,lineStart:e,lineEnd:r,polygonStart:function(){_.point=u,_.lineStart=i,_.lineEnd=o,y=0,vc.polygonStart()},polygonEnd:function(){vc.polygonEnd(),_.point=n,_.lineStart=e,_.lineEnd=r,0>pc?(s=-(h=180),f=-(g=90)):y>Na?g=90:-Na>y&&(f=-90),M[0]=s,M[1]=h}};return function(n){g=h=-(s=f=1/0),x=[],Bo.geo.stream(n,_);
-var t=x.length;if(t){x.sort(c);for(var e,r=1,u=x[0],i=[u];t>r;++r)e=x[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return x=M=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),Bo.geo.centroid=function(n){dc=mc=yc=xc=Mc=_c=bc=wc=Sc=kc=Ec=0,Bo.geo.stream(n,Ac);var t=Sc,e=kc,r=Ec,u=t*t+e*e+r*r;return za>u&&(t=_c,e=bc,r=wc,Na>mc&&(t=yc,e=xc,r=Mc),u=t*t+e*e+r*r,za>u)?[0/0,0/0]:[Math.atan2(e,t)*Ta,nt(r/Math.sqrt(u))*Ta]};var dc,mc,yc,xc,Mc,_c,bc,wc,Sc,kc,Ec,Ac={sphere:y,point:be,lineStart:Se,lineEnd:ke,polygonStart:function(){Ac.lineStart=Ee},polygonEnd:function(){Ac.lineStart=Se}},Cc=Le(Ae,De,Ue,[-Ea,-Ea/2]),Nc=1e9;Bo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Oe(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(Bo.geo.conicEqualArea=function(){return Ie(Ze)}).raw=Ze,Bo.geo.albers=function(){return Bo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Bo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=Bo.geo.albers(),o=Bo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=Bo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Na,f+.12*l+Na],[s-.214*l-Na,f+.234*l-Na]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Na,f+.166*l+Na],[s-.115*l-Na,f+.234*l-Na]]).stream(c).point,n},n.scale(1070)};var zc,Lc,Tc,qc,Rc,Dc,Pc={point:y,lineStart:y,lineEnd:y,polygonStart:function(){Lc=0,Pc.lineStart=Ve},polygonEnd:function(){Pc.lineStart=Pc.lineEnd=Pc.point=y,zc+=ca(Lc/2)}},Uc={point:Xe,lineStart:y,lineEnd:y,polygonStart:y,polygonEnd:y},jc={point:We,lineStart:Je,lineEnd:Ge,polygonStart:function(){jc.lineStart=Ke},polygonEnd:function(){jc.point=We,jc.lineStart=Je,jc.lineEnd=Ge}};Bo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),Bo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return zc=0,Bo.geo.stream(n,u(Pc)),zc},n.centroid=function(n){return yc=xc=Mc=_c=bc=wc=Sc=kc=Ec=0,Bo.geo.stream(n,u(jc)),Ec?[Sc/Ec,kc/Ec]:wc?[_c/wc,bc/wc]:Mc?[yc/Mc,xc/Mc]:[0/0,0/0]},n.bounds=function(n){return Rc=Dc=-(Tc=qc=1/0),Bo.geo.stream(n,u(Uc)),[[Tc,qc],[Rc,Dc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||tr(n):Et,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new $e:new Qe(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(Bo.geo.albersUsa()).context(null)},Bo.geo.transform=function(n){return{stream:function(t){var e=new er(t);for(var r in n)e[r]=n[r];return e}}},er.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},Bo.geo.projection=ur,Bo.geo.projectionMutator=ir,(Bo.geo.equirectangular=function(){return ur(ar)}).raw=ar.invert=ar,Bo.geo.rotation=function(n){function t(t){return t=n(t[0]*La,t[1]*La),t[0]*=Ta,t[1]*=Ta,t}return n=lr(n[0]%360*La,n[1]*La,n.length>2?n[2]*La:0),t.invert=function(t){return t=n.invert(t[0]*La,t[1]*La),t[0]*=Ta,t[1]*=Ta,t},t},cr.invert=ar,Bo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=lr(-n[0]*La,-n[1]*La,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=Ta,n[1]*=Ta}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=gr((t=+r)*La,u*La),n):t},n.precision=function(r){return arguments.length?(e=gr(t*La,(u=+r)*La),n):u},n.angle(90)},Bo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*La,u=n[1]*La,i=t[1]*La,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},Bo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return Bo.range(Math.ceil(i/d)*d,u,d).map(h).concat(Bo.range(Math.ceil(l/m)*m,c,m).map(g)).concat(Bo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return ca(n%d)>Na}).map(s)).concat(Bo.range(Math.ceil(a/v)*v,o,v).filter(function(n){return ca(n%m)>Na}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,s=vr(a,o,90),f=dr(r,e,y),h=vr(l,c,90),g=dr(i,u,y),n):y},n.majorExtent([[-180,-90+Na],[180,90-Na]]).minorExtent([[-180,-80-Na],[180,80+Na]])},Bo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=mr,u=yr;return n.distance=function(){return Bo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},Bo.geo.interpolate=function(n,t){return xr(n[0]*La,n[1]*La,t[0]*La,t[1]*La)},Bo.geo.length=function(n){return Fc=0,Bo.geo.stream(n,Hc),Fc};var Fc,Hc={sphere:y,point:y,lineStart:Mr,lineEnd:y,polygonStart:y,polygonEnd:y},Oc=_r(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(Bo.geo.azimuthalEqualArea=function(){return ur(Oc)}).raw=Oc;var Yc=_r(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},Et);(Bo.geo.azimuthalEquidistant=function(){return ur(Yc)}).raw=Yc,(Bo.geo.conicConformal=function(){return Ie(br)}).raw=br,(Bo.geo.conicEquidistant=function(){return Ie(wr)}).raw=wr;var Ic=_r(function(n){return 1/n},Math.atan);(Bo.geo.gnomonic=function(){return ur(Ic)}).raw=Ic,Sr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ca]},(Bo.geo.mercator=function(){return kr(Sr)}).raw=Sr;var Zc=_r(function(){return 1},Math.asin);(Bo.geo.orthographic=function(){return ur(Zc)}).raw=Zc;var Vc=_r(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(Bo.geo.stereographic=function(){return ur(Vc)}).raw=Vc,Er.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ca]},(Bo.geo.transverseMercator=function(){var n=kr(Er),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Er,Bo.geom={},Bo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=kt(e),i=kt(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(zr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var l=Nr(a),s=Nr(c),f=s[0]===l[0],h=s[s.length-1]===l[l.length-1],g=[];for(t=l.length-1;t>=0;--t)g.push(n[a[l[t]][2]]);for(t=+f;t<s.length-h;++t)g.push(n[a[s[t]][2]]);return g}var e=Ar,r=Cr;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},Bo.geom.polygon=function(n){return ga(n,Xc),n};var Xc=Bo.geom.polygon.prototype=[];Xc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1];return.5*u},Xc.centroid=function(n){var t,e,r=-1,u=this.length,i=0,o=0,a=this[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],i+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[i*n,o*n]},Xc.clip=function(n){for(var t,e,r,u,i,o,a=qr(n),c=-1,l=this.length-qr(this),s=this[l-1];++c<l;){for(t=n.slice(),n.length=0,u=this[c],i=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Lr(o,s,u)?(Lr(i,s,u)||n.push(Tr(i,o,s,u)),n.push(o)):Lr(i,s,u)&&n.push(Tr(i,o,s,u)),i=o;a&&n.push(n[0]),s=u}return n};var $c,Bc,Wc,Jc,Gc,Kc=[],Qc=[];Or.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(Ir),t.length},Qr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},nu.prototype={insert:function(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=uu(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(eu(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ru(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L&&(ru(this,e),n=e,e=n.U),e.C=!1,r.C=!0,eu(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L,o=n.R;if(e=i?o?uu(o):i:o,u?u.L===n?u.L=e:u.R=e:this._=e,i&&o?(r=e.C,e.C=n.C,e.L=i,i.U=e,e!==o?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=o,o.U=e):(e.U=u,u=e,n=e.R)):(r=n.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return n.C=!1,void 0;do{if(n===this._)break;if(n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,eu(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,ru(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,eu(this,u),n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,ru(this,u),t=u.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,eu(this,t),t=u.L),t.C=u.C,u.C=t.L.C=!1,ru(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},Bo.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],u=a[0][1],i=a[1][0],o=a[1][1];return iu(e(n),a).cells.forEach(function(e,a){var c=e.edges,l=e.site,s=t[a]=c.length?c.map(function(n){var t=n.start();return[t.x,t.y]}):l.x>=r&&l.x<=i&&l.y>=u&&l.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];s.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Na)*Na,y:Math.round(o(n,t)/Na)*Na,i:t}})}var r=Ar,u=Cr,i=r,o=u,a=nl;return n?t(n):(t.links=function(n){return iu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return iu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(Ir),c=-1,l=a.length,s=a[l-1].edge,f=s.l===o?s.r:s.l;++c<l;)u=s,i=f,s=a[c].edge,f=s.l===o?s.r:s.l,r<i.i&&r<f.i&&au(o,i,f)<0&&t.push([n[r],n[i.i],n[f.i]])}),t},t.x=function(n){return arguments.length?(i=kt(r=n),t):r},t.y=function(n){return arguments.length?(o=kt(u=n),t):u},t.clipExtent=function(n){return arguments.length?(a=null==n?nl:n,t):a===nl?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===nl?null:a&&a[1]},t)};var nl=[[-1e6,-1e6],[1e6,1e6]];Bo.geom.delaunay=function(n){return Bo.geom.voronoi().triangles(n)},Bo.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var c=n.x,s=n.y;if(null!=c)if(ca(c-e)+ca(s-r)<.01)l(n,t,e,r,u,i,o,a);else{var f=n.point;n.x=n.y=n.point=null,l(n,f,c,s,u,i,o,a),l(n,t,e,r,u,i,o,a)}else n.x=e,n.y=r,n.point=t}else l(n,t,e,r,u,i,o,a)}function l(n,t,e,r,u,o,a,c){var l=.5*(u+a),s=.5*(o+c),f=e>=l,h=r>=s,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=su()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,v,d,m,y,x=kt(a),M=kt(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.x<v&&(v=s.x),s.y<d&&(d=s.y),s.x>m&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var _=+x(s=n[g],g),b=+M(s,g);v>_&&(v=_),d>b&&(d=b),_>m&&(m=_),b>y&&(y=b),f.push(_),h.push(b)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=su();if(k.add=function(n){i(k,n,+x(n,++g),+M(n,g),v,d,m,y)},k.visit=function(n){fu(n,k,v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=s=null,k}var o,a=Ar,c=Cr;return(o=arguments.length)?(a=cu,c=lu,3===o&&(u=e,r=t,e=t=0),i(n)):(i.x=function(n){return arguments.length?(a=n,i):a},i.y=function(n){return arguments.length?(c=n,i):c},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},Bo.interpolateRgb=hu,Bo.interpolateObject=gu,Bo.interpolateNumber=pu,Bo.interpolateString=vu;var tl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,el=new RegExp(tl.source,"g");Bo.interpolate=du,Bo.interpolators=[function(n,t){var e=typeof t;return("string"===e?$a.has(t)||/^(#|rgb\(|hsl\()/.test(t)?hu:vu:t instanceof it?hu:Array.isArray(t)?mu:"object"===e&&isNaN(t)?gu:pu)(n,t)}],Bo.interpolateArray=mu;var rl=function(){return Et},ul=Bo.map({linear:rl,poly:Su,quad:function(){return _u},cubic:function(){return bu},sin:function(){return ku},exp:function(){return Eu},circle:function(){return Au},elastic:Cu,back:Nu,bounce:function(){return zu}}),il=Bo.map({"in":Et,out:xu,"in-out":Mu,"out-in":function(n){return Mu(xu(n))}});Bo.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=ul.get(e)||rl,r=il.get(r)||Et,yu(r(e.apply(null,Wo.call(arguments,1))))},Bo.interpolateHcl=Lu,Bo.interpolateHsl=Tu,Bo.interpolateLab=qu,Bo.interpolateRound=Ru,Bo.transform=function(n){var t=Go.createElementNS(Bo.ns.prefix.svg,"g");return(Bo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Du(e?e.matrix:ol)})(n)},Du.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ol={a:1,b:0,c:0,d:1,e:0,f:0};Bo.interpolateTransform=Fu,Bo.layout={},Bo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Yu(n[e]));return t}},Bo.layout.chord=function(){function n(){var n,l,f,h,g,p={},v=[],d=Bo.range(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(l=0,g=-1;++g<i;)l+=u[h][g];v.push(l),m.push(Bo.range(i)),n+=l}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&m.forEach(function(n,t){n.sort(function(n,e){return a(u[t][n],u[t][e])})}),n=(Aa-s*i)/n,l=0,h=-1;++h<i;){for(f=l,g=-1;++g<i;){var y=d[h],x=m[y][g],M=u[y][x],_=l,b=l+=M*n;p[y+"-"+x]={index:y,subindex:x,startAngle:_,endAngle:b,value:M}}r[y]={index:y,startAngle:f,endAngle:l,value:(l-f)/n},l+=s}for(h=-1;++h<i;)for(g=h-1;++g<i;){var w=p[h+"-"+g],S=p[g+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}c&&t()}function t(){e.sort(function(n,t){return c((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,u,i,o,a,c,l={},s=0;return l.matrix=function(n){return arguments.length?(i=(u=n)&&u.length,e=r=null,l):u},l.padding=function(n){return arguments.length?(s=n,e=r=null,l):s},l.sortGroups=function(n){return arguments.length?(o=n,e=r=null,l):o},l.sortSubgroups=function(n){return arguments.length?(a=n,e=null,l):a},l.sortChords=function(n){return arguments.length?(c=n,e&&t(),l):c},l.chords=function(){return e||n(),e},l.groups=function(){return r||n(),r},l},Bo.layout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){var i=t.cx-n.x,o=t.cy-n.y,a=u-e,c=i*i+o*o;if(c>a*a/d){if(p>c){var l=t.charge/c;n.px-=i*l,n.py-=o*l}return!0}if(t.point&&c&&p>c){var l=t.pointCharge/c;n.px-=i*l,n.py-=o*l}}return!t.charge}}function t(n){n.px=Bo.event.x,n.py=Bo.event.y,a.resume()}var e,r,u,i,o,a={},c=Bo.dispatch("start","tick","end"),l=[1,1],s=.9,f=al,h=cl,g=-30,p=ll,v=.1,d=.64,m=[],y=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,x,M,_=m.length,b=y.length;for(e=0;b>e;++e)a=y[e],f=a.source,h=a.target,x=h.x-f.x,M=h.y-f.y,(p=x*x+M*M)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,x*=p,M*=p,h.x-=x*(d=f.weight/(h.weight+f.weight)),h.y-=M*d,f.x+=x*(d=1-d),f.y+=M*d);if((d=r*v)&&(x=l[0]/2,M=l[1]/2,e=-1,d))for(;++e<_;)a=m[e],a.x+=(x-a.x)*d,a.y+=(M-a.y)*d;if(g)for(Wu(t=Bo.geom.quadtree(m),r,o),e=-1;++e<_;)(a=m[e]).fixed||t.visit(n(a));for(e=-1;++e<_;)a=m[e],a.fixed?(a.x=a.px,a.y=a.py):(a.x-=(a.px-(a.px=a.x))*s,a.y-=(a.py-(a.py=a.y))*s);c.tick({type:"tick",alpha:r})},a.nodes=function(n){return arguments.length?(m=n,a):m},a.links=function(n){return arguments.length?(y=n,a):y},a.size=function(n){return arguments.length?(l=n,a):l},a.linkDistance=function(n){return arguments.length?(f="function"==typeof n?n:+n,a):f},a.distance=a.linkDistance,a.linkStrength=function(n){return arguments.length?(h="function"==typeof n?n:+n,a):h},a.friction=function(n){return arguments.length?(s=+n,a):s},a.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,a):g},a.chargeDistance=function(n){return arguments.length?(p=n*n,a):Math.sqrt(p)},a.gravity=function(n){return arguments.length?(v=+n,a):v},a.theta=function(n){return arguments.length?(d=n*n,a):Math.sqrt(d)},a.alpha=function(n){return arguments.length?(n=+n,r?r=n>0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),Bo.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;l>a;++a){var u=y[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,l=o.length;++a<l;)if(!isNaN(i=o[a][n]))return i;return Math.random()*r}var t,e,r,c=m.length,s=y.length,p=l[0],v=l[1];for(t=0;c>t;++t)(r=m[t]).index=t,r.weight=0;for(t=0;s>t;++t)r=y[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;s>t;++t)u[t]=+f.call(this,y[t],t);else for(t=0;s>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;s>t;++t)i[t]=+h.call(this,y[t],t);else for(t=0;s>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=Bo.behavior.drag().origin(Et).on("dragstart.force",Vu).on("drag.force",t).on("dragend.force",Xu)),arguments.length?(this.on("mouseover.force",$u).on("mouseout.force",Bu).call(e),void 0):e},Bo.rebind(a,c,"on")};var al=20,cl=1,ll=1/0;Bo.layout.hierarchy=function(){function n(u){var i,o=[u],a=[];for(u.depth=0;null!=(i=o.pop());)if(a.push(i),(l=e.call(n,i,i.depth))&&(c=l.length)){for(var c,l,s;--c>=0;)o.push(s=l[c]),s.parent=i,s.depth=i.depth+1;r&&(i.value=0),i.children=l}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Ku(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.parent)&&(u.value+=n.value)}),a}var t=ti,e=Qu,r=ni;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Gu(t,function(n){n.children&&(n.value=0)}),Ku(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},Bo.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,l=-1;for(r=t.value?r/t.value:0;++l<o;)n(a=i[l],e,c=a.value*r,u),e+=c}}function t(n){var e=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));return 1+r}function e(e,i){var o=r.call(this,e,i);return n(o[0],0,u[0],u[1]/t(o[0])),o}var r=Bo.layout.hierarchy(),u=[1,1];return e.size=function(n){return arguments.length?(u=n,e):u},Ju(e,r)},Bo.layout.pie=function(){function n(i){var o=i.map(function(e,r){return+t.call(n,e,r)}),a=+("function"==typeof r?r.apply(this,arguments):r),c=(("function"==typeof u?u.apply(this,arguments):u)-a)/Bo.sum(o),l=Bo.range(i.length);null!=e&&l.sort(e===sl?function(n,t){return o[t]-o[n]}:function(n,t){return e(i[n],i[t])});var s=[];return l.forEach(function(n){var t;s[n]={data:i[n],value:t=o[n],startAngle:a,endAngle:a+=t*c}}),s}var t=Number,e=sl,r=0,u=Aa;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n};var sl={};Bo.layout.stack=function(){function n(a,c){if(!(h=a.length))return a;var l=a.map(function(e,r){return t.call(n,e,r)}),s=l.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,s,c);l=Bo.permute(l,f),s=Bo.permute(s,f);var h,g,p,v,d=r.call(n,s,c),m=l[0].length;for(p=0;m>p;++p)for(u.call(n,l[0][p],v=d[p],s[0][p][1]),g=1;h>g;++g)u.call(n,l[g][p],v+=s[g-1][p][1],s[g][p][1]);return a}var t=Et,e=oi,r=ai,u=ii,i=ri,o=ui;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:fl.get(t)||oi,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:hl.get(t)||ai,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var fl=Bo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(ci),i=n.map(li),o=Bo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return Bo.range(n.length).reverse()},"default":oi}),hl=Bo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ai});Bo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i<g;)o=c[i]=[],o.dx=f[i+1]-(o.x=f[i]),o.y=0;if(g>0)for(i=-1;++i<h;)a=l[i],a>=s[0]&&a<=s[1]&&(o=c[Bo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=gi,u=fi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=kt(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return hi(n,t)}:kt(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},Bo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Ku(a,function(n){n.r=+s(n.value)}),Ku(a,yi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Ku(a,function(n){n.r+=f}),Ku(a,yi),Ku(a,function(n){n.r-=f})}return _i(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=Bo.layout.hierarchy().sort(pi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Ju(n,e)},Bo.layout.tree=function(){function n(n,u){var s=o.call(this,n,u),f=s[0],h=t(f);if(Ku(h,e),h.parent.m=-h.z,Gu(h,r),l)Gu(f,i);else{var g=f,p=f,v=f;Gu(f,function(n){n.x<g.x&&(g=n),n.x>p.x&&(p=n),n.depth>v.depth&&(v=n)});var d=a(g,p)/2-g.x,m=c[0]/(p.x+a(p,g)/2+d),y=c[1]/(v.depth||1);Gu(f,function(n){n.x=(n.x+d)*m,n.y=n.depth*y})}return s}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var u,i=t.children,o=0,a=i.length;a>o;++o)r.push((i[o]=u={_:i[o],parent:t,children:(u=i[o].children)&&u.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=u);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Ai(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+a(n._,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,o=t,c=u.parent.children[0],l=u.m,s=i.m,f=o.m,h=c.m;o=ki(o),u=Si(u),o&&u;)c=Si(c),i=ki(i),i.a=n,r=o.z+f-u.z-l+a(o._,u._),r>0&&(Ei(Ci(o,n,e),n,r),l+=r,s+=r),f+=o.m,l+=u.m,h+=c.m,s+=i.m;o&&!ki(i)&&(i.t=o,i.m+=f-s),u&&!Si(c)&&(c.t=u,c.m+=l-h,e=n)}return e}function i(n){n.x*=c[0],n.y=n.depth*c[1]}var o=Bo.layout.hierarchy().sort(null).value(null),a=wi,c=[1,1],l=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(l=null==(c=t)?i:null,n):l?null:c},n.nodeSize=function(t){return arguments.length?(l=null==(c=t)?null:i,n):l?c:null},Ju(n,o)},Bo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Ku(c,function(n){var t=n.children;t&&t.length?(n.x=zi(t),n.y=Ni(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Li(c),f=Ti(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Ku(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=Bo.layout.hierarchy().sort(null).value(null),e=wi,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Ju(n,t)},Bo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,v="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,v))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,v,l,!1),v=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,v,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++i<o;)u=n[i],u.x=a,u.y=l,u.dy=s,a+=u.dx=Math.min(e.x+e.dx-a,s?c(u.area/s):0);u.z=!0,u.dx+=e.x+e.dx-a,e.y+=s,e.dy-=s}else{for((r||s>e.dx)&&(s=e.dx);++i<o;)u=n[i],u.x=a,u.y=l,u.dx=s,l+=u.dy=Math.min(e.y+e.dy-l,s?c(u.area/s):0);u.z=!1,u.dy+=e.y+e.dy-l,e.x+=s,e.dx-=s}}function i(r){var u=o||a(r),i=u[0];return i.x=0,i.y=0,i.dx=l[0],i.dy=l[1],o&&a.revalue(i),n([i],i.dx*i.dy/i.value),(o?e:t)(i),h&&(o=u),u}var o,a=Bo.layout.hierarchy(),c=Math.round,l=[1,1],s=null,f=qi,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));return i.size=function(n){return arguments.length?(l=n,i):l},i.padding=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?qi(t):Ri(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return Ri(t,n)}if(!arguments.length)return s;var r;return f=null==(s=n)?qi:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(c=n?Math.round:Number,i):c!=Number},i.sticky=function(n){return arguments.length?(h=n,o=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=function(n){return arguments.length?(g=n+"",i):g},Ju(i,a)},Bo.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=Bo.random.normal.apply(Bo,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=Bo.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},Bo.scale={};var gl={floor:Et,ceil:Et};Bo.scale.linear=function(){return Oi([0,1],[0,1],du,!1)};var pl={s:1,g:1,p:1,r:1,e:1};Bo.scale.log=function(){return Wi(Bo.scale.linear().domain([0,1]),10,!0,[1,10])};var vl=Bo.format(".0e"),dl={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};Bo.scale.pow=function(){return Ji(Bo.scale.linear(),1,[0,1])},Bo.scale.sqrt=function(){return Bo.scale.pow().exponent(.5)},Bo.scale.ordinal=function(){return Ki([],{t:"range",a:[[]]})},Bo.scale.category10=function(){return Bo.scale.ordinal().range(ml)},Bo.scale.category20=function(){return Bo.scale.ordinal().range(yl)},Bo.scale.category20b=function(){return Bo.scale.ordinal().range(xl)},Bo.scale.category20c=function(){return Bo.scale.ordinal().range(Ml)};var ml=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(yt),yl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(yt),xl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(yt),Ml=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(yt);Bo.scale.quantile=function(){return Qi([],[])
-},Bo.scale.quantize=function(){return no(0,1,[0,1])},Bo.scale.threshold=function(){return to([.5],[0,1])},Bo.scale.identity=function(){return eo([0,1])},Bo.svg={},Bo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+_l,a=u.apply(this,arguments)+_l,c=(o>a&&(c=o,o=a,a=c),a-o),l=Ea>c?"0":"1",s=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=bl?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+l+",0 "+n*s+","+n*f+"Z":"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=ro,e=uo,r=io,u=oo;return n.innerRadius=function(e){return arguments.length?(t=kt(e),n):t},n.outerRadius=function(t){return arguments.length?(e=kt(t),n):e},n.startAngle=function(t){return arguments.length?(r=kt(t),n):r},n.endAngle=function(t){return arguments.length?(u=kt(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+_l;return[Math.cos(i)*n,Math.sin(i)*n]},n};var _l=-Ca,bl=Aa-Na;Bo.svg.line=function(){return ao(Et)};var wl=Bo.map({linear:co,"linear-closed":lo,step:so,"step-before":fo,"step-after":ho,basis:xo,"basis-open":Mo,"basis-closed":_o,bundle:bo,cardinal:vo,"cardinal-open":go,"cardinal-closed":po,monotone:Co});wl.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Sl=[0,2/3,1/3,0],kl=[0,1/3,2/3,0],El=[0,1/6,2/3,1/6];Bo.svg.line.radial=function(){var n=ao(No);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},fo.reverse=ho,ho.reverse=fo,Bo.svg.area=function(){return zo(Et)},Bo.svg.area.radial=function(){var n=zo(No);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},Bo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+_l,s=l.call(n,u,r)+_l;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Ea)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=mr,o=yr,a=Lo,c=io,l=oo;return n.radius=function(t){return arguments.length?(a=kt(t),n):a},n.source=function(t){return arguments.length?(i=kt(t),n):i},n.target=function(t){return arguments.length?(o=kt(t),n):o},n.startAngle=function(t){return arguments.length?(c=kt(t),n):c},n.endAngle=function(t){return arguments.length?(l=kt(t),n):l},n},Bo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=mr,e=yr,r=To;return n.source=function(e){return arguments.length?(t=kt(e),n):t},n.target=function(t){return arguments.length?(e=kt(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},Bo.svg.diagonal.radial=function(){var n=Bo.svg.diagonal(),t=To,e=n.projection;return n.projection=function(n){return arguments.length?e(qo(t=n)):t},n},Bo.svg.symbol=function(){function n(n,r){return(Al.get(t.call(this,n,r))||Po)(e.call(this,n,r))}var t=Do,e=Ro;return n.type=function(e){return arguments.length?(t=kt(e),n):t},n.size=function(t){return arguments.length?(e=kt(t),n):e},n};var Al=Bo.map({circle:Po,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ll)),e=t*Ll;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/zl),e=t*zl/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/zl),e=t*zl/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});Bo.svg.symbolTypes=Al.keys();var Cl,Nl,zl=Math.sqrt(3),Ll=Math.tan(30*La),Tl=[],ql=0;Tl.call=ya.call,Tl.empty=ya.empty,Tl.node=ya.node,Tl.size=ya.size,Bo.transition=function(n){return arguments.length?Cl?n.transition():n:_a.transition()},Bo.transition.prototype=Tl,Tl.select=function(n){var t,e,r,u=this.id,i=[];n=k(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]);for(var c=this[o],l=-1,s=c.length;++l<s;)(r=c[l])&&(e=n.call(r,r.__data__,l,o))?("__data__"in r&&(e.__data__=r.__data__),Ho(e,l,u,r.__transition__[u]),t.push(e)):t.push(null)}return Uo(i,u)},Tl.selectAll=function(n){var t,e,r,u,i,o=this.id,a=[];n=E(n);for(var c=-1,l=this.length;++c<l;)for(var s=this[c],f=-1,h=s.length;++f<h;)if(r=s[f]){i=r.__transition__[o],e=n.call(r,r.__data__,f,c),a.push(t=[]);for(var g=-1,p=e.length;++g<p;)(u=e[g])&&Ho(u,g,o,i),t.push(u)}return Uo(a,o)},Tl.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=U(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Uo(u,this.id)},Tl.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):F(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Tl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Fu:du,a=Bo.ns.qualify(n);return jo(this,"attr."+n,t,a.local?i:u)},Tl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=Bo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Tl.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=Qo.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=du(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return jo(this,"style."+n,t,u)},Tl.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,Qo.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Tl.text=function(n){return jo(this,"text",n,Fo)},Tl.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Tl.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=Bo.ease.apply(Bo,arguments)),F(this,function(e){e.__transition__[t].ease=n}))},Tl.delay=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].delay:F(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Tl.duration=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].duration:F(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Tl.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Nl,u=Cl;Cl=e,F(this,function(t,r,u){Nl=t.__transition__[e],n.call(t,t.__data__,r,u)}),Nl=r,Cl=u}else F(this,function(r){var u=r.__transition__[e];(u.event||(u.event=Bo.dispatch("start","end"))).on(n,t)});return this},Tl.transition=function(){for(var n,t,e,r,u=this.id,i=++ql,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],l=0,s=t.length;s>l;l++)(e=t[l])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,Ho(e,l,i,r)),n.push(e)}return Uo(o,i)},Bo.svg.axis=function(){function n(n){n.each(function(){var n,l=Bo.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):Et:t,p=l.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Na),d=Bo.transition(p.exit()).style("opacity",Na).remove(),m=Bo.transition(p.order()).style("opacity",1),y=Math.max(u,0)+o,x=Pi(f),M=l.selectAll(".domain").data([0]),_=(M.enter().append("path").attr("class","domain"),Bo.transition(M));v.append("line"),v.append("text");var b,w,S,k,E=v.select("line"),A=m.select("line"),C=p.select("text").text(g),N=v.select("text"),z=m.select("text"),L="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=Oo,b="x",S="y",w="x2",k="y2",C.attr("dy",0>L?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+L*i+"V0H"+x[1]+"V"+L*i)):(n=Yo,b="y",S="x",w="y2",k="x2",C.attr("dy",".32em").style("text-anchor",0>L?"end":"start"),_.attr("d","M"+L*i+","+x[0]+"H0V"+x[1]+"H"+L*i)),E.attr(k,L*u),N.attr(S,L*y),A.attr(w,0).attr(k,L*u),z.attr(b,0).attr(S,L*y),f.rangeBand){var T=f,q=T.rangeBand()/2;s=f=function(n){return T(n)+q}}else s.rangeBand?s=f:d.call(n,f,s);v.call(n,s,f),m.call(n,f,f)})}var t,e=Bo.scale.linear(),r=Rl,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Dl?t+"":Rl,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Rl="bottom",Dl={top:1,right:1,bottom:1,left:1};Bo.svg.brush=function(){function n(i){i.each(function(){var i=Bo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(p,Et);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return Pl[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var s,f=Bo.transition(i),h=Bo.transition(o);c&&(s=Pi(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),e(f)),l&&(s=Pi(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+f[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function r(n){n.select(".extent").attr("y",f[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function u(){function u(){32==Bo.event.keyCode&&(C||(y=null,z[0]-=s[1],z[1]-=f[1],C=2),_())}function p(){32==Bo.event.keyCode&&2==C&&(z[0]+=s[1],z[1]+=f[1],C=0,_())}function v(){var n=Bo.mouse(M),u=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(Bo.event.altKey?(y||(y=[(s[0]+s[1])/2,(f[0]+f[1])/2]),z[0]=s[+(n[0]<y[0])],z[1]=f[+(n[1]<y[1])]):y=null),E&&d(n,c,0)&&(e(S),u=!0),A&&d(n,l,1)&&(r(S),u=!0),u&&(t(S),w({type:"brush",mode:C?"move":"resize"}))}function d(n,t,e){var r,u,a=Pi(t),c=a[0],l=a[1],p=z[e],v=e?f:s,d=v[1]-v[0];return C&&(c-=p,l-=d+p),r=(e?g:h)?Math.max(c,Math.min(l,n[e])):n[e],C?u=(r+=p)+d:(y&&(p=Math.max(c,Math.min(l,2*y[e]-r))),r>p?(u=r,r=p):u=p),v[0]!=r||v[1]!=u?(e?o=null:i=null,v[0]=r,v[1]=u,!0):void 0}function m(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),Bo.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),N(),w({type:"brushend"})}var y,x,M=this,b=Bo.select(Bo.event.target),w=a.of(M,arguments),S=Bo.select(M),k=b.datum(),E=!/^(n|s)$/.test(k)&&c,A=!/^(e|w)$/.test(k)&&l,C=b.classed("extent"),N=X(),z=Bo.mouse(M),L=Bo.select(Qo).on("keydown.brush",u).on("keyup.brush",p);if(Bo.event.changedTouches?L.on("touchmove.brush",v).on("touchend.brush",m):L.on("mousemove.brush",v).on("mouseup.brush",m),S.interrupt().selectAll("*").interrupt(),C)z[0]=s[0]-z[0],z[1]=f[0]-z[1];else if(k){var T=+/w$/.test(k),q=+/^n/.test(k);x=[s[1-T]-z[0],f[1-q]-z[1]],z[0]=s[T],z[1]=f[q]}else Bo.event.altKey&&(y=z.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),Bo.select("body").style("cursor",b.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=w(n,"brushstart","brush","brushend"),c=null,l=null,s=[0,0],f=[0,0],h=!0,g=!0,p=Ul[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:s,y:f,i:i,j:o},e=this.__chart__||t;this.__chart__=t,Cl?Bo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,s=e.x,f=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=mu(s,t.x),r=mu(f,t.y);return i=o=null,function(u){s=t.x=e(u),f=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,p=Ul[!c<<1|!l],n):c},n.y=function(t){return arguments.length?(l=t,p=Ul[!c<<1|!l],n):l},n.clamp=function(t){return arguments.length?(c&&l?(h=!!t[0],g=!!t[1]):c?h=!!t:l&&(g=!!t),n):c&&l?[h,g]:c?h:l?g:null},n.extent=function(t){var e,r,u,a,h;return arguments.length?(c&&(e=t[0],r=t[1],l&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(h=e,e=r,r=h),(e!=s[0]||r!=s[1])&&(s=[e,r])),l&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],l.invert&&(u=l(u),a=l(a)),u>a&&(h=u,u=a,a=h),(u!=f[0]||a!=f[1])&&(f=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(h=e,e=r,r=h))),l&&(o?(u=o[0],a=o[1]):(u=f[0],a=f[1],l.invert&&(u=l.invert(u),a=l.invert(a)),u>a&&(h=u,u=a,a=h))),c&&l?[[e,u],[r,a]]:c?[e,r]:l&&[u,a])},n.clear=function(){return n.empty()||(s=[0,0],f=[0,0],i=o=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!l&&f[0]==f[1]},Bo.rebind(n,a,"on")};var Pl={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ul=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],jl=rc.format=lc.timeFormat,Fl=jl.utc,Hl=Fl("%Y-%m-%dT%H:%M:%S.%LZ");jl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Io:Hl,Io.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Io.toString=Hl.toString,rc.second=Ft(function(n){return new uc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),rc.seconds=rc.second.range,rc.seconds.utc=rc.second.utc.range,rc.minute=Ft(function(n){return new uc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),rc.minutes=rc.minute.range,rc.minutes.utc=rc.minute.utc.range,rc.hour=Ft(function(n){var t=n.getTimezoneOffset()/60;return new uc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),rc.hours=rc.hour.range,rc.hours.utc=rc.hour.utc.range,rc.month=Ft(function(n){return n=rc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),rc.months=rc.month.range,rc.months.utc=rc.month.utc.range;var Ol=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Yl=[[rc.second,1],[rc.second,5],[rc.second,15],[rc.second,30],[rc.minute,1],[rc.minute,5],[rc.minute,15],[rc.minute,30],[rc.hour,1],[rc.hour,3],[rc.hour,6],[rc.hour,12],[rc.day,1],[rc.day,2],[rc.week,1],[rc.month,1],[rc.month,3],[rc.year,1]],Il=jl.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",Ae]]),Zl={range:function(n,t,e){return Bo.range(Math.ceil(n/e)*e,+t,e).map(Vo)},floor:Et,ceil:Et};Yl.year=rc.year,rc.scale=function(){return Zo(Bo.scale.linear(),Yl,Il)};var Vl=Yl.map(function(n){return[n[0].utc,n[1]]}),Xl=Fl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",Ae]]);Vl.year=rc.year.utc,rc.scale.utc=function(){return Zo(Bo.scale.linear(),Vl,Xl)},Bo.text=At(function(n){return n.responseText}),Bo.json=function(n,t){return Ct(n,"application/json",Xo,t)},Bo.html=function(n,t){return Ct(n,"text/html",$o,t)},Bo.xml=At(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(Bo):"object"==typeof module&&module.exports&&(module.exports=Bo),this.d3=Bo}();
\ No newline at end of file
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.js b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.js
deleted file mode 100644
index 7cd3ee0..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.js
+++ /dev/null
@@ -1,1533 +0,0 @@
-/*
-Holder.js - client side image placeholders
-© 2012-2014 Ivan Malopinsky - http://imsky.co
-*/
-(function(register, global, undefined) {
-
-	//Constants and definitions
-
-	var SVG_NS = 'http://www.w3.org/2000/svg';
-	var document = global.document;
-
-	var Holder = {
-		/**
-		 * Adds a theme to default settings
-		 *
-		 * @param {string} name Theme name
-		 * @param {Object} theme Theme object, with foreground, background, size, font, and fontweight properties.
-		 */
-		addTheme: function(name, theme) {
-			name != null && theme != null && (App.settings.themes[name] = theme);
-			delete App.vars.cache.themeKeys;
-			return this;
-		},
-
-		/**
-		 * Appends a placeholder to an element
-		 *
-		 * @param {string} src Placeholder URL string
-		 * @param {string} el Selector of target element(s)
-		 */
-		addImage: function(src, el) {
-			var node = document.querySelectorAll(el);
-			if (node.length) {
-				for (var i = 0, l = node.length; i < l; i++) {
-					var img = newEl('img');
-					setAttr(img, {
-						'data-src': src
-					});
-					node[i].appendChild(img);
-				}
-			}
-			return this;
-		},
-
-		/**
-		 * Runs Holder with options. By default runs Holder on all images with "holder.js" in their source attributes.
-		 *
-		 * @param {Object} userOptions Options object, can contain domain, themes, images, and bgnodes properties
-		 */
-		run: function(userOptions) {
-			userOptions = userOptions || {};
-			var renderSettings = {};
-
-			App.vars.preempted = true;
-
-			var options = extend(App.settings, userOptions);
-
-			renderSettings.renderer = options.renderer ? options.renderer : App.setup.renderer;
-			if (App.setup.renderers.join(',').indexOf(renderSettings.renderer) === -1) {
-				renderSettings.renderer = App.setup.supportsSVG ? 'svg' : (App.setup.supportsCanvas ? 'canvas' : 'html');
-			}
-
-			//< v2.4 API compatibility
-			if (options.use_canvas) {
-				renderSettings.renderer = 'canvas';
-			} else if (options.use_svg) {
-				renderSettings.renderer = 'svg';
-			}
-
-			var images = getNodeArray(options.images);
-			var bgnodes = getNodeArray(options.bgnodes);
-			var stylenodes = getNodeArray(options.stylenodes);
-			var objects = getNodeArray(options.objects);
-
-			renderSettings.stylesheets = [];
-			renderSettings.svgXMLStylesheet = true;
-			renderSettings.noFontFallback = options.noFontFallback ? options.noFontFallback : false;
-
-			for (var i = 0; i < stylenodes.length; i++) {
-				var styleNode = stylenodes[i];
-				if (styleNode.attributes.rel && styleNode.attributes.href && styleNode.attributes.rel.value == 'stylesheet') {
-					var href = styleNode.attributes.href.value;
-					//todo: write isomorphic relative-to-absolute URL function
-					var proxyLink = newEl('a');
-					proxyLink.href = href;
-					var stylesheetURL = proxyLink.protocol + '//' + proxyLink.host + proxyLink.pathname + proxyLink.search;
-					renderSettings.stylesheets.push(stylesheetURL);
-				}
-			}
-
-			for (i = 0; i < bgnodes.length; i++) {
-				var backgroundImage = global.getComputedStyle(bgnodes[i], null).getPropertyValue('background-image');
-				var dataBackgroundImage = bgnodes[i].getAttribute('data-background-src');
-				var rawURL = null;
-
-				if (dataBackgroundImage == null) {
-					rawURL = backgroundImage;
-				} else {
-					rawURL = dataBackgroundImage;
-				}
-
-				var holderURL = null;
-				var holderString = '?' + options.domain + '/';
-
-				if (rawURL.indexOf(holderString) === 0) {
-					holderURL = rawURL.slice(1);
-				} else if (rawURL.indexOf(holderString) != -1) {
-					var fragment = rawURL.substr(rawURL.indexOf(holderString)).slice(1);
-					var fragmentMatch = fragment.match(/([^\"]*)"?\)/);
-
-					if (fragmentMatch != null) {
-						holderURL = fragmentMatch[1];
-					}
-				}
-
-				if (holderURL != null) {
-					var holderFlags = parseURL(holderURL, options);
-					if (holderFlags) {
-						prepareDOMElement('background', bgnodes[i], holderFlags, renderSettings);
-					}
-				}
-			}
-
-			for (i = 0; i < objects.length; i++) {
-				var object = objects[i];
-				var objectAttr = {};
-
-				try {
-					objectAttr.data = object.getAttribute('data');
-					objectAttr.dataSrc = object.getAttribute('data-src');
-				} catch (e) {}
-
-				var objectHasSrcURL = objectAttr.data != null && objectAttr.data.indexOf(options.domain) === 0;
-				var objectHasDataSrcURL = objectAttr.dataSrc != null && objectAttr.dataSrc.indexOf(options.domain) === 0;
-
-				if (objectHasSrcURL) {
-					prepareImageElement(options, renderSettings, objectAttr.data, object);
-				} else if (objectHasDataSrcURL) {
-					prepareImageElement(options, renderSettings, objectAttr.dataSrc, object);
-				}
-			}
-
-			for (i = 0; i < images.length; i++) {
-				var image = images[i];
-				var imageAttr = {};
-
-				try {
-					imageAttr.src = image.getAttribute('src');
-					imageAttr.dataSrc = image.getAttribute('data-src');
-					imageAttr.rendered = image.getAttribute('data-holder-rendered');
-				} catch (e) {}
-
-				var imageHasSrc = imageAttr.src != null;
-				var imageHasDataSrcURL = imageAttr.dataSrc != null && imageAttr.dataSrc.indexOf(options.domain) === 0;
-				var imageRendered = imageAttr.rendered != null && imageAttr.rendered == 'true';
-
-				if (imageHasSrc) {
-					if (imageAttr.src.indexOf(options.domain) === 0) {
-						prepareImageElement(options, renderSettings, imageAttr.src, image);
-					} else if (imageHasDataSrcURL) {
-						//Image has a valid data-src and an invalid src
-						if (imageRendered) {
-							//If the placeholder has already been render, re-render it
-							prepareImageElement(options, renderSettings, imageAttr.dataSrc, image);
-						} else {
-							//If the placeholder has not been rendered, check if the image exists and render a fallback if it doesn't
-              (function(src, options, renderSettings, dataSrc, image){
-                imageExists(src, function(exists){
-                  if(!exists){
-                    prepareImageElement(options, renderSettings, dataSrc, image);
-                  }
-                });
-              })(imageAttr.src, options, renderSettings, imageAttr.dataSrc, image);
-						}
-					}
-				} else if (imageHasDataSrcURL) {
-					prepareImageElement(options, renderSettings, imageAttr.dataSrc, image);
-				}
-			}
-
-			return this;
-		},
-		//todo: remove invisibleErrorFn for 2.5
-		invisibleErrorFn: function(fn) {
-			return function(el) {
-				if (el.hasAttribute('data-holder-invisible')) {
-					throw 'Holder: invisible placeholder';
-				}
-			};
-		}
-	};
-
-	//< v2.4 API compatibility
-
-	Holder.add_theme = Holder.addTheme;
-	Holder.add_image = Holder.addImage;
-	Holder.invisible_error_fn = Holder.invisibleErrorFn;
-
-	var App = {
-		settings: {
-			domain: 'holder.js',
-			images: 'img',
-			objects: 'object',
-			bgnodes: 'body .holderjs',
-			stylenodes: 'head link.holderjs',
-			stylesheets: [],
-			themes: {
-				'gray': {
-					background: '#EEEEEE',
-					foreground: '#AAAAAA'
-				},
-				'social': {
-					background: '#3a5a97',
-					foreground: '#FFFFFF'
-				},
-				'industrial': {
-					background: '#434A52',
-					foreground: '#C2F200'
-				},
-				'sky': {
-					background: '#0D8FDB',
-					foreground: '#FFFFFF'
-				},
-				'vine': {
-					background: '#39DBAC',
-					foreground: '#1E292C'
-				},
-				'lava': {
-					background: '#F8591A',
-					foreground: '#1C2846'
-				}
-			}
-		},
-    defaults: {
-      size: 10,
-      units: 'pt',
-      scale: 1/16
-    },
-		flags: {
-			dimensions: {
-				regex: /^(\d+)x(\d+)$/,
-				output: function(val) {
-					var exec = this.regex.exec(val);
-					return {
-						width: +exec[1],
-						height: +exec[2]
-					};
-				}
-			},
-			fluid: {
-				regex: /^([0-9]+%?)x([0-9]+%?)$/,
-				output: function(val) {
-					var exec = this.regex.exec(val);
-					return {
-						width: exec[1],
-						height: exec[2]
-					};
-				}
-			},
-			colors: {
-				regex: /(?:#|\^)([0-9a-f]{3,})\:(?:#|\^)([0-9a-f]{3,})/i,
-				output: function(val) {
-					var exec = this.regex.exec(val);
-					return {
-						foreground: '#' + exec[2],
-						background: '#' + exec[1]
-					};
-				}
-			},
-			text: {
-				regex: /text\:(.*)/,
-				output: function(val) {
-					return this.regex.exec(val)[1].replace('\\/', '/');
-				}
-			},
-			font: {
-				regex: /font\:(.*)/,
-				output: function(val) {
-					return this.regex.exec(val)[1];
-				}
-			},
-			auto: {
-				regex: /^auto$/
-			},
-			textmode: {
-				regex: /textmode\:(.*)/,
-				output: function(val) {
-					return this.regex.exec(val)[1];
-				}
-			},
-			random: {
-				regex: /^random$/
-			}
-		}
-	};
-
-	/**
-	 * Processes provided source attribute and sets up the appropriate rendering workflow
-	 *
-	 * @private
-	 * @param options Instance options from Holder.run
-	 * @param renderSettings Instance configuration
-	 * @param src Image URL
-	 * @param el Image DOM element
-	 */
-	function prepareImageElement(options, renderSettings, src, el) {
-		var holderFlags = parseURL(src.substr(src.lastIndexOf(options.domain)), options);
-		if (holderFlags) {
-			prepareDOMElement(null, el, holderFlags, renderSettings);
-		}
-	}
-
-	/**
-	 * Processes a Holder URL and extracts flags
-	 *
-	 * @private
-	 * @param url URL
-	 * @param options Instance options from Holder.run
-	 */
-	function parseURL(url, options) {
-		var ret = {
-			theme: extend(App.settings.themes.gray, null),
-			stylesheets: options.stylesheets,
-			holderURL: []
-		};
-		var render = false;
-		var vtab = String.fromCharCode(11);
-		var flags = url.replace(/([^\\])\//g, '$1' + vtab).split(vtab);
-		var uriRegex = /%[0-9a-f]{2}/gi;
-		for (var fl = flags.length, j = 0; j < fl; j++) {
-			var flag = flags[j];
-			if (flag.match(uriRegex)) {
-				try {
-					flag = decodeURIComponent(flag);
-				} catch (e) {
-					flag = flags[j];
-				}
-			}
-
-			var push = false;
-
-			if (App.flags.dimensions.match(flag)) {
-				render = true;
-				ret.dimensions = App.flags.dimensions.output(flag);
-				push = true;
-			} else if (App.flags.fluid.match(flag)) {
-				render = true;
-				ret.dimensions = App.flags.fluid.output(flag);
-				ret.fluid = true;
-				push = true;
-			} else if (App.flags.textmode.match(flag)) {
-				ret.textmode = App.flags.textmode.output(flag);
-				push = true;
-			} else if (App.flags.colors.match(flag)) {
-				var colors = App.flags.colors.output(flag);
-				ret.theme = extend(ret.theme, colors);
-				//todo: convert implicit theme use to a theme: flag
-				push = true;
-			} else if (options.themes[flag]) {
-				//If a theme is specified, it will override custom colors
-				if (options.themes.hasOwnProperty(flag)) {
-					ret.theme = extend(options.themes[flag], null);
-				}
-				push = true;
-			} else if (App.flags.font.match(flag)) {
-				ret.font = App.flags.font.output(flag);
-				push = true;
-			} else if (App.flags.auto.match(flag)) {
-				ret.auto = true;
-				push = true;
-			} else if (App.flags.text.match(flag)) {
-				ret.text = App.flags.text.output(flag);
-				push = true;
-			} else if (App.flags.random.match(flag)) {
-				if (App.vars.cache.themeKeys == null) {
-					App.vars.cache.themeKeys = Object.keys(options.themes);
-				}
-				var theme = App.vars.cache.themeKeys[0 | Math.random() * App.vars.cache.themeKeys.length];
-				ret.theme = extend(options.themes[theme], null);
-				push = true;
-			}
-
-			if (push) {
-				ret.holderURL.push(flag);
-			}
-		}
-		ret.holderURL.unshift(options.domain);
-		ret.holderURL = ret.holderURL.join('/');
-		return render ? ret : false;
-	}
-
-	/**
-	 * Modifies the DOM to fit placeholders and sets up resizable image callbacks (for fluid and automatically sized placeholders)
-	 *
-	 * @private
-	 * @param el Image DOM element
-	 * @param flags Placeholder-specific configuration
-	 * @param _renderSettings Instance configuration
-	 */
-	function prepareDOMElement(mode, el, flags, _renderSettings) {
-		var dimensions = flags.dimensions,
-			theme = flags.theme;
-		var dimensionsCaption = dimensions.width + 'x' + dimensions.height;
-		mode = mode == null ? (flags.fluid ? 'fluid' : 'image') : mode;
-
-		if (flags.text != null) {
-			theme.text = flags.text;
-
-			//<object> SVG embedding doesn't parse Unicode properly
-			if (el.nodeName.toLowerCase() === 'object') {
-				var textLines = theme.text.split('\\n');
-				for (var k = 0; k < textLines.length; k++) {
-					textLines[k] = encodeHtmlEntity(textLines[k]);
-				}
-				theme.text = textLines.join('\\n');
-			}
-		}
-
-		var holderURL = flags.holderURL;
-		var renderSettings = extend(_renderSettings, null);
-
-		if (flags.font) {
-			theme.font = flags.font;
-			//Only run the <canvas> webfont fallback if noFontFallback is false, if the node is not an image, and if canvas is supported
-			if (!renderSettings.noFontFallback && el.nodeName.toLowerCase() === 'img' && App.setup.supportsCanvas && renderSettings.renderer === 'svg') {
-				renderSettings = extend(renderSettings, {
-					renderer: 'canvas'
-				});
-			}
-		}
-
-		//Chrome and Opera require a quick 10ms re-render if web fonts are used with canvas
-		if (flags.font && renderSettings.renderer == 'canvas') {
-			renderSettings.reRender = true;
-		}
-
-		if (mode == 'background') {
-			if (el.getAttribute('data-background-src') == null) {
-				setAttr(el, {
-					'data-background-src': holderURL
-				});
-			}
-		} else {
-			setAttr(el, {
-				'data-src': holderURL
-			});
-		}
-
-		flags.theme = theme;
-
-		el.holderData = {
-			flags: flags,
-			renderSettings: renderSettings
-		};
-
-		if (mode == 'image' || mode == 'fluid') {
-			setAttr(el, {
-				'alt': (theme.text ? (theme.text.length > 16 ? theme.text.substring(0, 16) + '…' : theme.text) + ' [' + dimensionsCaption + ']' : dimensionsCaption)
-			});
-		}
-
-		if (mode == 'image') {
-			if (renderSettings.renderer == 'html' || !flags.auto) {
-				el.style.width = dimensions.width + 'px';
-				el.style.height = dimensions.height + 'px';
-			}
-			if (renderSettings.renderer == 'html') {
-				el.style.backgroundColor = theme.background;
-			} else {
-				render(mode, {
-					dimensions: dimensions,
-					theme: theme,
-					flags: flags
-				}, el, renderSettings);
-
-				if (flags.textmode && flags.textmode == 'exact') {
-					App.vars.resizableImages.push(el);
-					updateResizableElements(el);
-				}
-			}
-		} else if (mode == 'background' && renderSettings.renderer != 'html') {
-			render(mode, {
-					dimensions: dimensions,
-					theme: theme,
-					flags: flags
-				},
-				el, renderSettings);
-		} else if (mode == 'fluid') {
-			if (dimensions.height.slice(-1) == '%') {
-				el.style.height = dimensions.height;
-			} else if (flags.auto == null || !flags.auto) {
-				el.style.height = dimensions.height + 'px';
-			}
-			if (dimensions.width.slice(-1) == '%') {
-				el.style.width = dimensions.width;
-			} else if (flags.auto == null || !flags.auto) {
-				el.style.width = dimensions.width + 'px';
-			}
-			if (el.style.display == 'inline' || el.style.display === '' || el.style.display == 'none') {
-				el.style.display = 'block';
-			}
-
-			setInitialDimensions(el);
-
-			if (renderSettings.renderer == 'html') {
-				el.style.backgroundColor = theme.background;
-			} else {
-				App.vars.resizableImages.push(el);
-				updateResizableElements(el);
-			}
-		}
-	}
-
-	/**
-	 * Core function that takes output from renderers and sets it as the source or background-image of the target element
-	 *
-	 * @private
-	 * @param mode Placeholder mode, either background or image
-	 * @param params Placeholder-specific parameters
-	 * @param el Image DOM element
-	 * @param renderSettings Instance configuration
-	 */
-
-	function render(mode, params, el, renderSettings) {
-		var image = null;
-
-		switch (renderSettings.renderer) {
-			case 'svg':
-				if (!App.setup.supportsSVG) return;
-				break;
-			case 'canvas':
-				if (!App.setup.supportsCanvas) return;
-				break;
-			default:
-				return;
-		}
-
-		//todo: move generation of scene up to flag generation to reduce extra object creation
-		var scene = {
-			width: params.dimensions.width,
-			height: params.dimensions.height,
-			theme: params.theme,
-			flags: params.flags
-		};
-
-		var sceneGraph = buildSceneGraph(scene);
-
-		var rendererParams = {
-			text: scene.text,
-			width: scene.width,
-			height: scene.height,
-			textHeight: scene.font.size,
-			font: scene.font.family,
-			fontWeight: scene.font.weight,
-			template: scene.theme
-		};
-
-		function getRenderedImage() {
-			var image = null;
-			switch (renderSettings.renderer) {
-				case 'canvas':
-					image = sgCanvasRenderer(sceneGraph);
-					break;
-				case 'svg':
-					image = sgSVGRenderer(sceneGraph, renderSettings);
-					break;
-				default:
-					throw 'Holder: invalid renderer: ' + renderSettings.renderer;
-			}
-			return image;
-		}
-
-		image = getRenderedImage();
-
-		if (image == null) {
-			throw 'Holder: couldn\'t render placeholder';
-		}
-
-		//todo: add <object> canvas rendering
-		if (mode == 'background') {
-			el.style.backgroundImage = 'url(' + image + ')';
-			el.style.backgroundSize = scene.width + 'px ' + scene.height + 'px';
-		} else {
-			if (el.nodeName.toLowerCase() === 'img') {
-				setAttr(el, {
-					'src': image
-				});
-			} else if (el.nodeName.toLowerCase() === 'object') {
-				setAttr(el, {
-					'data': image
-				});
-				setAttr(el, {
-					'type': 'image/svg+xml'
-				});
-			}
-			if (renderSettings.reRender) {
-				setTimeout(function() {
-					var image = getRenderedImage();
-					if (image == null) {
-						throw 'Holder: couldn\'t render placeholder';
-					}
-					if (el.nodeName.toLowerCase() === 'img') {
-						setAttr(el, {
-							'src': image
-						});
-					} else if (el.nodeName.toLowerCase() === 'object') {
-						setAttr(el, {
-							'data': image
-						});
-						setAttr(el, {
-							'type': 'image/svg+xml'
-						});
-					}
-				}, 100);
-			}
-		}
-		setAttr(el, {
-			'data-holder-rendered': true
-		});
-	}
-
-	/**
-	 * Core function that takes a Holder scene description and builds a scene graph
-	 *
-	 * @private
-	 * @param scene Holder scene object
-	 */
-	function buildSceneGraph(scene) {
-		scene.font = {
-			family: scene.theme.font ? scene.theme.font : 'Arial, Helvetica, Open Sans, sans-serif',
-			size: textSize(scene.width, scene.height, scene.theme.size ? scene.theme.size : App.defaults.size),
-      units: scene.theme.units ? scene.theme.units : App.defaults.units,
-			weight: scene.theme.fontweight ? scene.theme.fontweight : 'bold'
-		};
-		scene.text = scene.theme.text ? scene.theme.text : Math.floor(scene.width) + 'x' + Math.floor(scene.height);
-
-		switch (scene.flags.textmode) {
-			case 'literal':
-				scene.text = scene.flags.dimensions.width + 'x' + scene.flags.dimensions.height;
-				break;
-			case 'exact':
-				if (!scene.flags.exactDimensions) break;
-				scene.text = Math.floor(scene.flags.exactDimensions.width) + 'x' + Math.floor(scene.flags.exactDimensions.height);
-				break;
-		}
-
-		var sceneGraph = new SceneGraph({
-			width: scene.width,
-			height: scene.height
-		});
-
-		var Shape = sceneGraph.Shape;
-
-		var holderBg = new Shape.Rect('holderBg', {
-			fill: scene.theme.background
-		});
-
-		holderBg.resize(scene.width, scene.height);
-		sceneGraph.root.add(holderBg);
-
-		var holderTextGroup = new Shape.Group('holderTextGroup', {
-			text: scene.text,
-			align: 'center',
-			font: scene.font,
-			fill: scene.theme.foreground
-		});
-
-		holderTextGroup.moveTo(null, null, 1);
-		sceneGraph.root.add(holderTextGroup);
-
-		var tpdata = holderTextGroup.textPositionData = stagingRenderer(sceneGraph);
-		if (!tpdata) {
-			throw 'Holder: staging fallback not supported yet.';
-		}
-		holderTextGroup.properties.leading = tpdata.boundingBox.height;
-
-		//todo: alignment: TL, TC, TR, CL, CR, BL, BC, BR
-		var textNode = null;
-		var line = null;
-
-		function finalizeLine(parent, line, width, height) {
-			line.width = width;
-			line.height = height;
-			parent.width = Math.max(parent.width, line.width);
-			parent.height += line.height;
-			parent.add(line);
-		}
-
-		if (tpdata.lineCount > 1) {
-			var offsetX = 0;
-			var offsetY = 0;
-			var maxLineWidth = scene.width * App.setup.lineWrapRatio;
-			var lineIndex = 0;
-			line = new Shape.Group('line' + lineIndex);
-
-			for (var i = 0; i < tpdata.words.length; i++) {
-				var word = tpdata.words[i];
-				textNode = new Shape.Text(word.text);
-				var newline = word.text == '\\n';
-				if (offsetX + word.width >= maxLineWidth || newline === true) {
-					finalizeLine(holderTextGroup, line, offsetX, holderTextGroup.properties.leading);
-					offsetX = 0;
-					offsetY += holderTextGroup.properties.leading;
-					lineIndex += 1;
-					line = new Shape.Group('line' + lineIndex);
-					line.y = offsetY;
-				}
-				if (newline === true) {
-					continue;
-				}
-				textNode.moveTo(offsetX, 0);
-				offsetX += tpdata.spaceWidth + word.width;
-				line.add(textNode);
-			}
-
-			finalizeLine(holderTextGroup, line, offsetX, holderTextGroup.properties.leading);
-
-			for (var lineKey in holderTextGroup.children) {
-				line = holderTextGroup.children[lineKey];
-				line.moveTo(
-					(holderTextGroup.width - line.width) / 2,
-					null,
-					null);
-			}
-
-			holderTextGroup.moveTo(
-				(scene.width - holderTextGroup.width) / 2, (scene.height - holderTextGroup.height) / 2,
-				null);
-
-			//If the text exceeds vertical space, move it down so the first line is visible
-			if ((scene.height - holderTextGroup.height) / 2 < 0) {
-				holderTextGroup.moveTo(null, 0, null);
-			}
-		} else {
-			textNode = new Shape.Text(scene.text);
-			line = new Shape.Group('line0');
-			line.add(textNode);
-			holderTextGroup.add(line);
-
-			holderTextGroup.moveTo(
-				(scene.width - tpdata.boundingBox.width) / 2, (scene.height - tpdata.boundingBox.height) / 2,
-				null);
-		}
-
-		//todo: renderlist
-
-		return sceneGraph;
-	}
-
-	/**
-	 * Adaptive text sizing function
-	 *
-	 * @private
-	 * @param width Parent width
-	 * @param height Parent height
-	 * @param fontSize Requested text size
-	 */
-	function textSize(width, height, fontSize) {
-		height = parseInt(height, 10);
-		width = parseInt(width, 10);
-		var bigSide = Math.max(height, width);
-		var smallSide = Math.min(height, width);
-		var scale = App.defaults.scale;
-		var newHeight = Math.min(smallSide * 0.75, 0.75 * bigSide * scale);
-		return Math.round(Math.max(fontSize, newHeight));
-	}
-
-	/**
-	 * Iterates over resizable (fluid or auto) placeholders and renders them
-	 *
-	 * @private
-	 * @param element Optional element selector, specified only if a specific element needs to be re-rendered
-	 */
-	function updateResizableElements(element) {
-		var images;
-		if (element == null || element.nodeType == null) {
-			images = App.vars.resizableImages;
-		} else {
-			images = [element];
-		}
-		for (var i in images) {
-			if (!images.hasOwnProperty(i)) {
-				continue;
-			}
-			var el = images[i];
-			if (el.holderData) {
-				var flags = el.holderData.flags;
-				var dimensions = dimensionCheck(el, Holder.invisibleErrorFn(updateResizableElements));
-				if (dimensions) {
-					if (flags.fluid && flags.auto) {
-						var fluidConfig = el.holderData.fluidConfig;
-						switch (fluidConfig.mode) {
-							case 'width':
-								dimensions.height = dimensions.width / fluidConfig.ratio;
-								break;
-							case 'height':
-								dimensions.width = dimensions.height * fluidConfig.ratio;
-								break;
-						}
-					}
-
-					var drawParams = {
-						dimensions: dimensions,
-						theme: flags.theme,
-						flags: flags
-					};
-
-					if (flags.textmode && flags.textmode == 'exact') {
-						flags.exactDimensions = dimensions;
-						drawParams.dimensions = flags.dimensions;
-					}
-
-					render('image', drawParams, el, el.holderData.renderSettings);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Checks if an element is visible
-	 *
-	 * @private
-	 * @param el DOM element
-	 * @param callback Callback function executed if the element is invisible
-	 */
-	function dimensionCheck(el, callback) {
-		var dimensions = {
-			height: el.clientHeight,
-			width: el.clientWidth
-		};
-		if (!dimensions.height && !dimensions.width) {
-			setAttr(el, {
-				'data-holder-invisible': true
-			});
-			callback.call(this, el);
-		} else {
-			el.removeAttribute('data-holder-invisible');
-			return dimensions;
-		}
-	}
-
-	/**
-	 * Sets up aspect ratio metadata for fluid placeholders, in order to preserve proportions when resizing
-	 *
-	 * @private
-	 * @param el Image DOM element
-	 */
-	function setInitialDimensions(el) {
-		if (el.holderData) {
-			var dimensions = dimensionCheck(el, Holder.invisibleErrorFn(setInitialDimensions));
-			if (dimensions) {
-				var flags = el.holderData.flags;
-
-				var fluidConfig = {
-					fluidHeight: flags.dimensions.height.slice(-1) == '%',
-					fluidWidth: flags.dimensions.width.slice(-1) == '%',
-					mode: null,
-					initialDimensions: dimensions
-				};
-
-				if (fluidConfig.fluidWidth && !fluidConfig.fluidHeight) {
-					fluidConfig.mode = 'width';
-					fluidConfig.ratio = fluidConfig.initialDimensions.width / parseFloat(flags.dimensions.height);
-				} else if (!fluidConfig.fluidWidth && fluidConfig.fluidHeight) {
-					fluidConfig.mode = 'height';
-					fluidConfig.ratio = parseFloat(flags.dimensions.width) / fluidConfig.initialDimensions.height;
-				}
-
-				el.holderData.fluidConfig = fluidConfig;
-			}
-		}
-	}
-
-	//todo: see if possible to convert stagingRenderer to use HTML only
-	var stagingRenderer = (function() {
-		var svg = null,
-			stagingText = null,
-			stagingTextNode = null;
-		return function(graph) {
-			var rootNode = graph.root;
-			if (App.setup.supportsSVG) {
-				var firstTimeSetup = false;
-				var tnode = function(text) {
-					return document.createTextNode(text);
-				};
-				if (svg == null) {
-					firstTimeSetup = true;
-				}
-				svg = initSVG(svg, rootNode.properties.width, rootNode.properties.height);
-				if (firstTimeSetup) {
-					stagingText = newEl('text', SVG_NS);
-					stagingTextNode = tnode(null);
-					setAttr(stagingText, {
-						x: 0
-					});
-					stagingText.appendChild(stagingTextNode);
-					svg.appendChild(stagingText);
-					document.body.appendChild(svg);
-					svg.style.visibility = 'hidden';
-					svg.style.position = 'absolute';
-					svg.style.top = '-100%';
-					svg.style.left = '-100%';
-					//todo: workaround for zero-dimension <svg> tag in Opera 12
-					//svg.setAttribute('width', 0);
-					//svg.setAttribute('height', 0);
-				}
-
-				var holderTextGroup = rootNode.children.holderTextGroup;
-				var htgProps = holderTextGroup.properties;
-				setAttr(stagingText, {
-					'y': htgProps.font.size,
-					'style': cssProps({
-						'font-weight': htgProps.font.weight,
-						'font-size': htgProps.font.size + htgProps.font.units,
-						'font-family': htgProps.font.family,
-						'dominant-baseline': 'middle'
-					})
-				});
-
-				//Get bounding box for the whole string (total width and height)
-				stagingTextNode.nodeValue = htgProps.text;
-				var stagingTextBBox = stagingText.getBBox();
-
-				//Get line count and split the string into words
-				var lineCount = Math.ceil(stagingTextBBox.width / (rootNode.properties.width * App.setup.lineWrapRatio));
-				var words = htgProps.text.split(' ');
-				var newlines = htgProps.text.match(/\\n/g);
-				lineCount += newlines == null ? 0 : newlines.length;
-
-				//Get bounding box for the string with spaces removed
-				stagingTextNode.nodeValue = htgProps.text.replace(/[ ]+/g, '');
-				var computedNoSpaceLength = stagingText.getComputedTextLength();
-
-				//Compute average space width
-				var diffLength = stagingTextBBox.width - computedNoSpaceLength;
-				var spaceWidth = Math.round(diffLength / Math.max(1, words.length - 1));
-
-				//Get widths for every word with space only if there is more than one line
-				var wordWidths = [];
-				if (lineCount > 1) {
-					stagingTextNode.nodeValue = '';
-					for (var i = 0; i < words.length; i++) {
-						if (words[i].length === 0) continue;
-						stagingTextNode.nodeValue = decodeHtmlEntity(words[i]);
-						var bbox = stagingText.getBBox();
-						wordWidths.push({
-							text: words[i],
-							width: bbox.width
-						});
-					}
-				}
-
-				return {
-					spaceWidth: spaceWidth,
-					lineCount: lineCount,
-					boundingBox: stagingTextBBox,
-					words: wordWidths
-				};
-			} else {
-				//todo: canvas fallback for measuring text on android 2.3
-				return false;
-			}
-		};
-	})();
-
-	var sgCanvasRenderer = (function() {
-		var canvas = newEl('canvas');
-		var ctx = null;
-
-		return function(sceneGraph) {
-			if (ctx == null) {
-				ctx = canvas.getContext('2d');
-			}
-			var root = sceneGraph.root;
-			canvas.width = App.dpr(root.properties.width);
-			canvas.height = App.dpr(root.properties.height);
-			ctx.textBaseline = 'middle';
-
-			ctx.fillStyle = root.children.holderBg.properties.fill;
-			ctx.fillRect(0, 0, App.dpr(root.children.holderBg.width), App.dpr(root.children.holderBg.height));
-
-			var textGroup = root.children.holderTextGroup;
-			var tgProps = textGroup.properties;
-			ctx.font = textGroup.properties.font.weight + ' ' + App.dpr(textGroup.properties.font.size) + textGroup.properties.font.units + ' ' + textGroup.properties.font.family + ', monospace';
-			ctx.fillStyle = textGroup.properties.fill;
-
-			for (var lineKey in textGroup.children) {
-				var line = textGroup.children[lineKey];
-				for (var wordKey in line.children) {
-					var word = line.children[wordKey];
-					var x = App.dpr(textGroup.x + line.x + word.x);
-					var y = App.dpr(textGroup.y + line.y + word.y + (textGroup.properties.leading / 2));
-
-					ctx.fillText(word.properties.text, x, y);
-				}
-			}
-
-			return canvas.toDataURL('image/png');
-		};
-	})();
-
-	var sgSVGRenderer = (function() {
-		//Prevent IE <9 from initializing SVG renderer
-		if (!global.XMLSerializer) return;
-		var svg = initSVG(null, 0, 0);
-		var bgEl = newEl('rect', SVG_NS);
-		svg.appendChild(bgEl);
-
-		//todo: create a reusable pool for textNodes, resize if more words present
-
-		return function(sceneGraph, renderSettings) {
-			var root = sceneGraph.root;
-
-			initSVG(svg, root.properties.width, root.properties.height);
-			var groups = svg.querySelectorAll('g');
-
-			for (var i = 0; i < groups.length; i++) {
-				groups[i].parentNode.removeChild(groups[i]);
-			}
-
-			setAttr(bgEl, {
-				'width': root.children.holderBg.width,
-				'height': root.children.holderBg.height,
-				'fill': root.children.holderBg.properties.fill
-			});
-
-			var textGroup = root.children.holderTextGroup;
-			var tgProps = textGroup.properties;
-			var textGroupEl = newEl('g', SVG_NS);
-			svg.appendChild(textGroupEl);
-
-			for (var lineKey in textGroup.children) {
-				var line = textGroup.children[lineKey];
-				for (var wordKey in line.children) {
-					var word = line.children[wordKey];
-					var x = textGroup.x + line.x + word.x;
-					var y = textGroup.y + line.y + word.y + (textGroup.properties.leading / 2);
-
-					var textEl = newEl('text', SVG_NS);
-					var textNode = document.createTextNode(null);
-
-					setAttr(textEl, {
-						'x': x,
-						'y': y,
-						'style': cssProps({
-							'fill': tgProps.fill,
-							'font-weight': tgProps.font.weight,
-							'font-family': tgProps.font.family + ', monospace',
-							'font-size': tgProps.font.size + tgProps.font.units,
-							'dominant-baseline': 'central'
-						})
-					});
-
-					textNode.nodeValue = word.properties.text;
-					textEl.appendChild(textNode);
-					textGroupEl.appendChild(textEl);
-				}
-			}
-
-			var svgString = 'data:image/svg+xml;base64,' +
-				btoa(unescape(encodeURIComponent(serializeSVG(svg, renderSettings))));
-			return svgString;
-		};
-	})();
-
-	//Helpers
-
-	/**
-	 * Generic new DOM element function
-	 *
-	 * @private
-	 * @param tag Tag to create
-	 * @param namespace Optional namespace value
-	 */
-	function newEl(tag, namespace) {
-		if (namespace == null) {
-			return document.createElement(tag);
-		} else {
-			return document.createElementNS(namespace, tag);
-		}
-	}
-
-	/**
-	 * Generic setAttribute function
-	 *
-	 * @private
-	 * @param el Reference to DOM element
-	 * @param attrs Object with attribute keys and values
-	 */
-	function setAttr(el, attrs) {
-		for (var a in attrs) {
-			el.setAttribute(a, attrs[a]);
-		}
-	}
-
-	/**
-	 * Generic SVG element creation function
-	 *
-	 * @private
-	 * @param svg SVG context, set to null if new
-	 * @param width Document width
-	 * @param height Document height
-	 */
-	function initSVG(svg, width, height) {
-		if (svg == null) {
-			svg = newEl('svg', SVG_NS);
-			var defs = newEl('defs', SVG_NS);
-			svg.appendChild(defs);
-		}
-		//IE throws an exception if this is set and Chrome requires it to be set
-		if (svg.webkitMatchesSelector) {
-			svg.setAttribute('xmlns', SVG_NS);
-		}
-
-		setAttr(svg, {
-			'width': width,
-			'height': height,
-			'viewBox': '0 0 ' + width + ' ' + height,
-			'preserveAspectRatio': 'none'
-		});
-		return svg;
-	}
-
-	/**
-	 * Generic SVG serialization function
-	 *
-	 * @private
-	 * @param svg SVG context
-	 * @param stylesheets CSS stylesheets to include
-	 */
-	function serializeSVG(svg, renderSettings) {
-		if (!global.XMLSerializer) return;
-		var serializer = new XMLSerializer();
-		var svgCSS = '';
-		var stylesheets = renderSettings.stylesheets;
-		var defs = svg.querySelector('defs');
-
-		//External stylesheets: Processing Instruction method
-		if (renderSettings.svgXMLStylesheet) {
-			var xml = new DOMParser().parseFromString('<xml />', 'application/xml');
-			//Add <?xml-stylesheet ?> directives
-			for (var i = stylesheets.length - 1; i >= 0; i--) {
-				var csspi = xml.createProcessingInstruction('xml-stylesheet', 'href="' + stylesheets[i] + '" rel="stylesheet"');
-				xml.insertBefore(csspi, xml.firstChild);
-			}
-
-			//Add <?xml ... ?> UTF-8 directive
-			var xmlpi = xml.createProcessingInstruction('xml', 'version="1.0" encoding="UTF-8" standalone="yes"');
-			xml.insertBefore(xmlpi, xml.firstChild);
-			xml.removeChild(xml.documentElement);
-			svgCSS = serializer.serializeToString(xml);
-		}
-
-		/*
-
-		//External stylesheets: <link> method
-		if (renderSettings.svgLinkStylesheet) {
-
-			defs.removeChild(defs.firstChild);
-			for (i = 0; i < stylesheets.length; i++) {
-				var link = document.createElementNS('http://www.w3.org/1999/xhtml', 'link');
-				link.setAttribute('href', stylesheets[i]);
-				link.setAttribute('rel', 'stylesheet');
-				link.setAttribute('type', 'text/css');
-				defs.appendChild(link);
-			}
-		}
-
-		//External stylesheets: <style> and @import method
-		if (renderSettings.svgImportStylesheet) {
-			var style = document.createElementNS(SVG_NS, 'style');
-			var styleText = [];
-
-			for (i = 0; i < stylesheets.length; i++) {
-				styleText.push('@import url(' + stylesheets[i] + ');');
-			}
-
-			var styleTextNode = document.createTextNode(styleText.join('\n'));
-			style.appendChild(styleTextNode);
-			defs.appendChild(style);
-		}
-
-		*/
-
-		var svgText = serializer.serializeToString(svg);
-		svgText = svgText.replace(/\&amp;(\#[0-9]{2,}\;)/g, '&$1');
-		return svgCSS + svgText;
-	}
-
-	/**
-	 * Shallow object clone and merge
-	 *
-	 * @param a Object A
-	 * @param b Object B
-	 * @returns {Object} New object with all of A's properties, and all of B's properties, overwriting A's properties
-	 */
-	function extend(a, b) {
-		var c = {};
-		for (var x in a) {
-			if (a.hasOwnProperty(x)) {
-				c[x] = a[x];
-			}
-		}
-		if (b != null) {
-			for (var y in b) {
-				if (b.hasOwnProperty(y)) {
-					c[y] = b[y];
-				}
-			}
-		}
-		return c;
-	}
-
-	/**
-	 * Takes a k/v list of CSS properties and returns a rule
-	 *
-	 * @param props CSS properties object
-	 */
-	function cssProps(props) {
-		var ret = [];
-		for (var p in props) {
-			if (props.hasOwnProperty(p)) {
-				ret.push(p + ':' + props[p]);
-			}
-		}
-		return ret.join(';');
-	}
-
-	/**
-	 * Prevents a function from being called too often, waits until a timer elapses to call it again
-	 *
-	 * @param fn Function to call
-	 */
-	function debounce(fn) {
-		if (!App.vars.debounceTimer) fn.call(this);
-		if (App.vars.debounceTimer) clearTimeout(App.vars.debounceTimer);
-		App.vars.debounceTimer = setTimeout(function() {
-			App.vars.debounceTimer = null;
-			fn.call(this);
-		}, App.setup.debounce);
-	}
-
-	/**
-	 * Holder-specific resize/orientation change callback, debounced to prevent excessive execution
-	 */
-	function resizeEvent() {
-		debounce(function() {
-			updateResizableElements(null);
-		});
-	}
-
-	/**
-	 * Converts a value into an array of DOM nodes
-	 *
-	 * @param val A string, a NodeList, a Node, or an HTMLCollection
-	 */
-	function getNodeArray(val) {
-		var retval = null;
-		if (typeof(val) == 'string') {
-			retval = document.querySelectorAll(val);
-		} else if (global.NodeList && val instanceof global.NodeList) {
-			retval = val;
-		} else if (global.Node && val instanceof global.Node) {
-			retval = [val];
-		} else if (global.HTMLCollection && val instanceof global.HTMLCollection) {
-			retval = val;
-		} else if (val === null) {
-			retval = [];
-		}
-		return retval;
-	}
-
-	/**
-	 * Checks if an image exists
-	 *
-	 * @param params Configuration object, must specify at least a src key
-	 * @param callback Callback to call once image status has been found
-	 */
-	function imageExists(src, callback) {
-		var image = new Image();
-		image.onerror = function() {
-			callback.call(this, false);
-		};
-		image.onload = function() {
-			callback.call(this, true);
-		};
-		image.src = src;
-	}
-
-	/**
-	 * Encodes HTML entities in a string
-	 *
-	 * @param str Input string
-	 */
-	function encodeHtmlEntity(str) {
-		var buf = [];
-		var charCode = 0;
-		for (var i = str.length - 1; i >= 0; i--) {
-			charCode = str.charCodeAt(i);
-			if (charCode > 128) {
-				buf.unshift(['&#', charCode, ';'].join(''));
-			} else {
-				buf.unshift(str[i]);
-			}
-		}
-		return buf.join('');
-	}
-
-	/**
-	 * Decodes HTML entities in a stirng
-	 *
-	 * @param str Input string
-	 */
-	function decodeHtmlEntity(str) {
-		return str.replace(/&#(\d+);/g, function(match, dec) {
-			return String.fromCharCode(dec);
-		});
-	}
-
-	// Scene graph
-
-	var SceneGraph = function(sceneProperties) {
-		var nodeCount = 1;
-
-		//todo: move merge to helpers section
-		function merge(parent, child) {
-			for (var prop in child) {
-				parent[prop] = child[prop];
-			}
-			return parent;
-		}
-
-		var SceneNode = augment.defclass({
-			constructor: function(name) {
-				nodeCount++;
-				this.parent = null;
-				this.children = {};
-				this.id = nodeCount;
-				this.name = 'n' + nodeCount;
-				if (name != null) {
-					this.name = name;
-				}
-				this.x = 0;
-				this.y = 0;
-				this.z = 0;
-				this.width = 0;
-				this.height = 0;
-			},
-			resize: function(width, height) {
-				if (width != null) {
-					this.width = width;
-				}
-				if (height != null) {
-					this.height = height;
-				}
-			},
-			moveTo: function(x, y, z) {
-				this.x = x != null ? x : this.x;
-				this.y = y != null ? y : this.y;
-				this.z = z != null ? z : this.z;
-			},
-			add: function(child) {
-					var name = child.name;
-					if (this.children[name] == null) {
-						this.children[name] = child;
-						child.parent = this;
-					} else {
-						throw 'SceneGraph: child with that name already exists: ' + name;
-					}
-				}
-				/*,	// probably unnecessary in Holder
-				remove: function(name){
-					if(this.children[name] == null){
-						throw 'SceneGraph: child with that name doesn\'t exist: '+name;
-					}
-					else{
-						child.parent = null;
-						delete this.children[name];
-					}
-				},
-				removeAll: function(){
-					for(var child in this.children){
-						this.remove(child);
-					}
-				}*/
-		});
-
-		var RootNode = augment(SceneNode, function(uber) {
-			this.constructor = function() {
-				uber.constructor.call(this, 'root');
-				this.properties = sceneProperties;
-			};
-		});
-
-		var Shape = augment(SceneNode, function(uber) {
-			function constructor(name, props) {
-				uber.constructor.call(this, name);
-				this.properties = {
-					fill: '#000'
-				};
-				if (props != null) {
-					merge(this.properties, props);
-				} else if (name != null && typeof name !== 'string') {
-					throw 'SceneGraph: invalid node name';
-				}
-			}
-
-			this.Group = augment.extend(this, {
-				constructor: constructor,
-				type: 'group'
-			});
-
-			this.Rect = augment.extend(this, {
-				constructor: constructor,
-				type: 'rect'
-			});
-
-			this.Text = augment.extend(this, {
-				constructor: function(text) {
-					constructor.call(this);
-					this.properties.text = text;
-				},
-				type: 'text'
-			});
-		});
-
-		var root = new RootNode();
-
-		this.Shape = Shape;
-		this.root = root;
-
-		return this;
-	};
-
-	//Set up flags
-
-	for (var flag in App.flags) {
-		if (!App.flags.hasOwnProperty(flag)) continue;
-		App.flags[flag].match = function(val) {
-			return val.match(this.regex);
-		};
-	}
-
-	//Properties set once on setup
-
-	App.setup = {
-		renderer: 'html',
-		debounce: 100,
-		ratio: 1,
-		supportsCanvas: false,
-		supportsSVG: false,
-		lineWrapRatio: 0.9,
-		renderers: ['html', 'canvas', 'svg']
-	};
-
-	App.dpr = function(val) {
-		return val * App.setup.ratio;
-	};
-
-	//Properties modified during runtime
-
-	App.vars = {
-		preempted: false,
-		resizableImages: [],
-		debounceTimer: null,
-		cache: {}
-	};
-
-	//Pre-flight
-
-	(function() {
-		var devicePixelRatio = 1,
-			backingStoreRatio = 1;
-
-		var canvas = newEl('canvas');
-		var ctx = null;
-
-		if (canvas.getContext) {
-			if (canvas.toDataURL('image/png').indexOf('data:image/png') != -1) {
-				App.setup.renderer = 'canvas';
-				ctx = canvas.getContext('2d');
-				App.setup.supportsCanvas = true;
-			}
-		}
-
-		if (App.setup.supportsCanvas) {
-			devicePixelRatio = global.devicePixelRatio || 1;
-			backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;
-		}
-
-		App.setup.ratio = devicePixelRatio / backingStoreRatio;
-
-		if (!!document.createElementNS && !!document.createElementNS(SVG_NS, 'svg').createSVGRect) {
-			App.setup.renderer = 'svg';
-			App.setup.supportsSVG = true;
-		}
-	})();
-
-	//Exposing to environment and setting up listeners
-	register(Holder, 'Holder', global);
-
-	if (global.onDomReady) {
-		global.onDomReady(function() {
-			if (!App.vars.preempted) {
-				Holder.run();
-			}
-			if (global.addEventListener) {
-				global.addEventListener('resize', resizeEvent, false);
-				global.addEventListener('orientationchange', resizeEvent, false);
-			} else {
-				global.attachEvent('onresize', resizeEvent);
-			}
-
-			if (typeof global.Turbolinks == 'object') {
-				global.document.addEventListener('page:change', function() {
-					Holder.run();
-				});
-			}
-		});
-	}
-
-})(function(fn, name, global) {
-	var isAMD = (typeof define === 'function' && define.amd);
-	var isNode = (typeof exports === 'object');
-	var isWeb = !isNode;
-
-	if (isAMD) {
-		define(fn);
-	} else {
-		//todo: npm/browserify registration
-		global[name] = fn;
-	}
-}, this);
\ No newline at end of file
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/html5shiv.min.js b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/html5shiv.min.js
deleted file mode 100644
index d4c731a..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/html5shiv.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
-* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
-*/
-!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document);
\ No newline at end of file
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js
deleted file mode 100644
index e6a051d..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
-return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)
-}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/nv.d3.min.js b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/nv.d3.min.js
deleted file mode 100644
index bddd4ae..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/nv.d3.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-(function(){function t(e,t){return(new Date(t,e+1,0)).getDate()}function n(e,t,n){return function(r,i,s){var o=e(r),u=[];o<r&&t(o);if(s>1)while(o<i){var a=new Date(+o);n(a)%s===0&&u.push(a),t(o)}else while(o<i)u.push(new Date(+o)),t(o);return u}}var e=window.nv||{};e.version="1.1.15b",e.dev=!0,window.nv=e,e.tooltip=e.tooltip||{},e.utils=e.utils||{},e.models=e.models||{},e.charts={},e.graphs=[],e.logs={},e.dispatch=d3.dispatch("render_start","render_end"),e.dev&&(e.dispatch.on("render_start",function(t){e.logs.startTime=+(new Date)}),e.dispatch.on("render_end",function(t){e.logs.endTime=+(new Date),e.logs.totalTime=e.logs.endTime-e.logs.startTime,e.log("total",e.logs.totalTime)})),e.log=function(){if(e.dev&&console.log&&console.log.apply)console.log.apply(console,arguments);else if(e.dev&&typeof console.log=="function"&&Function.prototype.bind){var t=Function.prototype.bind.call(console.log,console);t.apply(console,arguments)}return arguments[arguments.length-1]},e.render=function(n){n=n||1,e.render.active=!0,e.dispatch.render_start(),setTimeout(function(){var t,r;for(var i=0;i<n&&(r=e.render.queue[i]);i++)t=r.generate(),typeof r.callback==typeof Function&&r.callback(t),e.graphs.push(t);e.render.queue.splice(0,i),e.render.queue.length?setTimeout(arguments.callee,0):(e.dispatch.render_end(),e.render.active=!1)},0)},e.render.active=!1,e.render.queue=[],e.addGraph=function(t){typeof arguments[0]==typeof Function&&(t={generate:arguments[0],callback:arguments[1]}),e.render.queue.push(t),e.render.active||e.render()},e.identity=function(e){return e},e.strip=function(e){return e.replace(/(\s|&)/g,"")},d3.time.monthEnd=function(e){return new Date(e.getFullYear(),e.getMonth(),0)},d3.time.monthEnds=n(d3.time.monthEnd,function(e){e.setUTCDate(e.getUTCDate()+1),e.setDate(t(e.getMonth()+1,e.getFullYear()))},function(e){return e.getMonth()}),e.interactiveGuideline=function(){"use strict";function c(o){o.each(function(o){function g(){var e=d3.mouse(this),n=e[0],r=e[1],o=!0,a=!1;l&&(n=d3.event.offsetX,r=d3.event.offsetY,d3.event.target.tagName!=="svg"&&(o=!1),d3.event.target.className.baseVal.match("nv-legend")&&(a=!0)),o&&(n-=i.left,r-=i.top);if(n<0||r<0||n>p||r>d||d3.event.relatedTarget&&d3.event.relatedTarget.ownerSVGElement===undefined||a){if(l&&d3.event.relatedTarget&&d3.event.relatedTarget.ownerSVGElement===undefined&&d3.event.relatedTarget.className.match(t.nvPointerEventsClass))return;u.elementMouseout({mouseX:n,mouseY:r}),c.renderGuideLine(null);return}var f=s.invert(n);u.elementMousemove({mouseX:n,mouseY:r,pointXValue:f}),d3.event.type==="dblclick"&&u.elementDblclick({mouseX:n,mouseY:r,pointXValue:f})}var h=d3.select(this),p=n||960,d=r||400,v=h.selectAll("g.nv-wrap.nv-interactiveLineLayer").data([o]),m=v.enter().append("g").attr("class"," nv-wrap nv-interactiveLineLayer");m.append("g").attr("class","nv-interactiveGuideLine");if(!f)return;f.on("mousemove",g,!0).on("mouseout",g,!0).on("dblclick",g),c.renderGuideLine=function(t){if(!a)return;var n=v.select(".nv-interactiveGuideLine").selectAll("line").data(t!=null?[e.utils.NaNtoZero(t)]:[],String);n.enter().append("line").attr("class","nv-guideline").attr("x1",function(e){return e}).attr("x2",function(e){return e}).attr("y1",d).attr("y2",0),n.exit().remove()}})}var t=e.models.tooltip(),n=null,r=null,i={left:0,top:0},s=d3.scale.linear(),o=d3.scale.linear(),u=d3.dispatch("elementMousemove","elementMouseout","elementDblclick"),a=!0,f=null,l=navigator.userAgent.indexOf("MSIE")!==-1;return c.dispatch=u,c.tooltip=t,c.margin=function(e){return arguments.length?(i.top=typeof e.top!="undefined"?e.top:i.top,i.left=typeof e.left!="undefined"?e.left:i.left,c):i},c.width=function(e){return arguments.length?(n=e,c):n},c.height=function(e){return arguments.length?(r=e,c):r},c.xScale=function(e){return arguments.length?(s=e,c):s},c.showGuideLine=function(e){return arguments.length?(a=e,c):a},c.svgContainer=function(e){return arguments.length?(f=e,c):f},c},e.interactiveBisect=function(e,t,n){"use strict";if(!e instanceof Array)return null;typeof n!="function"&&(n=function(e,t){return e.x});var r=d3.bisector(n).left,i=d3.max([0,r(e,t)-1]),s=n(e[i],i);typeof s=="undefined"&&(s=i);if(s===t)return i;var o=d3.min([i+1,e.length-1]),u=n(e[o],o);return typeof u=="undefined"&&(u=o),Math.abs(u-t)>=Math.abs(s-t)?i:o},e.nearestValueIndex=function(e,t,n){"use strict";var r=Infinity,i=null;return e.forEach(function(e,s){var o=Math.abs(t-e);o<=r&&o<n&&(r=o,i=s)}),i},function(){"use strict";window.nv.tooltip={},window.nv.models.tooltip=function(){function y(){if(a){var e=d3.select(a);e.node().tagName!=="svg"&&(e=e.select("svg"));var t=e.node()?e.attr("viewBox"):null;if(t){t=t.split(" ");var n=parseInt(e.style("width"))/t[2];l.left=l.left*n,l.top=l.top*n}}}function b(e){var t;a?t=d3.select(a):t=d3.select("body");var n=t.select(".nvtooltip");return n.node()===null&&(n=t.append("div").attr("class","nvtooltip "+(u?u:"xy-tooltip")).attr("id",h)),n.node().innerHTML=e,n.style("top",0).style("left",0).style("opacity",0),n.selectAll("div, table, td, tr").classed(p,!0),n.classed(p,!0),n.node()}function w(){if(!c)return;if(!g(n))return;y();var t=l.left,u=o!=null?o:l.top,h=b(m(n));f=h;if(a){var p=a.getElementsByTagName("svg")[0],d=p?p.getBoundingClientRect():a.getBoundingClientRect(),v={left:0,top:0};if(p){var E=p.getBoundingClientRect(),S=a.getBoundingClientRect(),x=E.top;if(x<0){var T=a.getBoundingClientRect();x=Math.abs(x)>T.height?0:x}v.top=Math.abs(x-S.top),v.left=Math.abs(E.left-S.left)}t+=a.offsetLeft+v.left-2*a.scrollLeft,u+=a.offsetTop+v.top-2*a.scrollTop}return s&&s>0&&(u=Math.floor(u/s)*s),e.tooltip.calcTooltipPosition([t,u],r,i,h),w}var t=null,n=null,r="w",i=50,s=25,o=null,u=null,a=null,f=null,l={left:null,top:null},c=!0,h="nvtooltip-"+Math.floor(Math.random()*1e5),p="nv-pointer-events-none",d=function(e,t){return e},v=function(e){return e},m=function(e){if(t!=null)return t;if(e==null)return"";var n=d3.select(document.createElement("table")),r=n.selectAll("thead").data([e]).enter().append("thead");r.append("tr").append("td").attr("colspan",3).append("strong").classed("x-value",!0).html(v(e.value));var i=n.selectAll("tbody").data([e]).enter().append("tbody"),s=i.selectAll("tr").data(function(e){return e.series}).enter().append("tr").classed("highlight",function(e){return e.highlight});s.append("td").classed("legend-color-guide",!0).append("div").style("background-color",function(e){return e.color}),s.append("td").classed("key",!0).html(function(e){return e.key}),s.append("td").classed("value",!0).html(function(e,t){return d(e.value,t)}),s.selectAll("td").each(function(e){if(e.highlight){var t=d3.scale.linear().domain([0,1]).range(["#fff",e.color]),n=.6;d3.select(this).style("border-bottom-color",t(n)).style("border-top-color",t(n))}});var o=n.node().outerHTML;return e.footer!==undefined&&(o+="<div class='footer'>"+e.footer+"</div>"),o},g=function(e){return e&&e.series&&e.series.length>0?!0:!1};return w.nvPointerEventsClass=p,w.content=function(e){return arguments.length?(t=e,w):t},w.tooltipElem=function(){return f},w.contentGenerator=function(e){return arguments.length?(typeof e=="function"&&(m=e),w):m},w.data=function(e){return arguments.length?(n=e,w):n},w.gravity=function(e){return arguments.length?(r=e,w):r},w.distance=function(e){return arguments.length?(i=e,w):i},w.snapDistance=function(e){return arguments.length?(s=e,w):s},w.classes=function(e){return arguments.length?(u=e,w):u},w.chartContainer=function(e){return arguments.length?(a=e,w):a},w.position=function(e){return arguments.length?(l.left=typeof e.left!="undefined"?e.left:l.left,l.top=typeof e.top!="undefined"?e.top:l.top,w):l},w.fixedTop=function(e){return arguments.length?(o=e,w):o},w.enabled=function(e){return arguments.length?(c=e,w):c},w.valueFormatter=function(e){return arguments.length?(typeof e=="function"&&(d=e),w):d},w.headerFormatter=function(e){return arguments.length?(typeof e=="function"&&(v=e),w):v},w.id=function(){return h},w},e.tooltip.show=function(t,n,r,i,s,o){var u=document.createElement("div");u.className="nvtooltip "+(o?o:"xy-tooltip");var a=s;if(!s||s.tagName.match(/g|svg/i))a=document.getElementsByTagName("body")[0];u.style.left=0,u.style.top=0,u.style.opacity=0,u.innerHTML=n,a.appendChild(u),s&&(t[0]=t[0]-s.scrollLeft,t[1]=t[1]-s.scrollTop),e.tooltip.calcTooltipPosition(t,r,i,u)},e.tooltip.findFirstNonSVGParent=function(e){while(e.tagName.match(/^g|svg$/i)!==null)e=e.parentNode;return e},e.tooltip.findTotalOffsetTop=function(e,t){var n=t;do isNaN(e.offsetTop)||(n+=e.offsetTop);while(e=e.offsetParent);return n},e.tooltip.findTotalOffsetLeft=function(e,t){var n=t;do isNaN(e.offsetLeft)||(n+=e.offsetLeft);while(e=e.offsetParent);return n},e.tooltip.calcTooltipPosition=function(t,n,r,i){var s=parseInt(i.offsetHeight),o=parseInt(i.offsetWidth),u=e.utils.windowSize().width,a=e.utils.windowSize().height,f=window.pageYOffset,l=window.pageXOffset,c,h;a=window.innerWidth>=document.body.scrollWidth?a:a-16,u=window.innerHeight>=document.body.scrollHeight?u:u-16,n=n||"s",r=r||20;var p=function(t){return e.tooltip.findTotalOffsetTop(t,h)},d=function(t){return e.tooltip.findTotalOffsetLeft(t,c)};switch(n){case"e":c=t[0]-o-r,h=t[1]-s/2;var v=d(i),m=p(i);v<l&&(c=t[0]+r>l?t[0]+r:l-v+c),m<f&&(h=f-m+h),m+s>f+a&&(h=f+a-m+h-s);break;case"w":c=t[0]+r,h=t[1]-s/2;var v=d(i),m=p(i);v+o>u&&(c=t[0]-o-r),m<f&&(h=f+5),m+s>f+a&&(h=f+a-m+h-s);break;case"n":c=t[0]-o/2-5,h=t[1]+r;var v=d(i),m=p(i);v<l&&(c=l+5),v+o>u&&(c=c-o/2+5),m+s>f+a&&(h=f+a-m+h-s);break;case"s":c=t[0]-o/2,h=t[1]-s-r;var v=d(i),m=p(i);v<l&&(c=l+5),v+o>u&&(c=c-o/2+5),f>m&&(h=f);break;case"none":c=t[0],h=t[1]-r;var v=d(i),m=p(i)}return i.style.left=c+"px",i.style.top=h+"px",i.style.opacity=1,i.style.position="absolute",i},e.tooltip.cleanup=function(){var e=document.getElementsByClassName("nvtooltip"),t=[];while(e.length)t.push(e[0]),e[0].style.transitionDelay="0 !important",e[0].style.opacity=0,e[0].className="nvtooltip-pending-removal";setTimeout(function(){while(t.length){var e=t.pop();e.parentNode.removeChild(e)}},500)}}(),e.utils.windowSize=function(){var e={width:640,height:480};return document.body&&document.body.offsetWidth&&(e.width=document.body.offsetWidth,e.height=document.body.offsetHeight),document.compatMode=="CSS1Compat"&&document.documentElement&&document.documentElement.offsetWidth&&(e.width=document.documentElement.offsetWidth,e.height=document.documentElement.offsetHeight),window.innerWidth&&window.innerHeight&&(e.width=window.innerWidth,e.height=window.innerHeight),e},e.utils.windowResize=function(e){if(e===undefined)return;var t=window.onresize;window.onresize=function(n){typeof t=="function"&&t(n),e(n)}},e.utils.getColor=function(t){return arguments.length?Object.prototype.toString.call(t)==="[object Array]"?function(e,n){return e.color||t[n%t.length]}:t:e.utils.defaultColor()},e.utils.defaultColor=function(){var e=d3.scale.category20().range();return function(t,n){return t.color||e[n%e.length]}},e.utils.customTheme=function(e,t,n){t=t||function(e){return e.key},n=n||d3.scale.category20().range();var r=n.length;return function(i,s){var o=t(i);return r||(r=n.length),typeof e[o]!="undefined"?typeof e[o]=="function"?e[o]():e[o]:n[--r]}},e.utils.pjax=function(t,n){function r(r){d3.html(r,function(r){var i=d3.select(n).node();i.parentNode.replaceChild(d3.select(r).select(n).node(),i),e.utils.pjax(t,n)})}d3.selectAll(t).on("click",function(){history.pushState(this.href,this.textContent,this.href),r(this.href),d3.event.preventDefault()}),d3.select(window).on("popstate",function(){d3.event.state&&r(d3.event.state)})},e.utils.calcApproxTextWidth=function(e){if(typeof e.style=="function"&&typeof e.text=="function"){var t=parseInt(e.style("font-size").replace("px","")),n=e.text().length;return n*t*.5}return 0},e.utils.NaNtoZero=function(e){return typeof e!="number"||isNaN(e)||e===null||e===Infinity?0:e},e.utils.optionsFunc=function(e){return e&&d3.map(e).forEach(function(e,t){typeof this[e]=="function"&&this[e](t)}.bind(this)),this},e.models.axis=function(){"use strict";function m(e){return e.each(function(e){var i=d3.select(this),m=i.selectAll("g.nv-wrap.nv-axis").data([e]),g=m.enter().append("g").attr("class","nvd3 nv-wrap nv-axis"),y=g.append("g"),b=m.select("g");p!==null?t.ticks(p):(t.orient()=="top"||t.orient()=="bottom")&&t.ticks(Math.abs(s.range()[1]-s.range()[0])/100),b.transition().call(t),v=v||t.scale();var w=t.tickFormat();w==null&&(w=v.tickFormat());var E=b.selectAll("text.nv-axislabel").data([o||null]);E.exit().remove();switch(t.orient()){case"top":E.enter().append("text").attr("class","nv-axislabel");var S=s.range().length==2?s.range()[1]:s.range()[s.range().length-1]+(s.range()[1]-s.range()[0]);E.attr("text-anchor","middle").attr("y",0).attr("x",S/2);if(u){var x=m.selectAll("g.nv-axisMaxMin").data(s.domain());x.enter().append("g").attr("class","nv-axisMaxMin").append("text"),x.exit().remove(),x.attr("transform",function(e,t){return"translate("+s(e)+",0)"}).select("text").attr("dy","-0.5em").attr("y",-t.tickPadding()).attr("text-anchor","middle").text(function(e,t){var n=w(e);return(""+n).match("NaN")?"":n}),x.transition().attr("transform",function(e,t){return"translate("+s.range()[t]+",0)"})}break;case"bottom":var T=36,N=30,C=b.selectAll("g").select("text");if(f%360){C.each(function(e,t){var n=this.getBBox().width;n>N&&(N=n)});var k=Math.abs(Math.sin(f*Math.PI/180)),T=(k?k*N:N)+30;C.attr("transform",function(e,t,n){return"rotate("+f+" 0,0)"}).style("text-anchor",f%360>0?"start":"end")}E.enter().append("text").attr("class","nv-axislabel");var S=s.range().length==2?s.range()[1]:s.range()[s.range().length-1]+(s.range()[1]-s.range()[0]);E.attr("text-anchor","middle").attr("y",T).attr("x",S/2);if(u){var x=m.selectAll("g.nv-axisMaxMin").data([s.domain()[0],s.domain()[s.domain().length-1]]);x.enter().append("g").attr("class","nv-axisMaxMin").append("text"),x.exit().remove(),x.attr("transform",function(e,t){return"translate("+(s(e)+(h?s.rangeBand()/2:0))+",0)"}).select("text").attr("dy",".71em").attr("y",t.tickPadding()).attr("transform",function(e,t,n){return"rotate("+f+" 0,0)"}).style("text-anchor",f?f%360>0?"start":"end":"middle").text(function(e,t){var n=w(e);return(""+n).match("NaN")?"":n}),x.transition().attr("transform",function(e,t){return"translate("+(s(e)+(h?s.rangeBand()/2:0))+",0)"})}c&&C.attr("transform",function(e,t){return"translate(0,"+(t%2==0?"0":"12")+")"});break;case"right":E.enter().append("text").attr("class","nv-axislabel"),E.style("text-anchor",l?"middle":"begin").attr("transform",l?"rotate(90)":"").attr("y",l?-Math.max(n.right,r)+12:-10).attr("x",l?s.range()[0]/2:t.tickPadding());if(u){var x=m.selectAll("g.nv-axisMaxMin").data(s.domain());x.enter().append("g").attr("class","nv-axisMaxMin").append("text").style("opacity",0),x.exit().remove(),x.attr("transform",function(e,t){return"translate(0,"+s(e)+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",t.tickPadding()).style("text-anchor","start").text(function(e,t){var n=w(e);return(""+n).match("NaN")?"":n}),x.transition().attr("transform",function(e,t){return"translate(0,"+s.range()[t]+")"}).select("text").style("opacity",1)}break;case"left":E.enter().append("text").attr("class","nv-axislabel"),E.style("text-anchor",l?"middle":"end").attr("transform",l?"rotate(-90)":"").attr("y",l?-Math.max(n.left,r)+d:-10).attr("x",l?-s.range()[0]/2:-t.tickPadding());if(u){var x=m.selectAll("g.nv-axisMaxMin").data(s.domain());x.enter().append("g").attr("class","nv-axisMaxMin").append("text").style("opacity",0),x.exit().remove(),x.attr("transform",function(e,t){return"translate(0,"+v(e)+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",-t.tickPadding()).attr("text-anchor","end").text(function(e,t){var n=w(e);return(""+n).match("NaN")?"":n}),x.transition().attr("transform",function(e,t){return"translate(0,"+s.range()[t]+")"}).select("text").style("opacity",1)}}E.text(function(e){return e}),u&&(t.orient()==="left"||t.orient()==="right")&&(b.selectAll("g").each(function(e,t){d3.select(this).select("text").attr("opacity",1);if(s(e)<s.range()[1]+10||s(e)>s.range()[0]-10)(e>1e-10||e<-1e-10)&&d3.select(this).attr("opacity",0),d3.select(this).select("text").attr("opacity",0)}),s.domain()[0]==s.domain()[1]&&s.domain()[0]==0&&m.selectAll("g.nv-axisMaxMin").style("opacity",function(e,t){return t?0:1}));if(u&&(t.orient()==="top"||t.orient()==="bottom")){var L=[];m.selectAll("g.nv-axisMaxMin").each(function(e,t){try{t?L.push(s(e)-this.getBBox().width-4):L.push(s(e)+this.getBBox().width+4)}catch(n){t?L.push(s(e)-4):L.push(s(e)+4)}}),b.selectAll("g").each(function(e,t){if(s(e)<L[0]||s(e)>L[1])e>1e-10||e<-1e-10?d3.select(this).remove():d3.select(this).select("text").remove()})}a&&b.selectAll(".tick").filter(function(e){return!parseFloat(Math.round(e.__data__*1e5)/1e6)&&e.__data__!==undefined}).classed("zero",!0),v=s.copy()}),m}var t=d3.svg.axis(),n={top:0,right:0,bottom:0,left:0},r=75,i=60,s=d3.scale.linear(),o=null,u=!0,a=!0,f=0,l=!0,c=!1,h=!1,p=null,d=12;t.scale(s).orient("bottom").tickFormat(function(e){return e});var v;return m.axis=t,d3.rebind(m,t,"orient","tickValues","tickSubdivide","tickSize","tickPadding","tickFormat"),d3.rebind(m,s,"domain","range","rangeBand","rangeBands"),m.options=e.utils.optionsFunc.bind(m),m.margin=function(e){return arguments.length?(n.top=typeof e.top!="undefined"?e.top:n.top,n.right=typeof e.right!="undefined"?e.right:n.right,n.bottom=typeof e.bottom!="undefined"?e.bottom:n.bottom,n.left=typeof e.left!="undefined"?e.left:n.left,m):n},m.width=function(e){return arguments.length?(r=e,m):r},m.ticks=function(e){return arguments.length?(p=e,m):p},m.height=function(e){return arguments.length?(i=e,m):i},m.axisLabel=function(e){return arguments.length?(o=e,m):o},m.showMaxMin=function(e){return arguments.length?(u=e,m):u},m.highlightZero=function(e){return arguments.length?(a=e,m):a},m.scale=function(e){return arguments.length?(s=e,t.scale(s),h=typeof s.rangeBands=="function",d3.rebind(m,s,"domain","range","rangeBand","rangeBands"),m):s},m.rotateYLabel=function(e){return arguments.length?(l=e,m):l},m.rotateLabels=function(e){return arguments.length?(f=e,m):f},m.staggerLabels=function(e){return arguments.length?(c=e,m):c},m.axisLabelDistance=function(e){return arguments.length?(d=e,m):d},m},e.models.bullet=function(){"use strict";function m(e){return e.each(function(e,n){var p=c-t.left-t.right,m=h-t.top-t.bottom,g=d3.select(this),y=i.call(this,e,n).slice().sort(d3.descending),b=s.call(this,e,n).slice().sort(d3.descending),w=o.call(this,e,n).slice().sort(d3.descending),E=u.call(this,e,n).slice(),S=a.call(this,e,n).slice(),x=f.call(this,e,n).slice(),T=d3.scale.linear().domain(d3.extent(d3.merge([l,y]))).range(r?[p,0]:[0,p]),N=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(T.range());this.__chart__=T;var C=d3.min(y),k=d3.max(y),L=y[1],A=g.selectAll("g.nv-wrap.nv-bullet").data([e]),O=A.enter().append("g").attr("class","nvd3 nv-wrap nv-bullet"),M=O.append("g"),_=A.select("g");M.append("rect").attr("class","nv-range nv-rangeMax"),M.append("rect").attr("class","nv-range nv-rangeAvg"),M.append("rect").attr("class","nv-range nv-rangeMin"),M.append("rect").attr("class","nv-measure"),M.append("path").attr("class","nv-markerTriangle"),A.attr("transform","translate("+t.left+","+t.top+")");var D=function(e){return Math.abs(N(e)-N(0))},P=function(e){return Math.abs(T(e)-T(0))},H=function(e){return e<0?N(e):N(0)},B=function(e){return e<0?T(e):T(0)};_.select("rect.nv-rangeMax").attr("height",m).attr("width",P(k>0?k:C)).attr("x",B(k>0?k:C)).datum(k>0?k:C),_.select("rect.nv-rangeAvg").attr("height",m).attr("width",P(L)).attr("x",B(L)).datum(L),_.select("rect.nv-rangeMin").attr("height",m).attr("width",P(k)).attr("x",B(k)).attr("width",P(k>0?C:k)).attr("x",B(k>0?C:k)).datum(k>0?C:k),_.select("rect.nv-measure").style("fill",d).attr("height",m/3).attr("y",m/3).attr("width",w<0?T(0)-T(w[0]):T(w[0])-T(0)).attr("x",B(w)).on("mouseover",function(){v.elementMouseover({value:w[0],label:x[0]||"Current",pos:[T(w[0]),m/2]})}).on("mouseout",function(){v.elementMouseout({value:w[0],label:x[0]||"Current"})});var j=m/6;b[0]?_.selectAll("path.nv-markerTriangle").attr("transform",function(e){return"translate("+T(b[0])+","+m/2+")"}).attr("d","M0,"+j+"L"+j+","+ -j+" "+ -j+","+ -j+"Z").on("mouseover",function(){v.elementMouseover({value:b[0],label:S[0]||"Previous",pos:[T(b[0]),m/2]})}).on("mouseout",function(){v.elementMouseout({value:b[0],label:S[0]||"Previous"})}):_.selectAll("path.nv-markerTriangle").remove(),A.selectAll(".nv-range").on("mouseover",function(e,t){var n=E[t]||(t?t==1?"Mean":"Minimum":"Maximum");v.elementMouseover({value:e,label:n,pos:[T(e),m/2]})}).on("mouseout",function(e,t){var n=E[t]||(t?t==1?"Mean":"Minimum":"Maximum");v.elementMouseout({value:e,label:n})})}),m}var t={top:0,right:0,bottom:0,left:0},n="left",r=!1,i=function(e){return e.ranges},s=function(e){return e.markers},o=function(e){return e.measures},u=function(e){return e.rangeLabels?e.rangeLabels:[]},a=function(e){return e.markerLabels?e.markerLabels:[]},f=function(e){return e.measureLabels?e.measureLabels:[]},l=[0],c=380,h=30,p=null,d=e.utils.getColor(["#1f77b4"]),v=d3.dispatch("elementMouseover","elementMouseout");return m.dispatch=v,m.options=e.utils.optionsFunc.bind(m),m.orient=function(e){return arguments.length?(n=e,r=n=="right"||n=="bottom",m):n},m.ranges=function(e){return arguments.length?(i=e,m):i},m.markers=function(e){return arguments.length?(s=e,m):s},m.measures=function(e){return arguments.length?(o=e,m):o},m.forceX=function(e){return arguments.length?(l=e,m):l},m.width=function(e){return arguments.length?(c=e,m):c},m.height=function(e){return arguments.length?(h=e,m):h},m.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,m):t},m.tickFormat=function(e){return arguments.length?(p=e,m):p},m.color=function(t){return arguments.length?(d=e.utils.getColor(t),m):d},m},e.models.bulletChart=function(){"use strict";function m(e){return e.each(function(n,h){var g=d3.select(this),y=(a||parseInt(g.style("width"))||960)-i.left-i.right,b=f-i.top-i.bottom,w=this;m.update=function(){m(e)},m.container=this;if(!n||!s.call(this,n,h)){var E=g.selectAll(".nv-noData").data([p]);return E.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),E.attr("x",i.left+y/2).attr("y",18+i.top+b/2).text(function(e){return e}),m}g.selectAll(".nv-noData").remove();var S=s.call(this,n,h).slice().sort(d3.descending),x=o.call(this,n,h).slice().sort(d3.descending),T=u.call(this,n,h).slice().sort(d3.descending),N=g.selectAll("g.nv-wrap.nv-bulletChart").data([n]),C=N.enter().append("g").attr("class","nvd3 nv-wrap nv-bulletChart"),k=C.append("g"),L=N.select("g");k.append("g").attr("class","nv-bulletWrap"),k.append("g").attr("class","nv-titles"),N.attr("transform","translate("+i.left+","+i.top+")");var A=d3.scale.linear().domain([0,Math.max(S[0],x[0],T[0])]).range(r?[y,0]:[0,y]),O=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(A.range());this.__chart__=A;var M=function(e){return Math.abs(O(e)-O(0))},_=function(e){return Math.abs(A(e)-A(0))},D=k.select(".nv-titles").append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(f-i.top-i.bottom)/2+")");D.append("text").attr("class","nv-title").text(function(e){return e.title}),D.append("text").attr("class","nv-subtitle").attr("dy","1em").text(function(e){return e.subtitle}),t.width(y).height(b);var P=L.select(".nv-bulletWrap");d3.transition(P).call(t);var H=l||A.tickFormat(y/100),B=L.selectAll("g.nv-tick").data(A.ticks(y/50),function(e){return this.textContent||H(e)}),j=B.enter().append("g").attr("class","nv-tick").attr("transform",function(e){return"translate("+O(e)+",0)"}).style("opacity",1e-6);j.append("line").attr("y1",b).attr("y2",b*7/6),j.append("text").attr("text-anchor","middle").attr("dy","1em").attr("y",b*7/6).text(H);var F=d3.transition(B).attr("transform",function(e){return"translate("+A(e)+",0)"}).style("opacity",1);F.select("line").attr("y1",b).attr("y2",b*7/6),F.select("text").attr("y",b*7/6),d3.transition(B.exit()).attr("transform",function(e){return"translate("+A(e)+",0)"}).style("opacity",1e-6).remove(),d.on("tooltipShow",function(e){e.key=n.title,c&&v(e,w.parentNode)})}),d3.timer.flush(),m}var t=e.models.bullet(),n="left",r=!1,i={top:5,right:40,bottom:20,left:120},s=function(e){return e.ranges},o=function(e){return e.markers},u=function(e){return e.measures},a=null,f=55,l=null,c=!0,h=function(e,t,n,r,i){return"<h3>"+t+"</h3>"+"<p>"+n+"</p>"},p="No Data Available.",d=d3.dispatch("tooltipShow","tooltipHide"),v=function(t,n){var r=t.pos[0]+(n.offsetLeft||0)+i.left,s=t.pos[1]+(n.offsetTop||0)+i.top,o=h(t.key,t.label,t.value,t,m);e.tooltip.show([r,s],o,t.value<0?"e":"w",null,n)};return t.dispatch.on("elementMouseover.tooltip",function(e){d.tooltipShow(e)}),t.dispatch.on("elementMouseout.tooltip",function(e){d.tooltipHide(e)}),d.on("tooltipHide",function(){c&&e.tooltip.cleanup()}),m.dispatch=d,m.bullet=t,d3.rebind(m,t,"color"),m.options=e.utils.optionsFunc.bind(m),m.orient=function(e){return arguments.length?(n=e,r=n=="right"||n=="bottom",m):n},m.ranges=function(e){return arguments.length?(s=e,m):s},m.markers=function(e){return arguments.length?(o=e,m):o},m.measures=function(e){return arguments.length?(u=e,m):u},m.width=function(e){return arguments.length?(a=e,m):a},m.height=function(e){return arguments.length?(f=e,m):f},m.margin=function(e){return arguments.length?(i.top=typeof e.top!="undefined"?e.top:i.top,i.right=typeof e.right!="undefined"?e.right:i.right,i.bottom=typeof e.bottom!="undefined"?e.bottom:i.bottom,i.left=typeof e.left!="undefined"?e.left:i.left,m):i},m.tickFormat=function(e){return arguments.length?(l=e,m):l},m.tooltips=function(e){return arguments.length?(c=e,m):c},m.tooltipContent=function(e){return arguments.length?(h=e,m):h},m.noData=function(e){return arguments.length?(p=e,m):p},m},e.models.cumulativeLineChart=function(){"use strict";function D(b){return b.each(function(b){function q(e,t){d3.select(D.container).style("cursor","ew-resize")}function R(e,t){M.x=d3.event.x,M.i=Math.round(O.invert(M.x)),rt()}function U(e,t){d3.select(D.container).style("cursor","auto"),x.index=M.i,k.stateChange(x)}function rt(){nt.data([M]);var e=D.transitionDuration();D.transitionDuration(0),D.update(),D.transitionDuration(e)}var A=d3.select(this).classed("nv-chart-"+S,!0),H=this,B=(f||parseInt(A.style("width"))||960)-u.left-u.right,j=(l||parseInt(A.style("height"))||400)-u.top-u.bottom;D.update=function(){A.transition().duration(L).call(D)},D.container=this,x.disabled=b.map(function(e){return!!e.disabled});if(!T){var F;T={};for(F in x)x[F]instanceof Array?T[F]=x[F].slice(0):T[F]=x[F]}var I=d3.behavior.drag().on("dragstart",q).on("drag",R).on("dragend",U);if(!b||!b.length||!b.filter(function(e){return e.values.length}).length){var z=A.selectAll(".nv-noData").data([N]);return z.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),z.attr("x",u.left+B/2).attr("y",u.top+j/2).text(function(e){return e}),D}A.selectAll(".nv-noData").remove(),w=t.xScale(),E=t.yScale();if(!y){var W=b.filter(function(e){return!e.disabled}).map(function(e,n){var r=d3.extent(e.values,t.y());return r[0]<-0.95&&(r[0]=-0.95),[(r[0]-r[1])/(1+r[1]),(r[1]-r[0])/(1+r[0])]}),X=[d3.min(W,function(e){return e[0]}),d3.max(W,function(e){return e[1]})];t.yDomain(X)}else t.yDomain(null);O.domain([0,b[0].values.length-1]).range([0,B]).clamp(!0);var b=P(M.i,b),V=g?"none":"all",$=A.selectAll("g.nv-wrap.nv-cumulativeLine").data([b]),J=$.enter().append("g").attr("class","nvd3 nv-wrap nv-cumulativeLine").append("g"),K=$.select("g");J.append("g").attr("class","nv-interactive"),J.append("g").attr("class","nv-x nv-axis").style("pointer-events","none"),J.append("g").attr("class","nv-y nv-axis"),J.append("g").attr("class","nv-background"),J.append("g").attr("class","nv-linesWrap").style("pointer-events",V),J.append("g").attr("class","nv-avgLinesWrap").style("pointer-events","none"),J.append("g").attr("class","nv-legendWrap"),J.append("g").attr("class","nv-controlsWrap"),c&&(i.width(B),K.select(".nv-legendWrap").datum(b).call(i),u.top!=i.height()&&(u.top=i.height(),j=(l||parseInt(A.style("height"))||400)-u.top-u.bottom),K.select(".nv-legendWrap").attr("transform","translate(0,"+ -u.top+")"));if(m){var Q=[{key:"Re-scale y-axis",disabled:!y}];s.width(140).color(["#444","#444","#444"]).rightAlign(!1).margin({top:5,right:0,bottom:5,left:20}),K.select(".nv-controlsWrap").datum(Q).attr("transform","translate(0,"+ -u.top+")").call(s)}$.attr("transform","translate("+u.left+","+u.top+")"),d&&K.select(".nv-y.nv-axis").attr("transform","translate("+B+",0)");var G=b.filter(function(e){return e.tempDisabled});$.select(".tempDisabled").remove(),G.length&&$.append("text").attr("class","tempDisabled").attr("x",B/2).attr("y","-.71em").style("text-anchor","end").text(G.map(function(e){return e.key}).join(", ")+" values cannot be calculated for this time period."),g&&(o.width(B).height(j).margin({left:u.left,top:u.top}).svgContainer(A).xScale(w),$.select(".nv-interactive").call(o)),J.select(".nv-background").append("rect"),K.select(".nv-background rect").attr("width",B).attr("height",j),t.y(function(e){return e.display.y}).width(B).height(j).color(b.map(function(e,t){return e.color||a(e,t)}).filter(function(e,t){return!b[t].disabled&&!b[t].tempDisabled}));var Y=K.select(".nv-linesWrap").datum(b.filter(function(e){return!e.disabled&&!e.tempDisabled}));Y.call(t),b.forEach(function(e,t){e.seriesIndex=t});var Z=b.filter(function(e){return!e.disabled&&!!C(e)}),et=K.select(".nv-avgLinesWrap").selectAll("line").data(Z,function(e){return e.key}),tt=function(e){var t=E(C(e));return t<0?0:t>j?j:t};et.enter().append("line").style("stroke-width",2).style("stroke-dasharray","10,10").style("stroke",function(e,n){return t.color()(e,e.seriesIndex)}).attr("x1",0).attr("x2",B).attr("y1",tt).attr("y2",tt),et.style("stroke-opacity",function(e){var t=E(C(e));return t<0||t>j?0:1}).attr("x1",0).attr("x2",B).attr("y1",tt).attr("y2",tt),et.exit().remove();var nt=Y.selectAll(".nv-indexLine").data([M]);nt.enter().append("rect").attr("class","nv-indexLine").attr("width",3).attr("x",-2).attr("fill","red").attr("fill-opacity",.5).style("pointer-events","all").call(I),nt.attr("transform",function(e){return"translate("+O(e.i)+",0)"}).attr("height",j),h&&(n.scale(w).ticks(Math.min(b[0].values.length,B/70)).tickSize(-j,0),K.select(".nv-x.nv-axis").attr("transform","translate(0,"+E.range()[0]+")"),d3.transition(K.select(".nv-x.nv-axis")).call(n)),p&&(r.scale(E).ticks(j/36).tickSize(-B,0),d3.transition(K.select(".nv-y.nv-axis")).call(r)),K.select(".nv-background rect").on("click",function(){M.x=d3.mouse(this)[0],M.i=Math.round(O.invert(M.x)),x.index=M.i,k.stateChange(x),rt()}),t.dispatch.on("elementClick",function(e){M.i=e.pointIndex,M.x=O(M.i),x.index=M.i,k.stateChange(x),rt()}),s.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,y=!e.disabled,x.rescaleY=y,k.stateChange(x),D.update()}),i.dispatch.on("stateChange",function(e){x.disabled=e.disabled,k.stateChange(x),D.update()}),o.dispatch.on("elementMousemove",function(i){t.clearHighlights();var s,f,l,c=[];b.filter(function(e,t){return e.seriesIndex=t,!e.disabled}).forEach(function(n,r){f=e.interactiveBisect(n.values,i.pointXValue,D.x()),t.highlightPoint(r,f,!0);var o=n.values[f];if(typeof o=="undefined")return;typeof s=="undefined"&&(s=o),typeof l=="undefined"&&(l=D.xScale()(D.x()(o,f))),c.push({key:n.key,value:D.y()(o,f),color:a(n,n.seriesIndex)})});if(c.length>2){var h=D.yScale().invert(i.mouseY),p=Math.abs(D.yScale().domain()[0]-D.yScale().domain()[1]),d=.03*p,m=e.nearestValueIndex(c.map(function(e){return e.value}),h,d);m!==null&&(c[m].highlight=!0)}var g=n.tickFormat()(D.x()(s,f),f);o.tooltip.position({left:l+u.left,top:i.mouseY+u.top}).chartContainer(H.parentNode).enabled(v).valueFormatter(function(e,t){return r.tickFormat()(e)}).data({value:g,series:c})(),o.renderGuideLine(l)}),o.dispatch.on("elementMouseout",function(e){k.tooltipHide(),t.clearHighlights()}),k.on("tooltipShow",function(e){v&&_(e,H.parentNode)}),k.on("changeState",function(e){typeof e.disabled!="undefined"&&(b.forEach(function(t,n){t.disabled=e.disabled[n]}),x.disabled=e.disabled),typeof e.index!="undefined"&&(M.i=e.index,M.x=O(M.i),x.index=e.index,nt.data([M])),typeof e.rescaleY!="undefined"&&(y=e.rescaleY),D.update()})}),D}function P(e,n){return n.map(function(n,r){if(!n.values)return n;var i=t.y()(n.values[e],e);return i<-0.95&&!A?(n.tempDisabled=!0,n):(n.tempDisabled=!1,n.values=
-n.values.map(function(e,n){return e.display={y:(t.y()(e,n)-i)/(1+i)},e}),n)})}var t=e.models.line(),n=e.models.axis(),r=e.models.axis(),i=e.models.legend(),s=e.models.legend(),o=e.interactiveGuideline(),u={top:30,right:30,bottom:50,left:60},a=e.utils.defaultColor(),f=null,l=null,c=!0,h=!0,p=!0,d=!1,v=!0,m=!0,g=!1,y=!0,b=function(e,t,n,r,i){return"<h3>"+e+"</h3>"+"<p>"+n+" at "+t+"</p>"},w,E,S=t.id(),x={index:0,rescaleY:y},T=null,N="No Data Available.",C=function(e){return e.average},k=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState"),L=250,A=!1;n.orient("bottom").tickPadding(7),r.orient(d?"right":"left"),s.updateState(!1);var O=d3.scale.linear(),M={i:0,x:0},_=function(i,s){var o=i.pos[0]+(s.offsetLeft||0),u=i.pos[1]+(s.offsetTop||0),a=n.tickFormat()(t.x()(i.point,i.pointIndex)),f=r.tickFormat()(t.y()(i.point,i.pointIndex)),l=b(i.series.key,a,f,i,D);e.tooltip.show([o,u],l,null,null,s)};return t.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+u.left,e.pos[1]+u.top],k.tooltipShow(e)}),t.dispatch.on("elementMouseout.tooltip",function(e){k.tooltipHide(e)}),k.on("tooltipHide",function(){v&&e.tooltip.cleanup()}),D.dispatch=k,D.lines=t,D.legend=i,D.xAxis=n,D.yAxis=r,D.interactiveLayer=o,d3.rebind(D,t,"defined","isArea","x","y","xScale","yScale","size","xDomain","yDomain","xRange","yRange","forceX","forceY","interactive","clipEdge","clipVoronoi","useVoronoi","id"),D.options=e.utils.optionsFunc.bind(D),D.margin=function(e){return arguments.length?(u.top=typeof e.top!="undefined"?e.top:u.top,u.right=typeof e.right!="undefined"?e.right:u.right,u.bottom=typeof e.bottom!="undefined"?e.bottom:u.bottom,u.left=typeof e.left!="undefined"?e.left:u.left,D):u},D.width=function(e){return arguments.length?(f=e,D):f},D.height=function(e){return arguments.length?(l=e,D):l},D.color=function(t){return arguments.length?(a=e.utils.getColor(t),i.color(a),D):a},D.rescaleY=function(e){return arguments.length?(y=e,D):y},D.showControls=function(e){return arguments.length?(m=e,D):m},D.useInteractiveGuideline=function(e){return arguments.length?(g=e,e===!0&&(D.interactive(!1),D.useVoronoi(!1)),D):g},D.showLegend=function(e){return arguments.length?(c=e,D):c},D.showXAxis=function(e){return arguments.length?(h=e,D):h},D.showYAxis=function(e){return arguments.length?(p=e,D):p},D.rightAlignYAxis=function(e){return arguments.length?(d=e,r.orient(e?"right":"left"),D):d},D.tooltips=function(e){return arguments.length?(v=e,D):v},D.tooltipContent=function(e){return arguments.length?(b=e,D):b},D.state=function(e){return arguments.length?(x=e,D):x},D.defaultState=function(e){return arguments.length?(T=e,D):T},D.noData=function(e){return arguments.length?(N=e,D):N},D.average=function(e){return arguments.length?(C=e,D):C},D.transitionDuration=function(e){return arguments.length?(L=e,D):L},D.noErrorCheck=function(e){return arguments.length?(A=e,D):A},D},e.models.discreteBar=function(){"use strict";function E(e){return e.each(function(e){var i=n-t.left-t.right,E=r-t.top-t.bottom,S=d3.select(this);e.forEach(function(e,t){e.values.forEach(function(e){e.series=t})});var T=p&&d?[]:e.map(function(e){return e.values.map(function(e,t){return{x:u(e,t),y:a(e,t),y0:e.y0}})});s.domain(p||d3.merge(T).map(function(e){return e.x})).rangeBands(v||[0,i],.1),o.domain(d||d3.extent(d3.merge(T).map(function(e){return e.y}).concat(f))),c?o.range(m||[E-(o.domain()[0]<0?12:0),o.domain()[1]>0?12:0]):o.range(m||[E,0]),b=b||s,w=w||o.copy().range([o(0),o(0)]);var N=S.selectAll("g.nv-wrap.nv-discretebar").data([e]),C=N.enter().append("g").attr("class","nvd3 nv-wrap nv-discretebar"),k=C.append("g"),L=N.select("g");k.append("g").attr("class","nv-groups"),N.attr("transform","translate("+t.left+","+t.top+")");var A=N.select(".nv-groups").selectAll(".nv-group").data(function(e){return e},function(e){return e.key});A.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),A.exit().transition().style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),A.attr("class",function(e,t){return"nv-group nv-series-"+t}).classed("hover",function(e){return e.hover}),A.transition().style("stroke-opacity",1).style("fill-opacity",.75);var O=A.selectAll("g.nv-bar").data(function(e){return e.values});O.exit().remove();var M=O.enter().append("g").attr("transform",function(e,t,n){return"translate("+(s(u(e,t))+s.rangeBand()*.05)+", "+o(0)+")"}).on("mouseover",function(t,n){d3.select(this).classed("hover",!0),g.elementMouseover({value:a(t,n),point:t,series:e[t.series],pos:[s(u(t,n))+s.rangeBand()*(t.series+.5)/e.length,o(a(t,n))],pointIndex:n,seriesIndex:t.series,e:d3.event})}).on("mouseout",function(t,n){d3.select(this).classed("hover",!1),g.elementMouseout({value:a(t,n),point:t,series:e[t.series],pointIndex:n,seriesIndex:t.series,e:d3.event})}).on("click",function(t,n){g.elementClick({value:a(t,n),point:t,series:e[t.series],pos:[s(u(t,n))+s.rangeBand()*(t.series+.5)/e.length,o(a(t,n))],pointIndex:n,seriesIndex:t.series,e:d3.event}),d3.event.stopPropagation()}).on("dblclick",function(t,n){g.elementDblClick({value:a(t,n),point:t,series:e[t.series],pos:[s(u(t,n))+s.rangeBand()*(t.series+.5)/e.length,o(a(t,n))],pointIndex:n,seriesIndex:t.series,e:d3.event}),d3.event.stopPropagation()});M.append("rect").attr("height",0).attr("width",s.rangeBand()*.9/e.length),c?(M.append("text").attr("text-anchor","middle"),O.select("text").text(function(e,t){return h(a(e,t))}).transition().attr("x",s.rangeBand()*.9/2).attr("y",function(e,t){return a(e,t)<0?o(a(e,t))-o(0)+12:-4})):O.selectAll("text").remove(),O.attr("class",function(e,t){return a(e,t)<0?"nv-bar negative":"nv-bar positive"}).style("fill",function(e,t){return e.color||l(e,t)}).style("stroke",function(e,t){return e.color||l(e,t)}).select("rect").attr("class",y).transition().attr("width",s.rangeBand()*.9/e.length),O.transition().attr("transform",function(e,t){var n=s(u(e,t))+s.rangeBand()*.05,r=a(e,t)<0?o(0):o(0)-o(a(e,t))<1?o(0)-1:o(a(e,t));return"translate("+n+", "+r+")"}).select("rect").attr("height",function(e,t){return Math.max(Math.abs(o(a(e,t))-o(d&&d[0]||0))||1)}),b=s.copy(),w=o.copy()}),E}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=Math.floor(Math.random()*1e4),s=d3.scale.ordinal(),o=d3.scale.linear(),u=function(e){return e.x},a=function(e){return e.y},f=[0],l=e.utils.defaultColor(),c=!1,h=d3.format(",.2f"),p,d,v,m,g=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout"),y="discreteBar",b,w;return E.dispatch=g,E.options=e.utils.optionsFunc.bind(E),E.x=function(e){return arguments.length?(u=e,E):u},E.y=function(e){return arguments.length?(a=e,E):a},E.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,E):t},E.width=function(e){return arguments.length?(n=e,E):n},E.height=function(e){return arguments.length?(r=e,E):r},E.xScale=function(e){return arguments.length?(s=e,E):s},E.yScale=function(e){return arguments.length?(o=e,E):o},E.xDomain=function(e){return arguments.length?(p=e,E):p},E.yDomain=function(e){return arguments.length?(d=e,E):d},E.xRange=function(e){return arguments.length?(v=e,E):v},E.yRange=function(e){return arguments.length?(m=e,E):m},E.forceY=function(e){return arguments.length?(f=e,E):f},E.color=function(t){return arguments.length?(l=e.utils.getColor(t),E):l},E.id=function(e){return arguments.length?(i=e,E):i},E.showValues=function(e){return arguments.length?(c=e,E):c},E.valueFormat=function(e){return arguments.length?(h=e,E):h},E.rectClass=function(e){return arguments.length?(y=e,E):y},E},e.models.discreteBarChart=function(){"use strict";function w(e){return e.each(function(e){var u=d3.select(this),p=this,E=(s||parseInt(u.style("width"))||960)-i.left-i.right,S=(o||parseInt(u.style("height"))||400)-i.top-i.bottom;w.update=function(){g.beforeUpdate(),u.transition().duration(y).call(w)},w.container=this;if(!e||!e.length||!e.filter(function(e){return e.values.length}).length){var T=u.selectAll(".nv-noData").data([m]);return T.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),T.attr("x",i.left+E/2).attr("y",i.top+S/2).text(function(e){return e}),w}u.selectAll(".nv-noData").remove(),d=t.xScale(),v=t.yScale().clamp(!0);var N=u.selectAll("g.nv-wrap.nv-discreteBarWithAxes").data([e]),C=N.enter().append("g").attr("class","nvd3 nv-wrap nv-discreteBarWithAxes").append("g"),k=C.append("defs"),L=N.select("g");C.append("g").attr("class","nv-x nv-axis"),C.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),C.append("g").attr("class","nv-barsWrap"),L.attr("transform","translate("+i.left+","+i.top+")"),l&&L.select(".nv-y.nv-axis").attr("transform","translate("+E+",0)"),t.width(E).height(S);var A=L.select(".nv-barsWrap").datum(e.filter(function(e){return!e.disabled}));A.transition().call(t),k.append("clipPath").attr("id","nv-x-label-clip-"+t.id()).append("rect"),L.select("#nv-x-label-clip-"+t.id()+" rect").attr("width",d.rangeBand()*(c?2:1)).attr("height",16).attr("x",-d.rangeBand()/(c?1:2));if(a){n.scale(d).ticks(E/100).tickSize(-S,0),L.select(".nv-x.nv-axis").attr("transform","translate(0,"+(v.range()[0]+(t.showValues()&&v.domain()[0]<0?16:0))+")"),L.select(".nv-x.nv-axis").transition().call(n);var O=L.select(".nv-x.nv-axis").selectAll("g");c&&O.selectAll("text").attr("transform",function(e,t,n){return"translate(0,"+(n%2==0?"5":"17")+")"})}f&&(r.scale(v).ticks(S/36).tickSize(-E,0),L.select(".nv-y.nv-axis").transition().call(r)),L.select(".nv-zeroLine line").attr("x1",0).attr("x2",E).attr("y1",v(0)).attr("y2",v(0)),g.on("tooltipShow",function(e){h&&b(e,p.parentNode)})}),w}var t=e.models.discreteBar(),n=e.models.axis(),r=e.models.axis(),i={top:15,right:10,bottom:50,left:60},s=null,o=null,u=e.utils.getColor(),a=!0,f=!0,l=!1,c=!1,h=!0,p=function(e,t,n,r,i){return"<h3>"+t+"</h3>"+"<p>"+n+"</p>"},d,v,m="No Data Available.",g=d3.dispatch("tooltipShow","tooltipHide","beforeUpdate"),y=250;n.orient("bottom").highlightZero(!1).showMaxMin(!1).tickFormat(function(e){return e}),r.orient(l?"right":"left").tickFormat(d3.format(",.1f"));var b=function(i,s){var o=i.pos[0]+(s.offsetLeft||0),u=i.pos[1]+(s.offsetTop||0),a=n.tickFormat()(t.x()(i.point,i.pointIndex)),f=r.tickFormat()(t.y()(i.point,i.pointIndex)),l=p(i.series.key,a,f,i,w);e.tooltip.show([o,u],l,i.value<0?"n":"s",null,s)};return t.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+i.left,e.pos[1]+i.top],g.tooltipShow(e)}),t.dispatch.on("elementMouseout.tooltip",function(e){g.tooltipHide(e)}),g.on("tooltipHide",function(){h&&e.tooltip.cleanup()}),w.dispatch=g,w.discretebar=t,w.xAxis=n,w.yAxis=r,d3.rebind(w,t,"x","y","xDomain","yDomain","xRange","yRange","forceX","forceY","id","showValues","valueFormat"),w.options=e.utils.optionsFunc.bind(w),w.margin=function(e){return arguments.length?(i.top=typeof e.top!="undefined"?e.top:i.top,i.right=typeof e.right!="undefined"?e.right:i.right,i.bottom=typeof e.bottom!="undefined"?e.bottom:i.bottom,i.left=typeof e.left!="undefined"?e.left:i.left,w):i},w.width=function(e){return arguments.length?(s=e,w):s},w.height=function(e){return arguments.length?(o=e,w):o},w.color=function(n){return arguments.length?(u=e.utils.getColor(n),t.color(u),w):u},w.showXAxis=function(e){return arguments.length?(a=e,w):a},w.showYAxis=function(e){return arguments.length?(f=e,w):f},w.rightAlignYAxis=function(e){return arguments.length?(l=e,r.orient(e?"right":"left"),w):l},w.staggerLabels=function(e){return arguments.length?(c=e,w):c},w.tooltips=function(e){return arguments.length?(h=e,w):h},w.tooltipContent=function(e){return arguments.length?(p=e,w):p},w.noData=function(e){return arguments.length?(m=e,w):m},w.transitionDuration=function(e){return arguments.length?(y=e,w):y},w},e.models.distribution=function(){"use strict";function l(e){return e.each(function(e){var a=n-(i==="x"?t.left+t.right:t.top+t.bottom),l=i=="x"?"y":"x",c=d3.select(this);f=f||u;var h=c.selectAll("g.nv-distribution").data([e]),p=h.enter().append("g").attr("class","nvd3 nv-distribution"),d=p.append("g"),v=h.select("g");h.attr("transform","translate("+t.left+","+t.top+")");var m=v.selectAll("g.nv-dist").data(function(e){return e},function(e){return e.key});m.enter().append("g"),m.attr("class",function(e,t){return"nv-dist nv-series-"+t}).style("stroke",function(e,t){return o(e,t)});var g=m.selectAll("line.nv-dist"+i).data(function(e){return e.values});g.enter().append("line").attr(i+"1",function(e,t){return f(s(e,t))}).attr(i+"2",function(e,t){return f(s(e,t))}),m.exit().selectAll("line.nv-dist"+i).transition().attr(i+"1",function(e,t){return u(s(e,t))}).attr(i+"2",function(e,t){return u(s(e,t))}).style("stroke-opacity",0).remove(),g.attr("class",function(e,t){return"nv-dist"+i+" nv-dist"+i+"-"+t}).attr(l+"1",0).attr(l+"2",r),g.transition().attr(i+"1",function(e,t){return u(s(e,t))}).attr(i+"2",function(e,t){return u(s(e,t))}),f=u.copy()}),l}var t={top:0,right:0,bottom:0,left:0},n=400,r=8,i="x",s=function(e){return e[i]},o=e.utils.defaultColor(),u=d3.scale.linear(),a,f;return l.options=e.utils.optionsFunc.bind(l),l.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,l):t},l.width=function(e){return arguments.length?(n=e,l):n},l.axis=function(e){return arguments.length?(i=e,l):i},l.size=function(e){return arguments.length?(r=e,l):r},l.getData=function(e){return arguments.length?(s=d3.functor(e),l):s},l.scale=function(e){return arguments.length?(u=e,l):u},l.color=function(t){return arguments.length?(o=e.utils.getColor(t),l):o},l},e.models.historicalBar=function(){"use strict";function w(E){return E.each(function(w){var E=n-t.left-t.right,S=r-t.top-t.bottom,T=d3.select(this);s.domain(d||d3.extent(w[0].values.map(u).concat(f))),c?s.range(m||[E*.5/w[0].values.length,E*(w[0].values.length-.5)/w[0].values.length]):s.range(m||[0,E]),o.domain(v||d3.extent(w[0].values.map(a).concat(l))).range(g||[S,0]),s.domain()[0]===s.domain()[1]&&(s.domain()[0]?s.domain([s.domain()[0]-s.domain()[0]*.01,s.domain()[1]+s.domain()[1]*.01]):s.domain([-1,1])),o.domain()[0]===o.domain()[1]&&(o.domain()[0]?o.domain([o.domain()[0]+o.domain()[0]*.01,o.domain()[1]-o.domain()[1]*.01]):o.domain([-1,1]));var N=T.selectAll("g.nv-wrap.nv-historicalBar-"+i).data([w[0].values]),C=N.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBar-"+i),k=C.append("defs"),L=C.append("g"),A=N.select("g");L.append("g").attr("class","nv-bars"),N.attr("transform","translate("+t.left+","+t.top+")"),T.on("click",function(e,t){y.chartClick({data:e,index:t,pos:d3.event,id:i})}),k.append("clipPath").attr("id","nv-chart-clip-path-"+i).append("rect"),N.select("#nv-chart-clip-path-"+i+" rect").attr("width",E).attr("height",S),A.attr("clip-path",h?"url(#nv-chart-clip-path-"+i+")":"");var O=N.select(".nv-bars").selectAll(".nv-bar").data(function(e){return e},function(e,t){return u(e,t)});O.exit().remove();var M=O.enter().append("rect").attr("x",0).attr("y",function(t,n){return e.utils.NaNtoZero(o(Math.max(0,a(t,n))))}).attr("height",function(t,n){return e.utils.NaNtoZero(Math.abs(o(a(t,n))-o(0)))}).attr("transform",function(e,t){return"translate("+(s(u(e,t))-E/w[0].values.length*.45)+",0)"}).on("mouseover",function(e,t){if(!b)return;d3.select(this).classed("hover",!0),y.elementMouseover({point:e,series:w[0],pos:[s(u(e,t)),o(a(e,t))],pointIndex:t,seriesIndex:0,e:d3.event})}).on("mouseout",function(e,t){if(!b)return;d3.select(this).classed("hover",!1),y.elementMouseout({point:e,series:w[0],pointIndex:t,seriesIndex:0,e:d3.event})}).on("click",function(e,t){if(!b)return;y.elementClick({value:a(e,t),data:e,index:t,pos:[s(u(e,t)),o(a(e,t))],e:d3.event,id:i}),d3.event.stopPropagation()}).on("dblclick",function(e,t){if(!b)return;y.elementDblClick({value:a(e,t),data:e,index:t,pos:[s(u(e,t)),o(a(e,t))],e:d3.event,id:i}),d3.event.stopPropagation()});O.attr("fill",function(e,t){return p(e,t)}).attr("class",function(e,t,n){return(a(e,t)<0?"nv-bar negative":"nv-bar positive")+" nv-bar-"+n+"-"+t}).transition().attr("transform",function(e,t){return"translate("+(s(u(e,t))-E/w[0].values.length*.45)+",0)"}).attr("width",E/w[0].values.length*.9),O.transition().attr("y",function(t,n){var r=a(t,n)<0?o(0):o(0)-o(a(t,n))<1?o(0)-1:o(a(t,n));return e.utils.NaNtoZero(r)}).attr("height",function(t,n){return e.utils.NaNtoZero(Math.max(Math.abs(o(a(t,n))-o(0)),1))})}),w}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=Math.floor(Math.random()*1e4),s=d3.scale.linear(),o=d3.scale.linear(),u=function(e){return e.x},a=function(e){return e.y},f=[],l=[0],c=!1,h=!0,p=e.utils.defaultColor(),d,v,m,g,y=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout"),b=!0;return w.highlightPoint=function(e,t){d3.select(".nv-historicalBar-"+i).select(".nv-bars .nv-bar-0-"+e).classed("hover",t)},w.clearHighlights=function(){d3.select(".nv-historicalBar-"+i).select(".nv-bars .nv-bar.hover").classed("hover",!1)},w.dispatch=y,w.options=e.utils.optionsFunc.bind(w),w.x=function(e){return arguments.length?(u=e,w):u},w.y=function(e){return arguments.length?(a=e,w):a},w.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,w):t},w.width=function(e){return arguments.length?(n=e,w):n},w.height=function(e){return arguments.length?(r=e,w):r},w.xScale=function(e){return arguments.length?(s=e,w):s},w.yScale=function(e){return arguments.length?(o=e,w):o},w.xDomain=function(e){return arguments.length?(d=e,w):d},w.yDomain=function(e){return arguments.length?(v=e,w):v},w.xRange=function(e){return arguments.length?(m=e,w):m},w.yRange=function(e){return arguments.length?(g=e,w):g},w.forceX=function(e){return arguments.length?(f=e,w):f},w.forceY=function(e){return arguments.length?(l=e,w):l},w.padData=function(e){return arguments.length?(c=e,w):c},w.clipEdge=function(e){return arguments.length?(h=e,w):h},w.color=function(t){return arguments.length?(p=e.utils.getColor(t),w):p},w.id=function(e){return arguments.length?(i=e,w):i},w.interactive=function(e){return arguments.length?(b=!1,w):b},w},e.models.historicalBarChart=function(){"use strict";function x(e){return e.each(function(d){var T=d3.select(this),N=this,C=(u||parseInt(T.style("width"))||960)-s.left-s.right,k=(a||parseInt(T.style("height"))||400)-s.top-s.bottom;x.update=function(){T.transition().duration(E).call(x)},x.container=this,g.disabled=d.map(function(e){return!!e.disabled});if(!y){var L;y={};for(L in g)g[L]instanceof Array?y[L]=g[L].slice(0):y[L]=g[L]}if(!d||!d.length||!d.filter(function(e){return e.values.length}).length){var A=T.selectAll(".nv-noData").data([b]);return A.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),A.attr("x",s.left+C/2).attr("y",s.top+k/2).text(function(e){return e}),x}T.selectAll(".nv-noData").remove(),v=t.xScale(),m=t.yScale();var O=T.selectAll("g.nv-wrap.nv-historicalBarChart").data([d]),M=O.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBarChart").append("g"),_=O.select("g");M.append("g").attr("class","nv-x nv-axis"),M.append("g").attr("class","nv-y nv-axis"),M.append("g").attr("class","nv-barsWrap"),M.append("g").attr("class","nv-legendWrap"),f&&(i.width(C),_.select(".nv-legendWrap").datum(d).call(i),s.top!=i.height()&&(s.top=i.height(),k=(a||parseInt(T.style("height"))||400)-s.top-s.bottom),O.select(".nv-legendWrap").attr("transform","translate(0,"+ -s.top+")")),O.attr("transform","translate("+s.left+","+s.top+")"),h&&_.select(".nv-y.nv-axis").attr("transform","translate("+C+",0)"),t.width(C).height(k).color(d.map(function(e,t){return e.color||o(e,t)}).filter(function(e,t){return!d[t].disabled}));var D=_.select(".nv-barsWrap").datum(d.filter(function(e){return!e.disabled}));D.transition().call(t),l&&(n.scale(v).tickSize(-k,0),_.select(".nv-x.nv-axis").attr("transform","translate(0,"+m.range()[0]+")"),_.select(".nv-x.nv-axis").transition().call(n)),c&&(r.scale(m).ticks(k/36).tickSize(-C,0),_.select(".nv-y.nv-axis").transition().call(r)),i.dispatch.on("legendClick",function(t,n){t.disabled=!t.disabled,d.filter(function(e){return!e.disabled}).length||d.map(function(e){return e.disabled=!1,O.selectAll(".nv-series").classed("disabled",!1),e}),g.disabled=d.map(function(e){return!!e.disabled}),w.stateChange(g),e.transition().call(x)}),i.dispatch.on("legendDblclick",function(e){d.forEach(function(e){e.disabled=!0}),e.disabled=!1,g.disabled=d.map(function(e){return!!e.disabled}),w.stateChange(g),x.update()}),w.on("tooltipShow",function(e){p&&S(e,N.parentNode)}),w.on("changeState",function(e){typeof e.disabled!="undefined"&&(d.forEach(function(t,n){t.disabled=e.disabled[n]}),g.disabled=e.disabled),x.update()})}),x}var t=e.models.historicalBar(),n=e.models.axis(),r=e.models.axis(),i=e.models.legend(),s={top:30,right:90,bottom:50,left:90},o=e.utils.defaultColor(),u=null,a=null,f=!1,l=!0,c=!0,h=!1,p=!0,d=function(e,t,n,r,i){return"<h3>"+e+"</h3>"+"<p>"+n+" at "+t+"</p>"},v,m,g={},y=null,b="No Data Available.",w=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState"),E=250;n.orient("bottom").tickPadding(7),r.orient(h?"right":"left");var S=function(i,s){if(s){var o=d3.select(s).select("svg"),u=o.node()?o.attr("viewBox"):null;if(u){u=u.split(" ");var a=parseInt(o.style("width"))/u[2];i.pos[0]=i.pos[0]*a,i.pos[1]=i.pos[1]*a}}var f=i.pos[0]+(s.offsetLeft||0),l=i.pos[1]+(s.offsetTop||0),c=n.tickFormat()(t.x()(i.point,i.pointIndex)),h=r.tickFormat()(t.y()(i.point,i.pointIndex)),p=d(i.series.key,c,h,i,x);e.tooltip.show([f,l],p,null,null,s)};return t.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+s.left,e.pos[1]+s.top],w.tooltipShow(e)}),t.dispatch.on("elementMouseout.tooltip",function(e){w.tooltipHide(e)}),w.on("tooltipHide",function(){p&&e.tooltip.cleanup()}),x.dispatch=w,x.bars=t,x.legend=i,x.xAxis=n,x.yAxis=r,d3.rebind(x,t,"defined","isArea","x","y","size","xScale","yScale","xDomain","yDomain","xRange","yRange","forceX","forceY","interactive","clipEdge","clipVoronoi","id","interpolate","highlightPoint","clearHighlights","interactive"),x.options=e.utils.optionsFunc.bind(x),x.margin=function(e){return arguments.length?(s.top=typeof e.top!="undefined"?e.top:s.top,s.right=typeof e.right!="undefined"?e.right:s.right,s.bottom=typeof e.bottom!="undefined"?e.bottom:s.bottom,s.left=typeof e.left!="undefined"?e.left:s.left,x):s},x.width=function(e){return arguments.length?(u=e,x):u},x.height=function(e){return arguments.length?(a=e,x):a},x.color=function(t){return arguments.length?(o=e.utils.getColor(t),i.color(o),x):o},x.showLegend=function(e){return arguments.length?(f=e,x):f},x.showXAxis=function(e){return arguments.length?(l=e,x):l},x.showYAxis=function(e){return arguments.length?(c=e,x):c},x.rightAlignYAxis=function(e){return arguments.length?(h=e,r.orient(e?"right":"left"),x):h},x.tooltips=function(e){return arguments.length?(p=e,x):p},x.tooltipContent=function(e){return arguments.length?(d=e,x):d},x.state=function(e){return arguments.length?(g=e,x):g},x.defaultState=function(e){return arguments.length?(y=e,x):y},x.noData=function(e){return arguments.length?(b=e,x):b},x.transitionDuration=function(e){return arguments.length?(E=e,x):E},x},e.models.indentedTree=function(){"use strict";function g(e){return e.each(function(e){function k(e,t,n){d3.event.stopPropagation();if(d3.event.shiftKey&&!n)return d3.event.shiftKey=!1,e.values&&e.values.forEach(function(e){(e.values||e._values)&&k(e,0,!0)}),!0;if(!O(e))return!0;e.values?(e._values=e.values,e.values=null):(e.values=e._values,e._values=null),g.update()}function L(e){return e._values&&e._values.length?h:e.values&&e.values.length?p:""}function A(e){return e._values&&e._values.length}function O(e){var t=e.values||e._values;return t&&t.length}var t=1,n=d3.select(this),i=d3.layout.tree().children(function(e){return e.values}).size([r,f]);g.update=function(){n.transition().duration(600).call(g)},e[0]||(e[0]={key:a});var s=i.nodes(e[0]),y=d3.select(this).selectAll("div").data([[s]]),b=y.enter().append("div").attr("class","nvd3 nv-wrap nv-indentedtree"),w=b.append("table"),E=y.select("table").attr("width","100%").attr("class",c);if(o){var S=w.append("thead"),x=S.append("tr");l.forEach(function(e){x.append("th").attr("width",e.width?e.width:"10%").style("text-align",e.type=="numeric"?"right":"left").append("span").text(e.label)})}var T=E.selectAll("tbody").data(function(e){return e});T.enter().append("tbody"),t=d3.max(s,function(e){return e.depth}),i.size([r,t*f]);var N=T.selectAll("tr").data(function(e){return e.filter(function(e){return u&&!e.children?u(e):!0})},function(e,t){return e.id||e.id||++m});N.exit().remove(),N.select("img.nv-treeicon").attr("src",L).classed("folded",A);var C=N.enter().append("tr");l.forEach(function(e,t){var n=C.append("td").style("padding-left",function(e){return(t?0:e.depth*f+12+(L(e)?0:16))+"px"},"important").style("text-align",e.type=="numeric"?"right":"left");t==0&&n.append("img").classed("nv-treeicon",!0).classed("nv-folded",A).attr("src",L).style("width","14px").style("height","14px").style("padding","0 1px").style("display",function(e){return L(e)?"inline-block":"none"}).on("click",k),n.each(function(n){!t&&v(n)?d3.select(this).append("a").attr("href",v).attr("class",d3.functor(e.classes)).append("span"):d3.select(this).append("span"),d3.select(this).select("span").attr("class",d3.functor(e.classes)).text(function(t){return e.format?e.format(t):t[e.key]||"-"})}),e.showCount&&(n.append("span").attr("class","nv-childrenCount"),N.selectAll("span.nv-childrenCount").text(function(e){return e.values&&e.values.length||e._values&&e._values.length?"("+(e.values&&e.values.filter(function(e){return u?u(e):!0}).length||e._values&&e._values.filter(function(e){return u?u(e):!0}).length||0)+")":""}))}),N.order().on("click",function(e){d.elementClick({row:this,data:e,pos:[e.x,e.y]})}).on("dblclick",function(e){d.elementDblclick({row:this,data:e,pos:[e.x,e.y]})}).on("mouseover",function(e){d.elementMouseover({row:this,data:e,pos:[e.x,e.y]})}).on("mouseout",function(e){d.elementMouseout({row:this,data:e,pos:[e.x,e.y]})})}),g}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=e.utils.defaultColor(),s=Math.floor(Math.random()*1e4),o=!0,u=!1,a="No Data Available.",f=20,l=[{key:"key",label:"Name",type:"text"}],c=null,h="images/grey-plus.png",p="images/grey-minus.png",d=d3.dispatch("elementClick","elementDblclick","elementMouseover","elementMouseout"),v=function(e){return e.url},m=0;return g.options=e.utils.optionsFunc.bind(g),g.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,g):t},g.width=function(e){return arguments.length?(n=e,g):n},g.height=function(e){return arguments.length?(r=e,g):r},g.color=function(t){return arguments.length?(i=e.utils.getColor(t),scatter.color(i),g):i},g.id=function(e){return arguments.length?(s=e,g):s},g.header=function(e){return arguments.length?(o=e,g):o},g.noData=function(e){return arguments.length?(a=e,g):a},g.filterZero=function(e){return arguments.length?(u=e,g):u},g.columns=function(e){return arguments.length?(l=e,g):l},g.tableClass=function(e){return arguments.length?(c=e,g):c},g.iconOpen=function(e){return arguments.length?(h=e,g):h},g.iconClose=function(e){return arguments.length?(p=e,g):p},g.getUrl=function(e){return arguments.length?(v=e,g):v},g},e.models.legend=function(){"use strict";function c(h){return h.each(function(c){var h=n-t.left-t.right,p=d3.select(this),d=p.selectAll("g.nv-legend").data([c]),v=d.enter().append("g").attr("class","nvd3 nv-legend").append("g"),m=d.select("g");d.attr("transform","translate("+t.left+","+t.top+")");var g=m.selectAll(".nv-series").data(function(e){return e}),y=g.enter().append("g").attr("class","nv-series").on("mouseover",function(e,t){l.legendMouseover(e,t)}).on("mouseout",function(e,t){l.legendMouseout(e,t)}).on("click",function(e,t){l.legendClick(e,t),a&&(f?(c.forEach(function(e){e.disabled=!0}),e.disabled=!1):(e.disabled=!e.disabled,c.every(function(e){return e.disabled})&&c.forEach(function(e){e.disabled=!1})),l.stateChange({disabled:c.map(function(e){return!!e.disabled})}))}).on("dblclick",function(e,t){l.legendDblclick(e,t),a&&(c.forEach(function(e){e.disabled=!0}),e.disabled=!1,l.stateChange({disabled:c.map(function(e){return!!e.disabled})}))});y.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),y.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8"),g.classed("disabled",function(e){return e.disabled}),g.exit().remove(),g.select("circle").style("fill",function(e,t){return e.color||s(e,t)}).style("stroke",function(e,t){return e.color||s(e,t)}),g.select("text").text(i);if(o){var b=[];g.each(function(t,n){var r=d3.select(this).select("text"),i;try{i=r.getComputedTextLength();if(i<=0)throw Error()}catch(s){i=e.utils.calcApproxTextWidth(r)}b.push(i+28)});var w=0,E=0,S=[];while(E<h&&w<b.length)S[w]=b[w],E+=b[w++];w===0&&(w=1);while(E>h&&w>1){S=[],w--;for(var x=0;x<b.length;x++)b[x]>(S[x%w]||0)&&(S[x%w]=b[x]);E=S.reduce(function(e,t,n,r){return e+t})}var T=[];for(var N=0,C=0;N<w;N++)T[N]=C,C+=S[N];g.attr("transform",function(e,t){return"translate("+T[t%w]+","+(5+Math.floor(t/w)*20)+")"}),u?m.attr("transform","translate("+(n-t.right-E)+","+t.top+")"):m.attr("transform","translate(0,"+t.top+")"),r=t.top+t.bottom+Math.ceil(b.length/w)*20}else{var k=5,L=5,A=0,O;g.attr("transform",function(e,r){var i=d3.select(this).select("text").node().getComputedTextLength()+28;return O=L,n<t.left+t.right+O+i&&(L=O=5,k+=20),L+=i,L>A&&(A=L),"translate("+O+","+k+")"}),m.attr("transform","translate("+(n-t.right-A)+","+t.top+")"),r=t.top+t.bottom+k+15}}),c}var t={top:5,right:0,bottom:5,left:0},n=400,r=20,i=function(e){return e.key},s=e.utils.defaultColor(),o=!0,u=!0,a=!0,f=!1,l=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange");return c.dispatch=l,c.options=e.utils.optionsFunc.bind(c),c.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,c):t},c.width=function(e){return arguments.length?(n=e,c):n},c.height=function(e){return arguments.length?(r=e,c):r},c.key=function(e){return arguments.length?(i=e,c):i},c.color=function(t){return arguments.length?(s=e.utils.getColor(t),c):s},c.align=function(e){return arguments.length?(o=e,c):o},c.rightAlign=function(e){return arguments.length?(u=e,c):u},c.updateState=function(e){return arguments.length?(a=e,c):a},c.radioButtonMode=function(e){return arguments.length?(f=e,c):f},c},e.models.line=function(){"use strict";function m(g){return g.each(function(m){var g=r-n.left-n.right,b=i-n.top-n.bottom,w=d3.select(this);c=t.xScale(),h=t.yScale(),d=d||c,v=v||h;var E=w.selectAll("g.nv-wrap.nv-line").data([m]),S=E.enter().append("g").attr("class","nvd3 nv-wrap nv-line"),T=S.append("defs"),N=S.append("g"),C=E.select("g");N.append("g").attr("class","nv-groups"),N.append("g").attr("class","nv-scatterWrap"),E.attr("transform","translate("+n.left+","+n.top+")"),t.width(g).height(b);var k=E.select(".nv-scatterWrap");k.transition().call(t),T.append("clipPath").attr("id","nv-edge-clip-"+t.id()).append("rect"),E.select("#nv-edge-clip-"+t.id()+" rect").attr("width",g).attr("height",b),C.attr("clip-path",l?"url(#nv-edge-clip-"+t.id()+")":""),k.attr("clip-path",l?"url(#nv-edge-clip-"+t.id()+")":"");var L=E.select(".nv-groups").selectAll(".nv-group").data(function(e){return e},function(e){return e.key});L.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),L.exit().remove(),L.attr("class",function(e,t){return"nv-group nv-series-"+t}).classed("hover",function(e){return e.hover}).style("fill",function(e,t){return s(e,t)}).style("stroke",function(e,t){return s(e,t)}),L.transition().style("stroke-opacity",1).style("fill-opacity",.5);var A=L.selectAll("path.nv-area").data(function(e){return f(e)?[e]:[]});A.enter().append("path").attr("class","nv-area").attr("d",function(t){return d3.svg.area().interpolate(p).defined(a).x(function(t,n){return e.
-utils.NaNtoZero(d(o(t,n)))}).y0(function(t,n){return e.utils.NaNtoZero(v(u(t,n)))}).y1(function(e,t){return v(h.domain()[0]<=0?h.domain()[1]>=0?0:h.domain()[1]:h.domain()[0])}).apply(this,[t.values])}),L.exit().selectAll("path.nv-area").remove(),A.transition().attr("d",function(t){return d3.svg.area().interpolate(p).defined(a).x(function(t,n){return e.utils.NaNtoZero(c(o(t,n)))}).y0(function(t,n){return e.utils.NaNtoZero(h(u(t,n)))}).y1(function(e,t){return h(h.domain()[0]<=0?h.domain()[1]>=0?0:h.domain()[1]:h.domain()[0])}).apply(this,[t.values])});var O=L.selectAll("path.nv-line").data(function(e){return[e.values]});O.enter().append("path").attr("class","nv-line").attr("d",d3.svg.line().interpolate(p).defined(a).x(function(t,n){return e.utils.NaNtoZero(d(o(t,n)))}).y(function(t,n){return e.utils.NaNtoZero(v(u(t,n)))})),O.transition().attr("d",d3.svg.line().interpolate(p).defined(a).x(function(t,n){return e.utils.NaNtoZero(c(o(t,n)))}).y(function(t,n){return e.utils.NaNtoZero(h(u(t,n)))})),d=c.copy(),v=h.copy()}),m}var t=e.models.scatter(),n={top:0,right:0,bottom:0,left:0},r=960,i=500,s=e.utils.defaultColor(),o=function(e){return e.x},u=function(e){return e.y},a=function(e,t){return!isNaN(u(e,t))&&u(e,t)!==null},f=function(e){return e.area},l=!1,c,h,p="linear";t.size(16).sizeDomain([16,256]);var d,v;return m.dispatch=t.dispatch,m.scatter=t,d3.rebind(m,t,"id","interactive","size","xScale","yScale","zScale","xDomain","yDomain","xRange","yRange","sizeDomain","forceX","forceY","forceSize","clipVoronoi","useVoronoi","clipRadius","padData","highlightPoint","clearHighlights"),m.options=e.utils.optionsFunc.bind(m),m.margin=function(e){return arguments.length?(n.top=typeof e.top!="undefined"?e.top:n.top,n.right=typeof e.right!="undefined"?e.right:n.right,n.bottom=typeof e.bottom!="undefined"?e.bottom:n.bottom,n.left=typeof e.left!="undefined"?e.left:n.left,m):n},m.width=function(e){return arguments.length?(r=e,m):r},m.height=function(e){return arguments.length?(i=e,m):i},m.x=function(e){return arguments.length?(o=e,t.x(e),m):o},m.y=function(e){return arguments.length?(u=e,t.y(e),m):u},m.clipEdge=function(e){return arguments.length?(l=e,m):l},m.color=function(n){return arguments.length?(s=e.utils.getColor(n),t.color(s),m):s},m.interpolate=function(e){return arguments.length?(p=e,m):p},m.defined=function(e){return arguments.length?(a=e,m):a},m.isArea=function(e){return arguments.length?(f=d3.functor(e),m):f},m},e.models.lineChart=function(){"use strict";function N(m){return m.each(function(m){var C=d3.select(this),k=this,L=(a||parseInt(C.style("width"))||960)-o.left-o.right,A=(f||parseInt(C.style("height"))||400)-o.top-o.bottom;N.update=function(){C.transition().duration(x).call(N)},N.container=this,b.disabled=m.map(function(e){return!!e.disabled});if(!w){var O;w={};for(O in b)b[O]instanceof Array?w[O]=b[O].slice(0):w[O]=b[O]}if(!m||!m.length||!m.filter(function(e){return e.values.length}).length){var M=C.selectAll(".nv-noData").data([E]);return M.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),M.attr("x",o.left+L/2).attr("y",o.top+A/2).text(function(e){return e}),N}C.selectAll(".nv-noData").remove(),g=t.xScale(),y=t.yScale();var _=C.selectAll("g.nv-wrap.nv-lineChart").data([m]),D=_.enter().append("g").attr("class","nvd3 nv-wrap nv-lineChart").append("g"),P=_.select("g");D.append("rect").style("opacity",0),D.append("g").attr("class","nv-x nv-axis"),D.append("g").attr("class","nv-y nv-axis"),D.append("g").attr("class","nv-linesWrap"),D.append("g").attr("class","nv-legendWrap"),D.append("g").attr("class","nv-interactive"),P.select("rect").attr("width",L).attr("height",A>0?A:0),l&&(i.width(L),P.select(".nv-legendWrap").datum(m).call(i),o.top!=i.height()&&(o.top=i.height(),A=(f||parseInt(C.style("height"))||400)-o.top-o.bottom),_.select(".nv-legendWrap").attr("transform","translate(0,"+ -o.top+")")),_.attr("transform","translate("+o.left+","+o.top+")"),p&&P.select(".nv-y.nv-axis").attr("transform","translate("+L+",0)"),d&&(s.width(L).height(A).margin({left:o.left,top:o.top}).svgContainer(C).xScale(g),_.select(".nv-interactive").call(s)),t.width(L).height(A).color(m.map(function(e,t){return e.color||u(e,t)}).filter(function(e,t){return!m[t].disabled}));var H=P.select(".nv-linesWrap").datum(m.filter(function(e){return!e.disabled}));H.transition().call(t),c&&(n.scale(g).ticks(L/100).tickSize(-A,0),P.select(".nv-x.nv-axis").attr("transform","translate(0,"+y.range()[0]+")"),P.select(".nv-x.nv-axis").transition().call(n)),h&&(r.scale(y).ticks(A/36).tickSize(-L,0),P.select(".nv-y.nv-axis").transition().call(r)),i.dispatch.on("stateChange",function(e){b=e,S.stateChange(b),N.update()}),s.dispatch.on("elementMousemove",function(i){t.clearHighlights();var a,f,l,c=[];m.filter(function(e,t){return e.seriesIndex=t,!e.disabled}).forEach(function(n,r){f=e.interactiveBisect(n.values,i.pointXValue,N.x()),t.highlightPoint(r,f,!0);var s=n.values[f];if(typeof s=="undefined")return;typeof a=="undefined"&&(a=s),typeof l=="undefined"&&(l=N.xScale()(N.x()(s,f))),c.push({key:n.key,value:N.y()(s,f),color:u(n,n.seriesIndex)})});if(c.length>2){var h=N.yScale().invert(i.mouseY),p=Math.abs(N.yScale().domain()[0]-N.yScale().domain()[1]),d=.03*p,g=e.nearestValueIndex(c.map(function(e){return e.value}),h,d);g!==null&&(c[g].highlight=!0)}var y=n.tickFormat()(N.x()(a,f));s.tooltip.position({left:l+o.left,top:i.mouseY+o.top}).chartContainer(k.parentNode).enabled(v).valueFormatter(function(e,t){return r.tickFormat()(e)}).data({value:y,series:c})(),s.renderGuideLine(l)}),s.dispatch.on("elementMouseout",function(e){S.tooltipHide(),t.clearHighlights()}),S.on("tooltipShow",function(e){v&&T(e,k.parentNode)}),S.on("changeState",function(e){typeof e.disabled!="undefined"&&m.length===e.disabled.length&&(m.forEach(function(t,n){t.disabled=e.disabled[n]}),b.disabled=e.disabled),N.update()})}),N}var t=e.models.line(),n=e.models.axis(),r=e.models.axis(),i=e.models.legend(),s=e.interactiveGuideline(),o={top:30,right:20,bottom:50,left:60},u=e.utils.defaultColor(),a=null,f=null,l=!0,c=!0,h=!0,p=!1,d=!1,v=!0,m=function(e,t,n,r,i){return"<h3>"+e+"</h3>"+"<p>"+n+" at "+t+"</p>"},g,y,b={},w=null,E="No Data Available.",S=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState"),x=250;n.orient("bottom").tickPadding(7),r.orient(p?"right":"left");var T=function(i,s){var o=i.pos[0]+(s.offsetLeft||0),u=i.pos[1]+(s.offsetTop||0),a=n.tickFormat()(t.x()(i.point,i.pointIndex)),f=r.tickFormat()(t.y()(i.point,i.pointIndex)),l=m(i.series.key,a,f,i,N);e.tooltip.show([o,u],l,null,null,s)};return t.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+o.left,e.pos[1]+o.top],S.tooltipShow(e)}),t.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),S.on("tooltipHide",function(){v&&e.tooltip.cleanup()}),N.dispatch=S,N.lines=t,N.legend=i,N.xAxis=n,N.yAxis=r,N.interactiveLayer=s,d3.rebind(N,t,"defined","isArea","x","y","size","xScale","yScale","xDomain","yDomain","xRange","yRange","forceX","forceY","interactive","clipEdge","clipVoronoi","useVoronoi","id","interpolate"),N.options=e.utils.optionsFunc.bind(N),N.margin=function(e){return arguments.length?(o.top=typeof e.top!="undefined"?e.top:o.top,o.right=typeof e.right!="undefined"?e.right:o.right,o.bottom=typeof e.bottom!="undefined"?e.bottom:o.bottom,o.left=typeof e.left!="undefined"?e.left:o.left,N):o},N.width=function(e){return arguments.length?(a=e,N):a},N.height=function(e){return arguments.length?(f=e,N):f},N.color=function(t){return arguments.length?(u=e.utils.getColor(t),i.color(u),N):u},N.showLegend=function(e){return arguments.length?(l=e,N):l},N.showXAxis=function(e){return arguments.length?(c=e,N):c},N.showYAxis=function(e){return arguments.length?(h=e,N):h},N.rightAlignYAxis=function(e){return arguments.length?(p=e,r.orient(e?"right":"left"),N):p},N.useInteractiveGuideline=function(e){return arguments.length?(d=e,e===!0&&(N.interactive(!1),N.useVoronoi(!1)),N):d},N.tooltips=function(e){return arguments.length?(v=e,N):v},N.tooltipContent=function(e){return arguments.length?(m=e,N):m},N.state=function(e){return arguments.length?(b=e,N):b},N.defaultState=function(e){return arguments.length?(w=e,N):w},N.noData=function(e){return arguments.length?(E=e,N):E},N.transitionDuration=function(e){return arguments.length?(x=e,N):x},N},e.models.linePlusBarChart=function(){"use strict";function T(e){return e.each(function(e){var l=d3.select(this),c=this,v=(a||parseInt(l.style("width"))||960)-u.left-u.right,N=(f||parseInt(l.style("height"))||400)-u.top-u.bottom;T.update=function(){l.transition().call(T)},b.disabled=e.map(function(e){return!!e.disabled});if(!w){var C;w={};for(C in b)b[C]instanceof Array?w[C]=b[C].slice(0):w[C]=b[C]}if(!e||!e.length||!e.filter(function(e){return e.values.length}).length){var k=l.selectAll(".nv-noData").data([E]);return k.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),k.attr("x",u.left+v/2).attr("y",u.top+N/2).text(function(e){return e}),T}l.selectAll(".nv-noData").remove();var L=e.filter(function(e){return!e.disabled&&e.bar}),A=e.filter(function(e){return!e.bar});m=A.filter(function(e){return!e.disabled}).length&&A.filter(function(e){return!e.disabled})[0].values.length?t.xScale():n.xScale(),g=n.yScale(),y=t.yScale();var O=d3.select(this).selectAll("g.nv-wrap.nv-linePlusBar").data([e]),M=O.enter().append("g").attr("class","nvd3 nv-wrap nv-linePlusBar").append("g"),_=O.select("g");M.append("g").attr("class","nv-x nv-axis"),M.append("g").attr("class","nv-y1 nv-axis"),M.append("g").attr("class","nv-y2 nv-axis"),M.append("g").attr("class","nv-barsWrap"),M.append("g").attr("class","nv-linesWrap"),M.append("g").attr("class","nv-legendWrap"),p&&(o.width(v/2),_.select(".nv-legendWrap").datum(e.map(function(e){return e.originalKey=e.originalKey===undefined?e.key:e.originalKey,e.key=e.originalKey+(e.bar?" (left axis)":" (right axis)"),e})).call(o),u.top!=o.height()&&(u.top=o.height(),N=(f||parseInt(l.style("height"))||400)-u.top-u.bottom),_.select(".nv-legendWrap").attr("transform","translate("+v/2+","+ -u.top+")")),O.attr("transform","translate("+u.left+","+u.top+")"),t.width(v).height(N).color(e.map(function(e,t){return e.color||h(e,t)}).filter(function(t,n){return!e[n].disabled&&!e[n].bar})),n.width(v).height(N).color(e.map(function(e,t){return e.color||h(e,t)}).filter(function(t,n){return!e[n].disabled&&e[n].bar}));var D=_.select(".nv-barsWrap").datum(L.length?L:[{values:[]}]),P=_.select(".nv-linesWrap").datum(A[0]&&!A[0].disabled?A:[{values:[]}]);d3.transition(D).call(n),d3.transition(P).call(t),r.scale(m).ticks(v/100).tickSize(-N,0),_.select(".nv-x.nv-axis").attr("transform","translate(0,"+g.range()[0]+")"),d3.transition(_.select(".nv-x.nv-axis")).call(r),i.scale(g).ticks(N/36).tickSize(-v,0),d3.transition(_.select(".nv-y1.nv-axis")).style("opacity",L.length?1:0).call(i),s.scale(y).ticks(N/36).tickSize(L.length?0:-v,0),_.select(".nv-y2.nv-axis").style("opacity",A.length?1:0).attr("transform","translate("+v+",0)"),d3.transition(_.select(".nv-y2.nv-axis")).call(s),o.dispatch.on("stateChange",function(e){b=e,S.stateChange(b),T.update()}),S.on("tooltipShow",function(e){d&&x(e,c.parentNode)}),S.on("changeState",function(t){typeof t.disabled!="undefined"&&(e.forEach(function(e,n){e.disabled=t.disabled[n]}),b.disabled=t.disabled),T.update()})}),T}var t=e.models.line(),n=e.models.historicalBar(),r=e.models.axis(),i=e.models.axis(),s=e.models.axis(),o=e.models.legend(),u={top:30,right:60,bottom:50,left:60},a=null,f=null,l=function(e){return e.x},c=function(e){return e.y},h=e.utils.defaultColor(),p=!0,d=!0,v=function(e,t,n,r,i){return"<h3>"+e+"</h3>"+"<p>"+n+" at "+t+"</p>"},m,g,y,b={},w=null,E="No Data Available.",S=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState");n.padData(!0),t.clipEdge(!1).padData(!0),r.orient("bottom").tickPadding(7).highlightZero(!1),i.orient("left"),s.orient("right");var x=function(n,o){var u=n.pos[0]+(o.offsetLeft||0),a=n.pos[1]+(o.offsetTop||0),f=r.tickFormat()(t.x()(n.point,n.pointIndex)),l=(n.series.bar?i:s).tickFormat()(t.y()(n.point,n.pointIndex)),c=v(n.series.key,f,l,n,T);e.tooltip.show([u,a],c,n.value<0?"n":"s",null,o)};return t.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+u.left,e.pos[1]+u.top],S.tooltipShow(e)}),t.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),n.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+u.left,e.pos[1]+u.top],S.tooltipShow(e)}),n.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),S.on("tooltipHide",function(){d&&e.tooltip.cleanup()}),T.dispatch=S,T.legend=o,T.lines=t,T.bars=n,T.xAxis=r,T.y1Axis=i,T.y2Axis=s,d3.rebind(T,t,"defined","size","clipVoronoi","interpolate"),T.options=e.utils.optionsFunc.bind(T),T.x=function(e){return arguments.length?(l=e,t.x(e),n.x(e),T):l},T.y=function(e){return arguments.length?(c=e,t.y(e),n.y(e),T):c},T.margin=function(e){return arguments.length?(u.top=typeof e.top!="undefined"?e.top:u.top,u.right=typeof e.right!="undefined"?e.right:u.right,u.bottom=typeof e.bottom!="undefined"?e.bottom:u.bottom,u.left=typeof e.left!="undefined"?e.left:u.left,T):u},T.width=function(e){return arguments.length?(a=e,T):a},T.height=function(e){return arguments.length?(f=e,T):f},T.color=function(t){return arguments.length?(h=e.utils.getColor(t),o.color(h),T):h},T.showLegend=function(e){return arguments.length?(p=e,T):p},T.tooltips=function(e){return arguments.length?(d=e,T):d},T.tooltipContent=function(e){return arguments.length?(v=e,T):v},T.state=function(e){return arguments.length?(b=e,T):b},T.defaultState=function(e){return arguments.length?(w=e,T):w},T.noData=function(e){return arguments.length?(E=e,T):E},T},e.models.lineWithFocusChart=function(){"use strict";function k(e){return e.each(function(e){function U(e){var t=+(e=="e"),n=t?1:-1,r=M/3;return"M"+.5*n+","+r+"A6,6 0 0 "+t+" "+6.5*n+","+(r+6)+"V"+(2*r-6)+"A6,6 0 0 "+t+" "+.5*n+","+2*r+"Z"+"M"+2.5*n+","+(r+8)+"V"+(2*r-8)+"M"+4.5*n+","+(r+8)+"V"+(2*r-8)}function z(){a.empty()||a.extent(w),I.data([a.empty()?g.domain():w]).each(function(e,t){var n=g(e[0])-v.range()[0],r=v.range()[1]-g(e[1]);d3.select(this).select(".left").attr("width",n<0?0:n),d3.select(this).select(".right").attr("x",g(e[1])).attr("width",r<0?0:r)})}function W(){w=a.empty()?null:a.extent();var n=a.empty()?g.domain():a.extent();if(Math.abs(n[0]-n[1])<=1)return;T.brush({extent:n,brush:a}),z();var s=H.select(".nv-focus .nv-linesWrap").datum(e.filter(function(e){return!e.disabled}).map(function(e,r){return{key:e.key,values:e.values.filter(function(e,r){return t.x()(e,r)>=n[0]&&t.x()(e,r)<=n[1]})}}));s.transition().duration(N).call(t),H.select(".nv-focus .nv-x.nv-axis").transition().duration(N).call(r),H.select(".nv-focus .nv-y.nv-axis").transition().duration(N).call(i)}var S=d3.select(this),L=this,A=(h||parseInt(S.style("width"))||960)-f.left-f.right,O=(p||parseInt(S.style("height"))||400)-f.top-f.bottom-d,M=d-l.top-l.bottom;k.update=function(){S.transition().duration(N).call(k)},k.container=this;if(!e||!e.length||!e.filter(function(e){return e.values.length}).length){var _=S.selectAll(".nv-noData").data([x]);return _.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),_.attr("x",f.left+A/2).attr("y",f.top+O/2).text(function(e){return e}),k}S.selectAll(".nv-noData").remove(),v=t.xScale(),m=t.yScale(),g=n.xScale(),y=n.yScale();var D=S.selectAll("g.nv-wrap.nv-lineWithFocusChart").data([e]),P=D.enter().append("g").attr("class","nvd3 nv-wrap nv-lineWithFocusChart").append("g"),H=D.select("g");P.append("g").attr("class","nv-legendWrap");var B=P.append("g").attr("class","nv-focus");B.append("g").attr("class","nv-x nv-axis"),B.append("g").attr("class","nv-y nv-axis"),B.append("g").attr("class","nv-linesWrap");var j=P.append("g").attr("class","nv-context");j.append("g").attr("class","nv-x nv-axis"),j.append("g").attr("class","nv-y nv-axis"),j.append("g").attr("class","nv-linesWrap"),j.append("g").attr("class","nv-brushBackground"),j.append("g").attr("class","nv-x nv-brush"),b&&(u.width(A),H.select(".nv-legendWrap").datum(e).call(u),f.top!=u.height()&&(f.top=u.height(),O=(p||parseInt(S.style("height"))||400)-f.top-f.bottom-d),H.select(".nv-legendWrap").attr("transform","translate(0,"+ -f.top+")")),D.attr("transform","translate("+f.left+","+f.top+")"),t.width(A).height(O).color(e.map(function(e,t){return e.color||c(e,t)}).filter(function(t,n){return!e[n].disabled})),n.defined(t.defined()).width(A).height(M).color(e.map(function(e,t){return e.color||c(e,t)}).filter(function(t,n){return!e[n].disabled})),H.select(".nv-context").attr("transform","translate(0,"+(O+f.bottom+l.top)+")");var F=H.select(".nv-context .nv-linesWrap").datum(e.filter(function(e){return!e.disabled}));d3.transition(F).call(n),r.scale(v).ticks(A/100).tickSize(-O,0),i.scale(m).ticks(O/36).tickSize(-A,0),H.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+O+")"),a.x(g).on("brush",function(){var e=k.transitionDuration();k.transitionDuration(0),W(),k.transitionDuration(e)}),w&&a.extent(w);var I=H.select(".nv-brushBackground").selectAll("g").data([w||a.extent()]),q=I.enter().append("g");q.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",M),q.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",M);var R=H.select(".nv-x.nv-brush").call(a);R.selectAll("rect").attr("height",M),R.selectAll(".resize").append("path").attr("d",U),W(),s.scale(g).ticks(A/100).tickSize(-M,0),H.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+y.range()[0]+")"),d3.transition(H.select(".nv-context .nv-x.nv-axis")).call(s),o.scale(y).ticks(M/36).tickSize(-A,0),d3.transition(H.select(".nv-context .nv-y.nv-axis")).call(o),H.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+y.range()[0]+")"),u.dispatch.on("stateChange",function(e){k.update()}),T.on("tooltipShow",function(e){E&&C(e,L.parentNode)})}),k}var t=e.models.line(),n=e.models.line(),r=e.models.axis(),i=e.models.axis(),s=e.models.axis(),o=e.models.axis(),u=e.models.legend(),a=d3.svg.brush(),f={top:30,right:30,bottom:30,left:60},l={top:0,right:30,bottom:20,left:60},c=e.utils.defaultColor(),h=null,p=null,d=100,v,m,g,y,b=!0,w=null,E=!0,S=function(e,t,n,r,i){return"<h3>"+e+"</h3>"+"<p>"+n+" at "+t+"</p>"},x="No Data Available.",T=d3.dispatch("tooltipShow","tooltipHide","brush"),N=250;t.clipEdge(!0),n.interactive(!1),r.orient("bottom").tickPadding(5),i.orient("left"),s.orient("bottom").tickPadding(5),o.orient("left");var C=function(n,s){var o=n.pos[0]+(s.offsetLeft||0),u=n.pos[1]+(s.offsetTop||0),a=r.tickFormat()(t.x()(n.point,n.pointIndex)),f=i.tickFormat()(t.y()(n.point,n.pointIndex)),l=S(n.series.key,a,f,n,k);e.tooltip.show([o,u],l,null,null,s)};return t.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+f.left,e.pos[1]+f.top],T.tooltipShow(e)}),t.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e)}),T.on("tooltipHide",function(){E&&e.tooltip.cleanup()}),k.dispatch=T,k.legend=u,k.lines=t,k.lines2=n,k.xAxis=r,k.yAxis=i,k.x2Axis=s,k.y2Axis=o,d3.rebind(k,t,"defined","isArea","size","xDomain","yDomain","xRange","yRange","forceX","forceY","interactive","clipEdge","clipVoronoi","id"),k.options=e.utils.optionsFunc.bind(k),k.x=function(e){return arguments.length?(t.x(e),n.x(e),k):t.x},k.y=function(e){return arguments.length?(t.y(e),n.y(e),k):t.y},k.margin=function(e){return arguments.length?(f.top=typeof e.top!="undefined"?e.top:f.top,f.right=typeof e.right!="undefined"?e.right:f.right,f.bottom=typeof e.bottom!="undefined"?e.bottom:f.bottom,f.left=typeof e.left!="undefined"?e.left:f.left,k):f},k.margin2=function(e){return arguments.length?(l=e,k):l},k.width=function(e){return arguments.length?(h=e,k):h},k.height=function(e){return arguments.length?(p=e,k):p},k.height2=function(e){return arguments.length?(d=e,k):d},k.color=function(t){return arguments.length?(c=e.utils.getColor(t),u.color(c),k):c},k.showLegend=function(e){return arguments.length?(b=e,k):b},k.tooltips=function(e){return arguments.length?(E=e,k):E},k.tooltipContent=function(e){return arguments.length?(S=e,k):S},k.interpolate=function(e){return arguments.length?(t.interpolate(e),n.interpolate(e),k):t.interpolate()},k.noData=function(e){return arguments.length?(x=e,k):x},k.xTickFormat=function(e){return arguments.length?(r.tickFormat(e),s.tickFormat(e),k):r.tickFormat()},k.yTickFormat=function(e){return arguments.length?(i.tickFormat(e),o.tickFormat(e),k):i.tickFormat()},k.brushExtent=function(e){return arguments.length?(w=e,k):w},k.transitionDuration=function(e){return arguments.length?(N=e,k):N},k},e.models.linePlusBarWithFocusChart=function(){"use strict";function B(e){return e.each(function(e){function nt(e){var t=+(e=="e"),n=t?1:-1,r=q/3;return"M"+.5*n+","+r+"A6,6 0 0 "+t+" "+6.5*n+","+(r+6)+"V"+(2*r-6)+"A6,6 0 0 "+t+" "+.5*n+","+2*r+"Z"+"M"+2.5*n+","+(r+8)+"V"+(2*r-8)+"M"+4.5*n+","+(r+8)+"V"+(2*r-8)}function rt(){h.empty()||h.extent(x),Z.data([h.empty()?k.domain():x]).each(function(e,t){var n=k(e[0])-k.range()[0],r=k.range()[1]-k(e[1]);d3.select(this).select(".left").attr("width",n<0?0:n),d3.select(this).select(".right").attr("x",k(e[1])).attr("width",r<0?0:r)})}function it(){x=h.empty()?null:h.extent(),S=h.empty()?k.domain():h.extent(),D.brush({extent:S,brush:h}),rt(),r.width(F).height(I).color(e.map(function(e,t){return e.color||w(e,t)}).filter(function(t,n){return!e[n].disabled&&e[n].bar})),t.width(F).height(I).color(e.map(function(e,t){return e.color||w(e,t)}).filter(function(t,n){return!e[n].disabled&&!e[n].bar}));var n=J.select(".nv-focus .nv-barsWrap").datum(U.length?U.map(function(e,t){return{key:e.key,values:e.values.filter(function(e,t){return r.x()(e,t)>=S[0]&&r.x()(e,t)<=S[1]})}}):[{values:[]}]),i=J.select(".nv-focus .nv-linesWrap").datum(z[0].disabled?[{values:[]}]:z.map(function(e,n){return{key:e.key,values:e.values.filter(function(e,n){return t.x()(e,n)>=S[0]&&t.x()(e,n)<=S[1]})}}));U.length?C=r.xScale():C=t.xScale(),s.scale(C).ticks(F/100).tickSize(-I,0),s.domain([Math.ceil(S[0]),Math.floor(S[1])]),J.select(".nv-x.nv-axis").transition().duration(P).call(s),n.transition().duration(P).call(r),i.transition().duration(P).call(t),J.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+L.range()[0]+")"),u.scale(L).ticks(I/36).tickSize(-F,0),J.select(".nv-focus .nv-y1.nv-axis").style("opacity",U.length?1:0),a.scale(A).ticks(I/36).tickSize(U.length?0:-F,0),J.select(".nv-focus .nv-y2.nv-axis").style("opacity",z.length?1:0).attr("transform","translate("+C.range()[1]+",0)"),J.select(".nv-focus .nv-y1.nv-axis").transition().duration(P).call(u),J.select(".nv-focus .nv-y2.nv-axis").transition().duration(P).call(a)}var N=d3.select(this),j=this,F=(v||parseInt(N.style("width"))||960)-p.left-p.right,I=(m||parseInt(N.style("height"))||400)-p.top-p.bottom-g,q=g-d.top-d.bottom;B.update=function(){N.transition().duration(P).call(B)},B.container=this;if(!e||!e.length||!e.filter(function(e){return e.values.length}).length){var R=N.selectAll(".nv-noData").data([_]);return R.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),R.attr("x",p.left+F/2).attr("y",p.top+I/2).text(function(e){return e}),B}N.selectAll(".nv-noData").remove();var U=e.filter(function(e){return!e.disabled&&e.bar}),z=e.filter(function(e){return!e.bar});C=r.xScale(),k=o.scale(),L=r.yScale(),A=t.yScale(),O=i.yScale(),M=n.yScale();var W=e.filter(function(e){return!e.disabled&&e.bar}).map(function(e){return e.values.map(function(e,t){return{x:y(e,t),y:b(e,t)}})}),X=e.filter(function(e){return!e.disabled&&!e.bar}).map(function(e){return e.values.map(function(e,t){return{x:y(e,t),y:b(e,t)}})});C.range([0,F]),k.domain(d3.extent(d3.merge(W.concat(X)),function(e){return e.x})).range([0,F]);var V=N.selectAll("g.nv-wrap.nv-linePlusBar").data([e]),$=V.enter().append("g").attr("class","nvd3 nv-wrap nv-linePlusBar").append("g"),J=V.select("g");$.append("g").attr("class","nv-legendWrap");var K=$.append("g").attr("class","nv-focus");K.append("g").attr("class","nv-x nv-axis"),K.append("g").attr("class","nv-y1 nv-axis"),K.append("g").attr("class","nv-y2 nv-axis"),K.append("g").attr("class","nv-barsWrap"),K.append("g").attr("class","nv-linesWrap");var Q=$.append("g").attr("class","nv-context");Q.append("g").attr("class","nv-x nv-axis"),Q.append("g").attr("class","nv-y1 nv-axis"),Q.append("g").attr("class","nv-y2 nv-axis"),Q.append("g").attr("class","nv-barsWrap"),Q.append("g").attr("class","nv-linesWrap"),Q.append("g").attr("class","nv-brushBackground"),Q.append("g").attr("class","nv-x nv-brush"),E&&(c.width(F/2),J.select(".nv-legendWrap").datum(e.map(function(e){return e.originalKey=e.originalKey===undefined?e.key:e.originalKey,e.key=e.originalKey+(e.bar?" (left axis)":" (right axis)"),e})).call(c),p.top!=c.height()&&(p.top=c.height(),I=(m||parseInt(N.style("height"))||400)-p.top-p.bottom-g),J.select(".nv-legendWrap").attr("transform","translate("+F/2+","+ -p.top+")")),V.attr("transform","translate("+p.left+","+p.top+")"),i.width(F).height(q).color(e.map(function(e,t){return e.color||w(e,t)}).filter(function(t,n){return!e[n].disabled&&e[n].bar})),n.width(F).height(q).color(e.map(function(e,t){return e.color||w(e,t)}).filter(function(t,n){return!e[n].disabled&&!e[n].bar}));var G=J.select(".nv-context .nv-barsWrap").datum(U.length?U:[{values:[]}]),Y=J.select(".nv-context .nv-linesWrap").datum(z[0].disabled?[{values:[]}]:z);J.select(".nv-context").attr("transform","translate(0,"+(I+p.bottom+d.top)+")"),G.transition().call(i),Y.transition().call(n),h.x(k).on("brush",it),x&&h.extent(x);var Z=J.select(".nv-brushBackground").selectAll("g").data([x||h.extent()]),et=Z.enter().append("g");et.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",q),et.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",q);var tt=J.select(".nv-x.nv-brush").call(h);tt.selectAll("rect").attr("height",q),tt.selectAll(".resize").append("path").attr("d",nt),o.ticks(F/100).tickSize(-q,0),J.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+O.range()[0]+")"),J.select(".nv-context .nv-x.nv-axis").transition().call(o),f.scale(O).ticks(q/36).tickSize(-F,0),J.select(".nv-context .nv-y1.nv-axis").style("opacity",U.length?1:0).attr("transform","translate(0,"+k.range()[0]+")"),J.select(".nv-context .nv-y1.nv-axis").transition().call(f),l.scale(M).ticks(q/36).tickSize(U.length?0:-F,0),J.select(".nv-context .nv-y2.nv-axis").style("opacity",z.length?1:0).attr("transform","translate("+k.range()[1]+",0)"),J.select(".nv-context .nv-y2.nv-axis").transition().call(l),c.dispatch.on("stateChange",function(e){B.update()}),D.on("tooltipShow",function(e){T&&H(e,j.parentNode)}),it()}),B}var t=e.models.line(),n=e.models.line(),r=e.models.historicalBar(),i=e.models.historicalBar(),s=e.models.axis(),o=e.models.axis(),u=e.models.axis(),a=e.models.axis(),f=e.models.axis(),l=e.models.axis(),c=e.models.legend(),h=d3.svg.brush(),p={top:30,right:30,bottom:30,left:60},d={top:0,right:30,bottom:20,left:60},v=null,m=null,g=100,y=function(e){return e.x},b=function(e){return e.y},w=e.utils.defaultColor(),E=!0,S,x=null,T=!0,N=function(e,t,n,r,i){return"<h3>"+e+"</h3>"+"<p>"+n+" at "+t+"</p>"},C,k,L,A,O,M,_="No Data Available.",D=d3.dispatch("tooltipShow","tooltipHide","brush"),P=0;t.clipEdge(!0),n.interactive(!1),s.orient("bottom").tickPadding(5),u.orient("left"),a.orient("right"),o.orient("bottom").tickPadding(5),f.orient("left"),l.orient("right");var H=function(n,r){S&&(n.pointIndex+=Math.ceil(S[0]));var i=n.pos[0]+(r.offsetLeft||0),o=n.pos[1]+(r.offsetTop||0),f=s.tickFormat()(t.x()(n.point,n.pointIndex)),l=(n.series.bar?u:a).tickFormat()(t.y()(n.point,n.pointIndex)),c=N(n.series.key,f,l,n,B);e.tooltip.show([i,o],c,n.value<0?"n":"s",null,r)};return t.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+p.left,e.pos[1]+p.top],D.tooltipShow(e)}),t.dispatch.on("elementMouseout.tooltip",function(e){D.tooltipHide(e)}),r.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+p.left,e.pos[1]+p.top],D.tooltipShow(e)}),r.dispatch.on("elementMouseout.tooltip",function(e){D.tooltipHide(e)}),D.on("tooltipHide",function(){T&&e.tooltip.cleanup()}),B.dispatch=D,B.legend=c,B.lines=t,B.lines2=n,B.bars=r,B.bars2=i,B.xAxis=s,B.x2Axis=o,B.y1Axis=u,B.y2Axis=a,B.y3Axis=f,B.y4Axis=l,d3.rebind(B,t,"defined","size","clipVoronoi","interpolate"),B.options=e.utils.optionsFunc.bind(B),B.x=function(e){return arguments.length?(y=e,t.x(e),r.x(e),B):y},B.y=function(e){return arguments.length?(b=e,t.y(e),r.y(e),B):b},B.margin=function(e){return arguments.length?(p.top=typeof e.top!="undefined"?e.top:p.top,p.right=typeof e.right!="undefined"?e.right:p.right,p.bottom=typeof e.bottom!="undefined"?e.bottom:p.bottom,p.left=typeof e.left!="undefined"?e.left:p.left,B):p},B.width=function(e){return arguments.length?(v=e,B):v},B.height=function(e){return arguments.length?(m=e,B):m},B.color=function(t){return arguments.length?(w=e.utils.getColor(t),c.color(w),B):w},B.showLegend=function(e){return arguments.length?(E=e,B):E},B.tooltips=function(e){return arguments.length?(T=e,B):T},B.tooltipContent=function(e){return arguments.length?(N=e,B):N},B.noData=function(e){return arguments.length?(_=e,B):_},B.brushExtent=function(e){return arguments.length?(x=e,B):x},B},e.models.multiBar=function(){"use strict";function C(e){return e.each(function(e){var C=n-t.left-t.right,k=r-t.top-t.bottom,L=d3.select(this);d&&e.length&&(d=[{values:e[0].values.map(function(e){return{x:e.x,y:0,series:e.series,size:.01}})}]),c&&(e=d3.layout.stack().offset(h).values(function(e){return e.values}).y(a)(!e.length&&d?d:e)),e.forEach(function(e,t){e.values.forEach(function(e){e.series=t})}),c&&e[0].values.map(function(t,n){var r=0,i=0;e.map(function(e){var t=e.values[n];t.size=Math.abs(t.y),t.y<0?(t.y1=i,i-=t.size):(t.y1=t.size+r,r+=t.size)})});var A=y&&b?[]:e.map(function(e){return e.values.map(function(e,t){return{x:u(e,t),y:a(e,t),y0:e.y0,y1:e.y1}})});i.domain(y||d3.merge(A).map(function(e){return e.x})).rangeBands(w||[0,C],S),s.domain(b||d3.extent(d3.merge(A).map(function(e){return c?e.y>0?e.y1:e.y1+e.y:e.y}).concat(f))).range(E||[k,0]),i.domain()[0]===i.domain()[1]&&(i.domain()[0]?i.domain([i.domain()[0]-i.domain()[0]*.01,i.domain()[1]+i.domain()[1]*.01]):i.domain([-1,1])),s.domain()[0]===s.domain()[1]&&(s.domain()[0]?s.domain([s.domain()[0]+s.domain()[0]*.01,s.domain()[1]-s.domain()[1]*.01]):s.domain([-1,1])),T=T||i,N=N||s;var O=L.selectAll("g.nv-wrap.nv-multibar").data([e]),M=O.enter().append("g").attr("class","nvd3 nv-wrap nv-multibar"),_=M.append("defs"),D=M.append("g"),P=O.select("g");D.append("g").attr("class","nv-groups"),O.attr("transform","translate("+t.left+","+t.top+")"),_.append("clipPath").attr("id","nv-edge-clip-"+o).append("rect"),O.select("#nv-edge-clip-"+o+" rect").attr("width",C).attr("height",k),P.attr("clip-path",l?"url(#nv-edge-clip-"+o+")":"");var H=O.select(".nv-groups").selectAll(".nv-group").data(function(e){return e},function(e,t){return t});H.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),H.exit().transition().selectAll("rect.nv-bar").delay(function(t,n){return n*g/e[0].values.length}).attr("y",function(e){return c?N(e.y0):N(0)}).attr("height",0).remove(),H.attr("class",function(e,t){return"nv-group nv-series-"+t}).classed("hover",function(e){return e.hover}).style("fill",function(e,t){return p(e,t)}).style("stroke",function(e,t){return p(e,t)}),H.transition().style("stroke-opacity",1).style("fill-opacity",.75);var B=H.selectAll("rect.nv-bar").data(function(t){return d&&!e.length?d.values:t.values});B.exit().remove();var j=B.enter().append("rect").attr("class",function(e,t){return a(e,t)<0?"nv-bar negative":"nv-bar positive"}).attr("x",function(t,n,r){return c?0:r*i.rangeBand()/e.length}).attr("y",function(e){return N(c?e.y0:0)}).attr("height",0).attr("width",i.rangeBand()/(c?1:e.length)).attr("transform",function(e,t){return"translate("+i(u(e,t))+",0)"});B.style("fill",function(e,t,n){return p(e,n,t)}).style("stroke",function(e,t,n){return p(e,n,t)}).on("mouseover",function(t,n){d3.select(this).classed("hover",!0),x.elementMouseover({value:a(t,n),point:t,series:e[t.series],pos:[i(u(t,n))+i.rangeBand()*(c?e.length/2:t.series+.5)/e.length,s(a(t,n)+(c?t.y0:0))],pointIndex:n,seriesIndex:t.series,e:d3.event})}).on("mouseout",function(t,n){d3.select(this).classed("hover",!1),x.elementMouseout({value:a(t,n),point:t,series:e[t.series],pointIndex:n,seriesIndex:t.series,e:d3.event})}).on("click",function(t,n){x.elementClick({value:a(t,n),point:t,series:e[t.series],pos:[i(u(t,n))+i.rangeBand()*(c?e.length/2:t.series+.5)/e.length
-,s(a(t,n)+(c?t.y0:0))],pointIndex:n,seriesIndex:t.series,e:d3.event}),d3.event.stopPropagation()}).on("dblclick",function(t,n){x.elementDblClick({value:a(t,n),point:t,series:e[t.series],pos:[i(u(t,n))+i.rangeBand()*(c?e.length/2:t.series+.5)/e.length,s(a(t,n)+(c?t.y0:0))],pointIndex:n,seriesIndex:t.series,e:d3.event}),d3.event.stopPropagation()}),B.attr("class",function(e,t){return a(e,t)<0?"nv-bar negative":"nv-bar positive"}).transition().attr("transform",function(e,t){return"translate("+i(u(e,t))+",0)"}),v&&(m||(m=e.map(function(){return!0})),B.style("fill",function(e,t,n){return d3.rgb(v(e,t)).darker(m.map(function(e,t){return t}).filter(function(e,t){return!m[t]})[n]).toString()}).style("stroke",function(e,t,n){return d3.rgb(v(e,t)).darker(m.map(function(e,t){return t}).filter(function(e,t){return!m[t]})[n]).toString()})),c?B.transition().delay(function(t,n){return n*g/e[0].values.length}).attr("y",function(e,t){return s(c?e.y1:0)}).attr("height",function(e,t){return Math.max(Math.abs(s(e.y+(c?e.y0:0))-s(c?e.y0:0)),1)}).attr("x",function(t,n){return c?0:t.series*i.rangeBand()/e.length}).attr("width",i.rangeBand()/(c?1:e.length)):B.transition().delay(function(t,n){return n*g/e[0].values.length}).attr("x",function(t,n){return t.series*i.rangeBand()/e.length}).attr("width",i.rangeBand()/e.length).attr("y",function(e,t){return a(e,t)<0?s(0):s(0)-s(a(e,t))<1?s(0)-1:s(a(e,t))||0}).attr("height",function(e,t){return Math.max(Math.abs(s(a(e,t))-s(0)),1)||0}),T=i.copy(),N=s.copy()}),C}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=d3.scale.ordinal(),s=d3.scale.linear(),o=Math.floor(Math.random()*1e4),u=function(e){return e.x},a=function(e){return e.y},f=[0],l=!0,c=!1,h="zero",p=e.utils.defaultColor(),d=!1,v=null,m,g=1200,y,b,w,E,S=.1,x=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout"),T,N;return C.dispatch=x,C.options=e.utils.optionsFunc.bind(C),C.x=function(e){return arguments.length?(u=e,C):u},C.y=function(e){return arguments.length?(a=e,C):a},C.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,C):t},C.width=function(e){return arguments.length?(n=e,C):n},C.height=function(e){return arguments.length?(r=e,C):r},C.xScale=function(e){return arguments.length?(i=e,C):i},C.yScale=function(e){return arguments.length?(s=e,C):s},C.xDomain=function(e){return arguments.length?(y=e,C):y},C.yDomain=function(e){return arguments.length?(b=e,C):b},C.xRange=function(e){return arguments.length?(w=e,C):w},C.yRange=function(e){return arguments.length?(E=e,C):E},C.forceY=function(e){return arguments.length?(f=e,C):f},C.stacked=function(e){return arguments.length?(c=e,C):c},C.stackOffset=function(e){return arguments.length?(h=e,C):h},C.clipEdge=function(e){return arguments.length?(l=e,C):l},C.color=function(t){return arguments.length?(p=e.utils.getColor(t),C):p},C.barColor=function(t){return arguments.length?(v=e.utils.getColor(t),C):v},C.disabled=function(e){return arguments.length?(m=e,C):m},C.id=function(e){return arguments.length?(o=e,C):o},C.hideable=function(e){return arguments.length?(d=e,C):d},C.delay=function(e){return arguments.length?(g=e,C):g},C.groupSpacing=function(e){return arguments.length?(S=e,C):S},C},e.models.multiBarChart=function(){"use strict";function A(e){return e.each(function(e){var b=d3.select(this),O=this,M=(u||parseInt(b.style("width"))||960)-o.left-o.right,_=(a||parseInt(b.style("height"))||400)-o.top-o.bottom;A.update=function(){b.transition().duration(k).call(A)},A.container=this,S.disabled=e.map(function(e){return!!e.disabled});if(!x){var D;x={};for(D in S)S[D]instanceof Array?x[D]=S[D].slice(0):x[D]=S[D]}if(!e||!e.length||!e.filter(function(e){return e.values.length}).length){var P=b.selectAll(".nv-noData").data([T]);return P.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),P.attr("x",o.left+M/2).attr("y",o.top+_/2).text(function(e){return e}),A}b.selectAll(".nv-noData").remove(),w=t.xScale(),E=t.yScale();var H=b.selectAll("g.nv-wrap.nv-multiBarWithLegend").data([e]),B=H.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarWithLegend").append("g"),j=H.select("g");B.append("g").attr("class","nv-x nv-axis"),B.append("g").attr("class","nv-y nv-axis"),B.append("g").attr("class","nv-barsWrap"),B.append("g").attr("class","nv-legendWrap"),B.append("g").attr("class","nv-controlsWrap"),c&&(i.width(M-C()),t.barColor()&&e.forEach(function(e,t){e.color=d3.rgb("#ccc").darker(t*1.5).toString()}),j.select(".nv-legendWrap").datum(e).call(i),o.top!=i.height()&&(o.top=i.height(),_=(a||parseInt(b.style("height"))||400)-o.top-o.bottom),j.select(".nv-legendWrap").attr("transform","translate("+C()+","+ -o.top+")"));if(l){var F=[{key:"Grouped",disabled:t.stacked()},{key:"Stacked",disabled:!t.stacked()}];s.width(C()).color(["#444","#444","#444"]),j.select(".nv-controlsWrap").datum(F).attr("transform","translate(0,"+ -o.top+")").call(s)}H.attr("transform","translate("+o.left+","+o.top+")"),d&&j.select(".nv-y.nv-axis").attr("transform","translate("+M+",0)"),t.disabled(e.map(function(e){return e.disabled})).width(M).height(_).color(e.map(function(e,t){return e.color||f(e,t)}).filter(function(t,n){return!e[n].disabled}));var I=j.select(".nv-barsWrap").datum(e.filter(function(e){return!e.disabled}));I.transition().call(t);if(h){n.scale(w).ticks(M/100).tickSize(-_,0),j.select(".nv-x.nv-axis").attr("transform","translate(0,"+E.range()[0]+")"),j.select(".nv-x.nv-axis").transition().call(n);var q=j.select(".nv-x.nv-axis > g").selectAll("g");q.selectAll("line, text").style("opacity",1);if(m){var R=function(e,t){return"translate("+e+","+t+")"},U=5,z=17;q.selectAll("text").attr("transform",function(e,t,n){return R(0,n%2==0?U:z)});var W=d3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;j.selectAll(".nv-x.nv-axis .nv-axisMaxMin text").attr("transform",function(e,t){return R(0,t===0||W%2!==0?z:U)})}v&&q.filter(function(t,n){return n%Math.ceil(e[0].values.length/(M/100))!==0}).selectAll("text, line").style("opacity",0),g&&q.selectAll(".tick text").attr("transform","rotate("+g+" 0,0)").style("text-anchor",g>0?"start":"end"),j.select(".nv-x.nv-axis").selectAll("g.nv-axisMaxMin text").style("opacity",1)}p&&(r.scale(E).ticks(_/36).tickSize(-M,0),j.select(".nv-y.nv-axis").transition().call(r)),i.dispatch.on("stateChange",function(e){S=e,N.stateChange(S),A.update()}),s.dispatch.on("legendClick",function(e,n){if(!e.disabled)return;F=F.map(function(e){return e.disabled=!0,e}),e.disabled=!1;switch(e.key){case"Grouped":t.stacked(!1);break;case"Stacked":t.stacked(!0)}S.stacked=t.stacked(),N.stateChange(S),A.update()}),N.on("tooltipShow",function(e){y&&L(e,O.parentNode)}),N.on("changeState",function(n){typeof n.disabled!="undefined"&&(e.forEach(function(e,t){e.disabled=n.disabled[t]}),S.disabled=n.disabled),typeof n.stacked!="undefined"&&(t.stacked(n.stacked),S.stacked=n.stacked),A.update()})}),A}var t=e.models.multiBar(),n=e.models.axis(),r=e.models.axis(),i=e.models.legend(),s=e.models.legend(),o={top:30,right:20,bottom:50,left:60},u=null,a=null,f=e.utils.defaultColor(),l=!0,c=!0,h=!0,p=!0,d=!1,v=!0,m=!1,g=0,y=!0,b=function(e,t,n,r,i){return"<h3>"+e+"</h3>"+"<p>"+n+" on "+t+"</p>"},w,E,S={stacked:!1},x=null,T="No Data Available.",N=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState"),C=function(){return l?180:0},k=250;t.stacked(!1),n.orient("bottom").tickPadding(7).highlightZero(!0).showMaxMin(!1).tickFormat(function(e){return e}),r.orient(d?"right":"left").tickFormat(d3.format(",.1f")),s.updateState(!1);var L=function(i,s){var o=i.pos[0]+(s.offsetLeft||0),u=i.pos[1]+(s.offsetTop||0),a=n.tickFormat()(t.x()(i.point,i.pointIndex)),f=r.tickFormat()(t.y()(i.point,i.pointIndex)),l=b(i.series.key,a,f,i,A);e.tooltip.show([o,u],l,i.value<0?"n":"s",null,s)};return t.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+o.left,e.pos[1]+o.top],N.tooltipShow(e)}),t.dispatch.on("elementMouseout.tooltip",function(e){N.tooltipHide(e)}),N.on("tooltipHide",function(){y&&e.tooltip.cleanup()}),A.dispatch=N,A.multibar=t,A.legend=i,A.xAxis=n,A.yAxis=r,d3.rebind(A,t,"x","y","xDomain","yDomain","xRange","yRange","forceX","forceY","clipEdge","id","stacked","stackOffset","delay","barColor","groupSpacing"),A.options=e.utils.optionsFunc.bind(A),A.margin=function(e){return arguments.length?(o.top=typeof e.top!="undefined"?e.top:o.top,o.right=typeof e.right!="undefined"?e.right:o.right,o.bottom=typeof e.bottom!="undefined"?e.bottom:o.bottom,o.left=typeof e.left!="undefined"?e.left:o.left,A):o},A.width=function(e){return arguments.length?(u=e,A):u},A.height=function(e){return arguments.length?(a=e,A):a},A.color=function(t){return arguments.length?(f=e.utils.getColor(t),i.color(f),A):f},A.showControls=function(e){return arguments.length?(l=e,A):l},A.showLegend=function(e){return arguments.length?(c=e,A):c},A.showXAxis=function(e){return arguments.length?(h=e,A):h},A.showYAxis=function(e){return arguments.length?(p=e,A):p},A.rightAlignYAxis=function(e){return arguments.length?(d=e,r.orient(e?"right":"left"),A):d},A.reduceXTicks=function(e){return arguments.length?(v=e,A):v},A.rotateLabels=function(e){return arguments.length?(g=e,A):g},A.staggerLabels=function(e){return arguments.length?(m=e,A):m},A.tooltip=function(e){return arguments.length?(b=e,A):b},A.tooltips=function(e){return arguments.length?(y=e,A):y},A.tooltipContent=function(e){return arguments.length?(b=e,A):b},A.state=function(e){return arguments.length?(S=e,A):S},A.defaultState=function(e){return arguments.length?(x=e,A):x},A.noData=function(e){return arguments.length?(T=e,A):T},A.transitionDuration=function(e){return arguments.length?(k=e,A):k},A},e.models.multiBarHorizontal=function(){"use strict";function C(e){return e.each(function(e){var i=n-t.left-t.right,y=r-t.top-t.bottom,C=d3.select(this);p&&(e=d3.layout.stack().offset("zero").values(function(e){return e.values}).y(a)(e)),e.forEach(function(e,t){e.values.forEach(function(e){e.series=t})}),p&&e[0].values.map(function(t,n){var r=0,i=0;e.map(function(e){var t=e.values[n];t.size=Math.abs(t.y),t.y<0?(t.y1=i-t.size,i-=t.size):(t.y1=r,r+=t.size)})});var k=b&&w?[]:e.map(function(e){return e.values.map(function(e,t){return{x:u(e,t),y:a(e,t),y0:e.y0,y1:e.y1}})});s.domain(b||d3.merge(k).map(function(e){return e.x})).rangeBands(E||[0,y],.1),o.domain(w||d3.extent(d3.merge(k).map(function(e){return p?e.y>0?e.y1+e.y:e.y1:e.y}).concat(f))),d&&!p?o.range(S||[o.domain()[0]<0?m:0,i-(o.domain()[1]>0?m:0)]):o.range(S||[0,i]),T=T||s,N=N||d3.scale.linear().domain(o.domain()).range([o(0),o(0)]);var L=d3.select(this).selectAll("g.nv-wrap.nv-multibarHorizontal").data([e]),A=L.enter().append("g").attr("class","nvd3 nv-wrap nv-multibarHorizontal"),O=A.append("defs"),M=A.append("g"),_=L.select("g");M.append("g").attr("class","nv-groups"),L.attr("transform","translate("+t.left+","+t.top+")");var D=L.select(".nv-groups").selectAll(".nv-group").data(function(e){return e},function(e,t){return t});D.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),D.exit().transition().style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),D.attr("class",function(e,t){return"nv-group nv-series-"+t}).classed("hover",function(e){return e.hover}).style("fill",function(e,t){return l(e,t)}).style("stroke",function(e,t){return l(e,t)}),D.transition().style("stroke-opacity",1).style("fill-opacity",.75);var P=D.selectAll("g.nv-bar").data(function(e){return e.values});P.exit().remove();var H=P.enter().append("g").attr("transform",function(t,n,r){return"translate("+N(p?t.y0:0)+","+(p?0:r*s.rangeBand()/e.length+s(u(t,n)))+")"});H.append("rect").attr("width",0).attr("height",s.rangeBand()/(p?1:e.length)),P.on("mouseover",function(t,n){d3.select(this).classed("hover",!0),x.elementMouseover({value:a(t,n),point:t,series:e[t.series],pos:[o(a(t,n)+(p?t.y0:0)),s(u(t,n))+s.rangeBand()*(p?e.length/2:t.series+.5)/e.length],pointIndex:n,seriesIndex:t.series,e:d3.event})}).on("mouseout",function(t,n){d3.select(this).classed("hover",!1),x.elementMouseout({value:a(t,n),point:t,series:e[t.series],pointIndex:n,seriesIndex:t.series,e:d3.event})}).on("click",function(t,n){x.elementClick({value:a(t,n),point:t,series:e[t.series],pos:[s(u(t,n))+s.rangeBand()*(p?e.length/2:t.series+.5)/e.length,o(a(t,n)+(p?t.y0:0))],pointIndex:n,seriesIndex:t.series,e:d3.event}),d3.event.stopPropagation()}).on("dblclick",function(t,n){x.elementDblClick({value:a(t,n),point:t,series:e[t.series],pos:[s(u(t,n))+s.rangeBand()*(p?e.length/2:t.series+.5)/e.length,o(a(t,n)+(p?t.y0:0))],pointIndex:n,seriesIndex:t.series,e:d3.event}),d3.event.stopPropagation()}),H.append("text"),d&&!p?(P.select("text").attr("text-anchor",function(e,t){return a(e,t)<0?"end":"start"}).attr("y",s.rangeBand()/(e.length*2)).attr("dy",".32em").text(function(e,t){return g(a(e,t))}),P.transition().select("text").attr("x",function(e,t){return a(e,t)<0?-4:o(a(e,t))-o(0)+4})):P.selectAll("text").text(""),v&&!p?(H.append("text").classed("nv-bar-label",!0),P.select("text.nv-bar-label").attr("text-anchor",function(e,t){return a(e,t)<0?"start":"end"}).attr("y",s.rangeBand()/(e.length*2)).attr("dy",".32em").text(function(e,t){return u(e,t)}),P.transition().select("text.nv-bar-label").attr("x",function(e,t){return a(e,t)<0?o(0)-o(a(e,t))+4:-4})):P.selectAll("text.nv-bar-label").text(""),P.attr("class",function(e,t){return a(e,t)<0?"nv-bar negative":"nv-bar positive"}),c&&(h||(h=e.map(function(){return!0})),P.style("fill",function(e,t,n){return d3.rgb(c(e,t)).darker(h.map(function(e,t){return t}).filter(function(e,t){return!h[t]})[n]).toString()}).style("stroke",function(e,t,n){return d3.rgb(c(e,t)).darker(h.map(function(e,t){return t}).filter(function(e,t){return!h[t]})[n]).toString()})),p?P.transition().attr("transform",function(e,t){return"translate("+o(e.y1)+","+s(u(e,t))+")"}).select("rect").attr("width",function(e,t){return Math.abs(o(a(e,t)+e.y0)-o(e.y0))}).attr("height",s.rangeBand()):P.transition().attr("transform",function(t,n){return"translate("+(a(t,n)<0?o(a(t,n)):o(0))+","+(t.series*s.rangeBand()/e.length+s(u(t,n)))+")"}).select("rect").attr("height",s.rangeBand()/e.length).attr("width",function(e,t){return Math.max(Math.abs(o(a(e,t))-o(0)),1)}),T=s.copy(),N=o.copy()}),C}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=Math.floor(Math.random()*1e4),s=d3.scale.ordinal(),o=d3.scale.linear(),u=function(e){return e.x},a=function(e){return e.y},f=[0],l=e.utils.defaultColor(),c=null,h,p=!1,d=!1,v=!1,m=60,g=d3.format(",.2f"),y=1200,b,w,E,S,x=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout"),T,N;return C.dispatch=x,C.options=e.utils.optionsFunc.bind(C),C.x=function(e){return arguments.length?(u=e,C):u},C.y=function(e){return arguments.length?(a=e,C):a},C.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,C):t},C.width=function(e){return arguments.length?(n=e,C):n},C.height=function(e){return arguments.length?(r=e,C):r},C.xScale=function(e){return arguments.length?(s=e,C):s},C.yScale=function(e){return arguments.length?(o=e,C):o},C.xDomain=function(e){return arguments.length?(b=e,C):b},C.yDomain=function(e){return arguments.length?(w=e,C):w},C.xRange=function(e){return arguments.length?(E=e,C):E},C.yRange=function(e){return arguments.length?(S=e,C):S},C.forceY=function(e){return arguments.length?(f=e,C):f},C.stacked=function(e){return arguments.length?(p=e,C):p},C.color=function(t){return arguments.length?(l=e.utils.getColor(t),C):l},C.barColor=function(t){return arguments.length?(c=e.utils.getColor(t),C):c},C.disabled=function(e){return arguments.length?(h=e,C):h},C.id=function(e){return arguments.length?(i=e,C):i},C.delay=function(e){return arguments.length?(y=e,C):y},C.showValues=function(e){return arguments.length?(d=e,C):d},C.showBarLabels=function(e){return arguments.length?(v=e,C):v},C.valueFormat=function(e){return arguments.length?(g=e,C):g},C.valuePadding=function(e){return arguments.length?(m=e,C):m},C},e.models.multiBarHorizontalChart=function(){"use strict";function C(e){return e.each(function(e){var d=d3.select(this),m=this,k=(u||parseInt(d.style("width"))||960)-o.left-o.right,L=(a||parseInt(d.style("height"))||400)-o.top-o.bottom;C.update=function(){d.transition().duration(T).call(C)},C.container=this,b.disabled=e.map(function(e){return!!e.disabled});if(!w){var A;w={};for(A in b)b[A]instanceof Array?w[A]=b[A].slice(0):w[A]=b[A]}if(!e||!e.length||!e.filter(function(e){return e.values.length}).length){var O=d.selectAll(".nv-noData").data([E]);return O.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),O.attr("x",o.left+k/2).attr("y",o.top+L/2).text(function(e){return e}),C}d.selectAll(".nv-noData").remove(),g=t.xScale(),y=t.yScale();var M=d.selectAll("g.nv-wrap.nv-multiBarHorizontalChart").data([e]),_=M.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarHorizontalChart").append("g"),D=M.select("g");_.append("g").attr("class","nv-x nv-axis"),_.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),_.append("g").attr("class","nv-barsWrap"),_.append("g").attr("class","nv-legendWrap"),_.append("g").attr("class","nv-controlsWrap"),c&&(i.width(k-x()),t.barColor()&&e.forEach(function(e,t){e.color=d3.rgb("#ccc").darker(t*1.5).toString()}),D.select(".nv-legendWrap").datum(e).call(i),o.top!=i.height()&&(o.top=i.height(),L=(a||parseInt(d.style("height"))||400)-o.top-o.bottom),D.select(".nv-legendWrap").attr("transform","translate("+x()+","+ -o.top+")"));if(l){var P=[{key:"Grouped",disabled:t.stacked()},{key:"Stacked",disabled:!t.stacked()}];s.width(x()).color(["#444","#444","#444"]),D.select(".nv-controlsWrap").datum(P).attr("transform","translate(0,"+ -o.top+")").call(s)}M.attr("transform","translate("+o.left+","+o.top+")"),t.disabled(e.map(function(e){return e.disabled})).width(k).height(L).color(e.map(function(e,t){return e.color||f(e,t)}).filter(function(t,n){return!e[n].disabled}));var H=D.select(".nv-barsWrap").datum(e.filter(function(e){return!e.disabled}));H.transition().call(t);if(h){n.scale(g).ticks(L/24).tickSize(-k,0),D.select(".nv-x.nv-axis").transition().call(n);var B=D.select(".nv-x.nv-axis").selectAll("g");B.selectAll("line, text")}p&&(r.scale(y).ticks(k/100).tickSize(-L,0),D.select(".nv-y.nv-axis").attr("transform","translate(0,"+L+")"),D.select(".nv-y.nv-axis").transition().call(r)),D.select(".nv-zeroLine line").attr("x1",y(0)).attr("x2",y(0)).attr("y1",0).attr("y2",-L),i.dispatch.on("stateChange",function(e){b=e,S.stateChange(b),C.update()}),s.dispatch.on("legendClick",function(e,n){if(!e.disabled)return;P=P.map(function(e){return e.disabled=!0,e}),e.disabled=!1;switch(e.key){case"Grouped":t.stacked(!1);break;case"Stacked":t.stacked(!0)}b.stacked=t.stacked(),S.stateChange(b),C.update()}),S.on("tooltipShow",function(e){v&&N(e,m.parentNode)}),S.on("changeState",function(n){typeof n.disabled!="undefined"&&(e.forEach(function(e,t){e.disabled=n.disabled[t]}),b.disabled=n.disabled),typeof n.stacked!="undefined"&&(t.stacked(n.stacked),b.stacked=n.stacked),C.update()})}),C}var t=e.models.multiBarHorizontal(),n=e.models.axis(),r=e.models.axis(),i=e.models.legend().height(30),s=e.models.legend().height(30),o={top:30,right:20,bottom:50,left:60},u=null,a=null,f=e.utils.defaultColor(),l=!0,c=!0,h=!0,p=!0,d=!1,v=!0,m=function(e,t,n,r,i){return"<h3>"+e+" - "+t+"</h3>"+"<p>"+n+"</p>"},g,y,b={stacked:d},w=null,E="No Data Available.",S=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState"),x=function(){return l?180:0},T=250;t.stacked(d),n.orient("left").tickPadding(5).highlightZero(!1).showMaxMin(!1).tickFormat(function(e){return e}),r.orient("bottom").tickFormat(d3.format(",.1f")),s.updateState(!1);var N=function(i,s){var o=i.pos[0]+(s.offsetLeft||0),u=i.pos[1]+(s.offsetTop||0),a=n.tickFormat()(t.x()(i.point,i.pointIndex)),f=r.tickFormat()(t.y()(i.point,i.pointIndex)),l=m(i.series.key,a,f,i,C);e.tooltip.show([o,u],l,i.value<0?"e":"w",null,s)};return t.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+o.left,e.pos[1]+o.top],S.tooltipShow(e)}),t.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),S.on("tooltipHide",function(){v&&e.tooltip.cleanup()}),C.dispatch=S,C.multibar=t,C.legend=i,C.xAxis=n,C.yAxis=r,d3.rebind(C,t,"x","y","xDomain","yDomain","xRange","yRange","forceX","forceY","clipEdge","id","delay","showValues","showBarLabels","valueFormat","stacked","barColor"),C.options=e.utils.optionsFunc.bind(C),C.margin=function(e){return arguments.length?(o.top=typeof e.top!="undefined"?e.top:o.top,o.right=typeof e.right!="undefined"?e.right:o.right,o.bottom=typeof e.bottom!="undefined"?e.bottom:o.bottom,o.left=typeof e.left!="undefined"?e.left:o.left,C):o},C.width=function(e){return arguments.length?(u=e,C):u},C.height=function(e){return arguments.length?(a=e,C):a},C.color=function(t){return arguments.length?(f=e.utils.getColor(t),i.color(f),C):f},C.showControls=function(e){return arguments.length?(l=e,C):l},C.showLegend=function(e){return arguments.length?(c=e,C):c},C.showXAxis=function(e){return arguments.length?(h=e,C):h},C.showYAxis=function(e){return arguments.length?(p=e,C):p},C.tooltip=function(e){return arguments.length?(m=e,C):m},C.tooltips=function(e){return arguments.length?(v=e,C):v},C.tooltipContent=function(e){return arguments.length?(m=e,C):m},C.state=function(e){return arguments.length?(b=e,C):b},C.defaultState=function(e){return arguments.length?(w=e,C):w},C.noData=function(e){return arguments.length?(E=e,C):E},C.transitionDuration=function(e){return arguments.length?(T=e,C):T},C},e.models.multiChart=function(){"use strict";function C(e){return e.each(function(e){var u=d3.select(this),f=this;C.update=function(){u.transition().call(C)},C.container=this;var k=(r||parseInt(u.style("width"))||960)-t.left-t.right,L=(i||parseInt(u.style("height"))||400)-t.top-t.bottom,A=e.filter(function(e){return!e.disabled&&e.type=="line"&&e.yAxis==1}),O=e.filter(function(e){return!e.disabled&&e.type=="line"&&e.yAxis==2}),M=e.filter(function(e){return!e.disabled&&e.type=="bar"&&e.yAxis==1}),_=e.filter(function(e){return!e.disabled&&e.type=="bar"&&e.yAxis==2}),D=e.filter(function(e){return!e.disabled&&e.type=="area"&&e.yAxis==1}),P=e.filter(function(e){return!e.disabled&&e.type=="area"&&e.yAxis==2}),H=e.filter(function(e){return!e.disabled&&e.yAxis==1}).map(function(e){return e.values.map(function(e,t){return{x:e.x,y:e.y}})}),B=e.filter(function(e){return!e.disabled&&e.yAxis==2}).map(function(e){return e.values.map(function(e,t){return{x:e.x,y:e.y}})});a.domain(d3.extent(d3.merge(H.concat(B)),function(e){return e.x})).range([0,k]);var j=u.selectAll("g.wrap.multiChart").data([e]),F=j.enter().append("g").attr("class","wrap nvd3 multiChart").append("g");F.append("g").attr("class","x axis"),F.append("g").attr("class","y1 axis"),F.append("g").attr("class","y2 axis"),F.append("g").attr("class","lines1Wrap"),F.append("g").attr("class","lines2Wrap"),F.append("g").attr("class","bars1Wrap"),F.append("g").attr("class","bars2Wrap"),F.append("g").attr("class","stack1Wrap"),F.append("g").attr("class","stack2Wrap"),F.append("g").attr("class","legendWrap");var I=j.select("g");s&&(x.width(k/2),I.select(".legendWrap").datum(e.map(function(e){return e.originalKey=e.originalKey===undefined?e.key:e.originalKey,e.key=e.originalKey+(e.yAxis==1?"":" (right axis)"),e})).call(x),t.top!=x.height()&&(t.top=x.height(),L=(i||parseInt(u.style("height"))||400)-t.top-t.bottom),I.select(".legendWrap").attr("transform","translate("+k/2+","+ -t.top+")")),d.width(k).height(L).interpolate("monotone").color(e.map(function(e,t){return e.color||n[t%n.length]}).filter(function(t,n){return!e[n].disabled&&e[n].yAxis==1&&e[n].type=="line"})),v.width(k).height(L).interpolate("monotone").color(e.map(function(e,t){return e.color||n[t%n.length]}).filter(function(t,n){return!e[n].disabled&&e[n].yAxis==2&&e[n].type=="line"})),m.width(k).height(L).color(e.map(function(e,t){return e.color||n[t%n.length]}).filter(function(t,n){return!e[n].disabled&&e[n].yAxis==1&&e[n].type=="bar"})),g.width(k).height(L).color(e.map(function(e,t){return e.color||n[t%n.length]}).filter(function(t,n){return!e[n].disabled&&e[n].yAxis==2&&e[n].type=="bar"})),y.width(k).height(L).color(e.map(function(e,t){return e.color||n[t%n.length]}).filter(function(t,n){return!e[n].disabled&&e[n].yAxis==1&&e[n].type=="area"})),b.width(k).height(L).color(e.map(function(e,t){return e.color||n[t%n.length]}).filter(function(t,n){return!e[n].disabled&&e[n].yAxis==2&&e[n].type=="area"})),I.attr("transform","translate("+t.left+","+t.top+")");var q=I.select(".lines1Wrap").datum(A),R=I.select(".bars1Wrap").datum(M),U=I.select(".stack1Wrap").datum(D),z=I.select(".lines2Wrap").datum(O),W=I.select(".bars2Wrap").datum(_),X=I.select(".stack2Wrap").datum(P),V=D.length?D.map(function(e){return e.values}).reduce(function(e,t){return e.map(function(e,n){return{x:e.x,y:e.y+t[n].y}})}).concat([{x:0,y:0}]):[],$=P.length?P.map(function(e){return e.values}).reduce(function(e,t){return e.map(function(e,n){return{x:e.x,y:e.y+t[n].y}})}).concat([{x:0,y:0}]):[];h.domain(l||d3.extent(d3.merge(H).concat(V),function(e){return e.y})).range([0,L]),p.domain(c||d3.extent(d3.merge(B).concat($),function(e){return e.y})).range([0,L]),d.yDomain(h.domain()),m.yDomain(h.domain()),y.yDomain(h.domain()),v.yDomain(p.domain()),g.yDomain(p.domain()),b.yDomain(p.domain()),D.length&&d3.transition(U).call(y),P.length&&d3.transition(X).call(b),M.length&&d3.transition(R).call(m),_.length&&d3.transition(W).call(g),A.length&&d3.transition(q).call(d),O.length&&d3.transition(z).call(v),w.ticks(k/100).tickSize(-L,0),I.select(".x.axis").attr("transform","translate(0,"+L+")"),d3.transition(I.select(".x.axis")).call(w),E.ticks(L/36).tickSize(-k,0),d3.transition(I.select(".y1.axis")).call(E),S.ticks(L/36).tickSize(-k,0),d3.transition(I.select(".y2.axis")).call(S),I.select(".y2.axis").style("opacity",B.length?1:0).attr("transform","translate("+a.range()[1]+",0)"),x.dispatch.on("stateChange",function(e){C.update()}),T.on("tooltipShow",function(e){o&&N(e,f.parentNode)})}),C}var t={top:30,right:20,bottom:50,left:60},n=d3.scale.category20().range(),r=null,i=null,s=!0,o=!0,u=function(e,t,n,r,i){return"<h3>"+e+"</h3>"+"<p>"+n+" at "+t+"</p>"},a,f,l,c,a=d3.scale.linear(),h=d3.scale.linear(),p=d3.scale.linear(),d=e.models.line().yScale(h),v=e.models.line().yScale(p),m=e.models.multiBar().stacked(!1).yScale(h),g=e.models.multiBar().stacked(!1).yScale(p),y=e.models.stackedArea().yScale(h),b=e.models.stackedArea().yScale(p),w=e.models.axis().scale(a).orient("bottom").tickPadding(5),E=e.models.axis().scale(h).orient("left"),S=e.models.axis().scale(p).orient("right"),x=e.models.legend().height(30),T=d3.dispatch("tooltipShow","tooltipHide"),N=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=w.tickFormat()(d.x()(t.point,t.pointIndex)),o=(t.series.yAxis==2?S:E).tickFormat()(d.y()(t.point,t.pointIndex)),a=u(t.series.key,s,o,t,C);e.tooltip.show([r,i],a,undefined,undefined,n.offsetParent)};return d.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],T.tooltipShow(e)}),d.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e)}),v.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],T.tooltipShow(e)}),v.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e)}),m.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],T.tooltipShow(e)}),m.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e)}),g.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],T.tooltipShow(e)}),g.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e)}),y.dispatch.on("tooltipShow",function(e){if(!Math.round(y.y()(e.point)*100))return setTimeout(function(){d3.selectAll(".point.hover").classed("hover",!1)},0),!1;e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],T.tooltipShow(e)}),y.dispatch.on("tooltipHide",function(e){T.tooltipHide(e)}),b.dispatch.on("tooltipShow",function(e){if(!Math.round(b.y()(e.point)*100))return setTimeout(function(){d3.selectAll(".point.hover").classed("hover",!1)},0),!1;e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],T.tooltipShow(e)}),b.dispatch.on("tooltipHide",function(e){T.tooltipHide(e)}),d.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],T.tooltipShow(e)}),d.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e)}),v.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],T.tooltipShow(e)}),v.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e)}),T.on("tooltipHide",function(){o&&e.tooltip.cleanup()}),C.dispatch=T,C.lines1=d,C.lines2=v,C.bars1=m,C.bars2=g,C.stack1=y,C.stack2=b,C.xAxis=w,C.yAxis1=E,C.yAxis2=S,C.options=e.utils.optionsFunc.bind(C),C.x=function(e){return arguments.length?(getX=e,d.x(e),m.x(e),C):getX},C.y=function(e){return arguments.length?(getY=e,d.y(e),m.y(e),C):getY},C.yDomain1=function(e){return arguments.length?(l=e,C):l},C.yDomain2=function(e){return arguments.length?(c=e,C):c},C.margin=function(e){return arguments.length?(t=e,C):t},C.width=function(e){return arguments.length?(r=e,C):r},C.height=function(e){return arguments.length?(i=e,C):i},C.color=function(e){return arguments.length?(n=e,x.color(e),C):n},C.showLegend=function(e){return arguments.length?(s=e,C):s},C.tooltips=function(e){return arguments.length?(o=e,C):o},C.tooltipContent=function(e){return arguments.length?(u=e,C):u},C},e.models.ohlcBar=function(){"use strict";function x(e){return e.each(function(e){var g=n-t.left-t.right,x=r-t.top-t.bottom,T=d3.select(this);s.domain(y||d3.extent(e[0].values.map(u).concat(p))),v?s.range(w||[g*.5/e[0].values.length,g*(e[0].values.length-.5)/e[0].values.length]):s.range(w||[0,g]),o.domain(b||[d3.min(e[0].values.map(h).concat(d)),d3.max(e[0].values.map(c).concat(d))]).range(E||[x,0]),s.domain()[0]===s.domain()[1]&&(s.domain()[0]?s.domain([s.domain()[0]-s.domain()[0]*.01,s.domain()[1]+s.domain()[1]*.01]):s.domain([-1,1])),o.domain()[0]===o.domain()[1]&&(o.domain()[0]?o.domain([o.domain()[0]+o.domain()[0]*.01,o.domain()[1]-o.domain()[1]*.01]):o.domain([-1,1]));var N=d3.select(this).selectAll("g.nv-wrap.nv-ohlcBar").data([e[0].values]),C=N.enter().append("g").attr("class","nvd3 nv-wrap nv-ohlcBar"),k=C.append("defs"),L=C.append("g"),A=N.select("g");L.append("g").attr("class","nv-ticks"),N.attr("transform","translate("+t.left+","+t.top+")"),T.on("click",function(e,t){S.chartClick({data:e,index:t,pos:d3.event,id:i})}),k.append("clipPath").attr("id","nv-chart-clip-path-"+i).append("rect"),N.select("#nv-chart-clip-path-"+i+" rect").attr("width",g).attr("height",x),A.attr("clip-path",m?"url(#nv-chart-clip-path-"+i+")":"");var O=N.select(".nv-ticks").selectAll(".nv-tick").data(function(e){return e});O.exit().remove();var M=O.enter().append("path").attr("class",function(e,t,n){return(f(e,t)>l(e,t)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+t}).attr("d",function(t,n){var r=g/e[0].values.length*.9;return"m0,0l0,"+(o(f(t,n))-o(c(t,n)))+"l"+ -r/2+",0l"+r/2+",0l0,"+(o(h(t,n))-o(f(t,n)))+"l0,"+(o(l(t,n))-o(h(t,n)))+"l"+r/2+",0l"+ -r/2+",0z"}).attr("transform",function(e,t){return"translate("+s(u(e,t))+","+o(c(e,t))+")"}).on("mouseover",function(t,n){d3.select(this).classed("hover",!0),S.elementMouseover({point:t,series:e[0],pos:[s(u(t,n)),o(a(t,n))],pointIndex:n,seriesIndex:0,e:d3.event})}).on("mouseout",function(t,n){d3.select(this).classed("hover",!1),S.elementMouseout({point:t,series:e[0],pointIndex:n,seriesIndex:0,e:d3.event})}).on("click",function(e,t){S.elementClick({value:a(e,t),data:e,index:t,pos:[s(u(e,t)),o(a(e,t))],e:d3.event,id:i}),d3.event.stopPropagation()}).on("dblclick",function(e,t){S.elementDblClick({value:a(e,t),data:e,index:t,pos:[s(u(e,t)),o(a(e,t))],e:d3.event,id:i}),d3.event.stopPropagation()});O.attr("class",function(e,t,n){return(f(e,t)>l(e,t)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+t}),d3.transition(O).attr("transform",function(e,t){return"translate("+s(u(e,t))+","+o(c(e,t))+")"}).attr("d",function(t,n){var r=g/e[0].values.length*.9;return"m0,0l0,"+(o(f(t,n))-o(c(t,n)))+"l"+ -r/2+",0l"+r/2+",0l0,"+(o(h(t,n))-o(f(t,n)))+"l0,"+(o(l(t,n))-o(h(t,n)))+"l"+r/2+",0l"+ -r/2+",0z"})}),x}var t={top:0
-,right:0,bottom:0,left:0},n=960,r=500,i=Math.floor(Math.random()*1e4),s=d3.scale.linear(),o=d3.scale.linear(),u=function(e){return e.x},a=function(e){return e.y},f=function(e){return e.open},l=function(e){return e.close},c=function(e){return e.high},h=function(e){return e.low},p=[],d=[],v=!1,m=!0,g=e.utils.defaultColor(),y,b,w,E,S=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return x.dispatch=S,x.options=e.utils.optionsFunc.bind(x),x.x=function(e){return arguments.length?(u=e,x):u},x.y=function(e){return arguments.length?(a=e,x):a},x.open=function(e){return arguments.length?(f=e,x):f},x.close=function(e){return arguments.length?(l=e,x):l},x.high=function(e){return arguments.length?(c=e,x):c},x.low=function(e){return arguments.length?(h=e,x):h},x.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,x):t},x.width=function(e){return arguments.length?(n=e,x):n},x.height=function(e){return arguments.length?(r=e,x):r},x.xScale=function(e){return arguments.length?(s=e,x):s},x.yScale=function(e){return arguments.length?(o=e,x):o},x.xDomain=function(e){return arguments.length?(y=e,x):y},x.yDomain=function(e){return arguments.length?(b=e,x):b},x.xRange=function(e){return arguments.length?(w=e,x):w},x.yRange=function(e){return arguments.length?(E=e,x):E},x.forceX=function(e){return arguments.length?(p=e,x):p},x.forceY=function(e){return arguments.length?(d=e,x):d},x.padData=function(e){return arguments.length?(v=e,x):v},x.clipEdge=function(e){return arguments.length?(m=e,x):m},x.color=function(t){return arguments.length?(g=e.utils.getColor(t),x):g},x.id=function(e){return arguments.length?(i=e,x):i},x},e.models.pie=function(){"use strict";function S(e){return e.each(function(e){function q(e){var t=(e.startAngle+e.endAngle)*90/Math.PI-90;return t>90?t-180:t}function R(e){e.endAngle=isNaN(e.endAngle)?0:e.endAngle,e.startAngle=isNaN(e.startAngle)?0:e.startAngle,m||(e.innerRadius=0);var t=d3.interpolate(this._current,e);return this._current=t(0),function(e){return A(t(e))}}function U(e){e.innerRadius=0;var t=d3.interpolate({startAngle:0,endAngle:0},e);return function(e){return A(t(e))}}var o=n-t.left-t.right,f=r-t.top-t.bottom,S=Math.min(o,f)/2,x=S-S/5,T=d3.select(this),N=T.selectAll(".nv-wrap.nv-pie").data(e),C=N.enter().append("g").attr("class","nvd3 nv-wrap nv-pie nv-chart-"+u),k=C.append("g"),L=N.select("g");k.append("g").attr("class","nv-pie"),k.append("g").attr("class","nv-pieLabels"),N.attr("transform","translate("+t.left+","+t.top+")"),L.select(".nv-pie").attr("transform","translate("+o/2+","+f/2+")"),L.select(".nv-pieLabels").attr("transform","translate("+o/2+","+f/2+")"),T.on("click",function(e,t){E.chartClick({data:e,index:t,pos:d3.event,id:u})});var A=d3.svg.arc().outerRadius(x);y&&A.startAngle(y),b&&A.endAngle(b),m&&A.innerRadius(S*w);var O=d3.layout.pie().sort(null).value(function(e){return e.disabled?0:s(e)}),M=N.select(".nv-pie").selectAll(".nv-slice").data(O),_=N.select(".nv-pieLabels").selectAll(".nv-label").data(O);M.exit().remove(),_.exit().remove();var D=M.enter().append("g").attr("class","nv-slice").on("mouseover",function(e,t){d3.select(this).classed("hover",!0),E.elementMouseover({label:i(e.data),value:s(e.data),point:e.data,pointIndex:t,pos:[d3.event.pageX,d3.event.pageY],id:u})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),E.elementMouseout({label:i(e.data),value:s(e.data),point:e.data,index:t,id:u})}).on("click",function(e,t){E.elementClick({label:i(e.data),value:s(e.data),point:e.data,index:t,pos:d3.event,id:u}),d3.event.stopPropagation()}).on("dblclick",function(e,t){E.elementDblClick({label:i(e.data),value:s(e.data),point:e.data,index:t,pos:d3.event,id:u}),d3.event.stopPropagation()});M.attr("fill",function(e,t){return a(e,t)}).attr("stroke",function(e,t){return a(e,t)});var P=D.append("path").each(function(e){this._current=e});M.select("path").transition().attr("d",A).attrTween("d",R);if(l){var H=d3.svg.arc().innerRadius(0);c&&(H=A),h&&(H=d3.svg.arc().outerRadius(A.outerRadius())),_.enter().append("g").classed("nv-label",!0).each(function(e,t){var n=d3.select(this);n.attr("transform",function(e){if(g){e.outerRadius=x+10,e.innerRadius=x+15;var t=(e.startAngle+e.endAngle)/2*(180/Math.PI);return(e.startAngle+e.endAngle)/2<Math.PI?t-=90:t+=90,"translate("+H.centroid(e)+") rotate("+t+")"}return e.outerRadius=S+10,e.innerRadius=S+15,"translate("+H.centroid(e)+")"}),n.append("rect").style("stroke","#fff").style("fill","#fff").attr("rx",3).attr("ry",3),n.append("text").style("text-anchor",g?(e.startAngle+e.endAngle)/2<Math.PI?"start":"end":"middle").style("fill","#000")});var B={},j=14,F=140,I=function(e){return Math.floor(e[0]/F)*F+","+Math.floor(e[1]/j)*j};_.transition().attr("transform",function(e){if(g){e.outerRadius=x+10,e.innerRadius=x+15;var t=(e.startAngle+e.endAngle)/2*(180/Math.PI);return(e.startAngle+e.endAngle)/2<Math.PI?t-=90:t+=90,"translate("+H.centroid(e)+") rotate("+t+")"}e.outerRadius=S+10,e.innerRadius=S+15;var n=H.centroid(e),r=I(n);return B[r]&&(n[1]-=j),B[I(n)]=!0,"translate("+n+")"}),_.select(".nv-label text").style("text-anchor",g?(d.startAngle+d.endAngle)/2<Math.PI?"start":"end":"middle").text(function(e,t){var n=(e.endAngle-e.startAngle)/(2*Math.PI),r={key:i(e.data),value:s(e.data),percent:d3.format("%")(n)};return e.value&&n>v?r[p]:""})}}),S}var t={top:0,right:0,bottom:0,left:0},n=500,r=500,i=function(e){return e.x},s=function(e){return e.y},o=function(e){return e.description},u=Math.floor(Math.random()*1e4),a=e.utils.defaultColor(),f=d3.format(",.2f"),l=!0,c=!0,h=!1,p="key",v=.02,m=!1,g=!1,y=!1,b=!1,w=.5,E=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return S.dispatch=E,S.options=e.utils.optionsFunc.bind(S),S.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,S):t},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.values=function(t){return e.log("pie.values() is no longer supported."),S},S.x=function(e){return arguments.length?(i=e,S):i},S.y=function(e){return arguments.length?(s=d3.functor(e),S):s},S.description=function(e){return arguments.length?(o=e,S):o},S.showLabels=function(e){return arguments.length?(l=e,S):l},S.labelSunbeamLayout=function(e){return arguments.length?(g=e,S):g},S.donutLabelsOutside=function(e){return arguments.length?(h=e,S):h},S.pieLabelsOutside=function(e){return arguments.length?(c=e,S):c},S.labelType=function(e){return arguments.length?(p=e,p=p||"key",S):p},S.donut=function(e){return arguments.length?(m=e,S):m},S.donutRatio=function(e){return arguments.length?(w=e,S):w},S.startAngle=function(e){return arguments.length?(y=e,S):y},S.endAngle=function(e){return arguments.length?(b=e,S):b},S.id=function(e){return arguments.length?(u=e,S):u},S.color=function(t){return arguments.length?(a=e.utils.getColor(t),S):a},S.valueFormat=function(e){return arguments.length?(f=e,S):f},S.labelThreshold=function(e){return arguments.length?(v=e,S):v},S},e.models.pieChart=function(){"use strict";function v(e){return e.each(function(e){var u=d3.select(this),a=this,f=(i||parseInt(u.style("width"))||960)-r.left-r.right,d=(s||parseInt(u.style("height"))||400)-r.top-r.bottom;v.update=function(){u.transition().call(v)},v.container=this,l.disabled=e.map(function(e){return!!e.disabled});if(!c){var m;c={};for(m in l)l[m]instanceof Array?c[m]=l[m].slice(0):c[m]=l[m]}if(!e||!e.length){var g=u.selectAll(".nv-noData").data([h]);return g.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),g.attr("x",r.left+f/2).attr("y",r.top+d/2).text(function(e){return e}),v}u.selectAll(".nv-noData").remove();var y=u.selectAll("g.nv-wrap.nv-pieChart").data([e]),b=y.enter().append("g").attr("class","nvd3 nv-wrap nv-pieChart").append("g"),w=y.select("g");b.append("g").attr("class","nv-pieWrap"),b.append("g").attr("class","nv-legendWrap"),o&&(n.width(f).key(t.x()),y.select(".nv-legendWrap").datum(e).call(n),r.top!=n.height()&&(r.top=n.height(),d=(s||parseInt(u.style("height"))||400)-r.top-r.bottom),y.select(".nv-legendWrap").attr("transform","translate(0,"+ -r.top+")")),y.attr("transform","translate("+r.left+","+r.top+")"),t.width(f).height(d);var E=w.select(".nv-pieWrap").datum([e]);d3.transition(E).call(t),n.dispatch.on("stateChange",function(e){l=e,p.stateChange(l),v.update()}),t.dispatch.on("elementMouseout.tooltip",function(e){p.tooltipHide(e)}),p.on("changeState",function(t){typeof t.disabled!="undefined"&&(e.forEach(function(e,n){e.disabled=t.disabled[n]}),l.disabled=t.disabled),v.update()})}),v}var t=e.models.pie(),n=e.models.legend(),r={top:30,right:20,bottom:20,left:20},i=null,s=null,o=!0,u=e.utils.defaultColor(),a=!0,f=function(e,t,n,r){return"<h3>"+e+"</h3>"+"<p>"+t+"</p>"},l={},c=null,h="No Data Available.",p=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState"),d=function(n,r){var i=t.description()(n.point)||t.x()(n.point),s=n.pos[0]+(r&&r.offsetLeft||0),o=n.pos[1]+(r&&r.offsetTop||0),u=t.valueFormat()(t.y()(n.point)),a=f(i,u,n,v);e.tooltip.show([s,o],a,n.value<0?"n":"s",null,r)};return t.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+r.left,e.pos[1]+r.top],p.tooltipShow(e)}),p.on("tooltipShow",function(e){a&&d(e)}),p.on("tooltipHide",function(){a&&e.tooltip.cleanup()}),v.legend=n,v.dispatch=p,v.pie=t,d3.rebind(v,t,"valueFormat","values","x","y","description","id","showLabels","donutLabelsOutside","pieLabelsOutside","labelType","donut","donutRatio","labelThreshold"),v.options=e.utils.optionsFunc.bind(v),v.margin=function(e){return arguments.length?(r.top=typeof e.top!="undefined"?e.top:r.top,r.right=typeof e.right!="undefined"?e.right:r.right,r.bottom=typeof e.bottom!="undefined"?e.bottom:r.bottom,r.left=typeof e.left!="undefined"?e.left:r.left,v):r},v.width=function(e){return arguments.length?(i=e,v):i},v.height=function(e){return arguments.length?(s=e,v):s},v.color=function(r){return arguments.length?(u=e.utils.getColor(r),n.color(u),t.color(u),v):u},v.showLegend=function(e){return arguments.length?(o=e,v):o},v.tooltips=function(e){return arguments.length?(a=e,v):a},v.tooltipContent=function(e){return arguments.length?(f=e,v):f},v.state=function(e){return arguments.length?(l=e,v):l},v.defaultState=function(e){return arguments.length?(c=e,v):c},v.noData=function(e){return arguments.length?(h=e,v):h},v},e.models.scatter=function(){"use strict";function I(q){return q.each(function(I){function Q(){if(!g)return!1;var e,i=d3.merge(I.map(function(e,t){return e.values.map(function(e,n){var r=f(e,n),i=l(e,n);return[o(r)+Math.random()*1e-7,u(i)+Math.random()*1e-7,t,n,e]}).filter(function(e,t){return b(e[4],t)})}));if(D===!0){if(x){var a=X.select("defs").selectAll(".nv-point-clips").data([s]).enter();a.append("clipPath").attr("class","nv-point-clips").attr("id","nv-points-clip-"+s);var c=X.select("#nv-points-clip-"+s).selectAll("circle").data(i);c.enter().append("circle").attr("r",T),c.exit().remove(),c.attr("cx",function(e){return e[0]}).attr("cy",function(e){return e[1]}),X.select(".nv-point-paths").attr("clip-path","url(#nv-points-clip-"+s+")")}i.length&&(i.push([o.range()[0]-20,u.range()[0]-20,null,null]),i.push([o.range()[1]+20,u.range()[1]+20,null,null]),i.push([o.range()[0]-20,u.range()[0]+20,null,null]),i.push([o.range()[1]+20,u.range()[1]-20,null,null]));var h=d3.geom.polygon([[-10,-10],[-10,r+10],[n+10,r+10],[n+10,-10]]),p=d3.geom.voronoi(i).map(function(e,t){return{data:h.clip(e),series:i[t][2],point:i[t][3]}}),d=X.select(".nv-point-paths").selectAll("path").data(p);d.enter().append("path").attr("class",function(e,t){return"nv-path-"+t}),d.exit().remove(),d.attr("d",function(e){return e.data.length===0?"M 0 0":"M"+e.data.join("L")+"Z"});var v=function(e,n){if(F)return 0;var r=I[e.series];if(typeof r=="undefined")return;var i=r.values[e.point];n({point:i,series:r,pos:[o(f(i,e.point))+t.left,u(l(i,e.point))+t.top],seriesIndex:e.series,pointIndex:e.point})};d.on("click",function(e){v(e,_.elementClick)}).on("mouseover",function(e){v(e,_.elementMouseover)}).on("mouseout",function(e,t){v(e,_.elementMouseout)})}else X.select(".nv-groups").selectAll(".nv-group").selectAll(".nv-point").on("click",function(e,n){if(F||!I[e.series])return 0;var r=I[e.series],i=r.values[n];_.elementClick({point:i,series:r,pos:[o(f(i,n))+t.left,u(l(i,n))+t.top],seriesIndex:e.series,pointIndex:n})}).on("mouseover",function(e,n){if(F||!I[e.series])return 0;var r=I[e.series],i=r.values[n];_.elementMouseover({point:i,series:r,pos:[o(f(i,n))+t.left,u(l(i,n))+t.top],seriesIndex:e.series,pointIndex:n})}).on("mouseout",function(e,t){if(F||!I[e.series])return 0;var n=I[e.series],r=n.values[t];_.elementMouseout({point:r,series:n,seriesIndex:e.series,pointIndex:t})});F=!1}var q=n-t.left-t.right,R=r-t.top-t.bottom,U=d3.select(this);I.forEach(function(e,t){e.values.forEach(function(e){e.series=t})});var W=N&&C&&A?[]:d3.merge(I.map(function(e){return e.values.map(function(e,t){return{x:f(e,t),y:l(e,t),size:c(e,t)}})}));o.domain(N||d3.extent(W.map(function(e){return e.x}).concat(d))),w&&I[0]?o.range(k||[(q*E+q)/(2*I[0].values.length),q-q*(1+E)/(2*I[0].values.length)]):o.range(k||[0,q]),u.domain(C||d3.extent(W.map(function(e){return e.y}).concat(v))).range(L||[R,0]),a.domain(A||d3.extent(W.map(function(e){return e.size}).concat(m))).range(O||[16,256]);if(o.domain()[0]===o.domain()[1]||u.domain()[0]===u.domain()[1])M=!0;o.domain()[0]===o.domain()[1]&&(o.domain()[0]?o.domain([o.domain()[0]-o.domain()[0]*.01,o.domain()[1]+o.domain()[1]*.01]):o.domain([-1,1])),u.domain()[0]===u.domain()[1]&&(u.domain()[0]?u.domain([u.domain()[0]-u.domain()[0]*.01,u.domain()[1]+u.domain()[1]*.01]):u.domain([-1,1])),isNaN(o.domain()[0])&&o.domain([-1,1]),isNaN(u.domain()[0])&&u.domain([-1,1]),P=P||o,H=H||u,B=B||a;var X=U.selectAll("g.nv-wrap.nv-scatter").data([I]),V=X.enter().append("g").attr("class","nvd3 nv-wrap nv-scatter nv-chart-"+s+(M?" nv-single-point":"")),$=V.append("defs"),J=V.append("g"),K=X.select("g");J.append("g").attr("class","nv-groups"),J.append("g").attr("class","nv-point-paths"),X.attr("transform","translate("+t.left+","+t.top+")"),$.append("clipPath").attr("id","nv-edge-clip-"+s).append("rect"),X.select("#nv-edge-clip-"+s+" rect").attr("width",q).attr("height",R>0?R:0),K.attr("clip-path",S?"url(#nv-edge-clip-"+s+")":""),F=!0;var G=X.select(".nv-groups").selectAll(".nv-group").data(function(e){return e},function(e){return e.key});G.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),G.exit().remove(),G.attr("class",function(e,t){return"nv-group nv-series-"+t}).classed("hover",function(e){return e.hover}),G.transition().style("fill",function(e,t){return i(e,t)}).style("stroke",function(e,t){return i(e,t)}).style("stroke-opacity",1).style("fill-opacity",.5);if(p){var Y=G.selectAll("circle.nv-point").data(function(e){return e.values},y);Y.enter().append("circle").style("fill",function(e,t){return e.color}).style("stroke",function(e,t){return e.color}).attr("cx",function(t,n){return e.utils.NaNtoZero(P(f(t,n)))}).attr("cy",function(t,n){return e.utils.NaNtoZero(H(l(t,n)))}).attr("r",function(e,t){return Math.sqrt(a(c(e,t))/Math.PI)}),Y.exit().remove(),G.exit().selectAll("path.nv-point").transition().attr("cx",function(t,n){return e.utils.NaNtoZero(o(f(t,n)))}).attr("cy",function(t,n){return e.utils.NaNtoZero(u(l(t,n)))}).remove(),Y.each(function(e,t){d3.select(this).classed("nv-point",!0).classed("nv-point-"+t,!0).classed("hover",!1)}),Y.transition().attr("cx",function(t,n){return e.utils.NaNtoZero(o(f(t,n)))}).attr("cy",function(t,n){return e.utils.NaNtoZero(u(l(t,n)))}).attr("r",function(e,t){return Math.sqrt(a(c(e,t))/Math.PI)})}else{var Y=G.selectAll("path.nv-point").data(function(e){return e.values});Y.enter().append("path").style("fill",function(e,t){return e.color}).style("stroke",function(e,t){return e.color}).attr("transform",function(e,t){return"translate("+P(f(e,t))+","+H(l(e,t))+")"}).attr("d",d3.svg.symbol().type(h).size(function(e,t){return a(c(e,t))})),Y.exit().remove(),G.exit().selectAll("path.nv-point").transition().attr("transform",function(e,t){return"translate("+o(f(e,t))+","+u(l(e,t))+")"}).remove(),Y.each(function(e,t){d3.select(this).classed("nv-point",!0).classed("nv-point-"+t,!0).classed("hover",!1)}),Y.transition().attr("transform",function(e,t){return"translate("+o(f(e,t))+","+u(l(e,t))+")"}).attr("d",d3.svg.symbol().type(h).size(function(e,t){return a(c(e,t))}))}clearTimeout(j),j=setTimeout(Q,300),P=o.copy(),H=u.copy(),B=a.copy()}),I}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=e.utils.defaultColor(),s=Math.floor(Math.random()*1e5),o=d3.scale.linear(),u=d3.scale.linear(),a=d3.scale.linear(),f=function(e){return e.x},l=function(e){return e.y},c=function(e){return e.size||1},h=function(e){return e.shape||"circle"},p=!0,d=[],v=[],m=[],g=!0,y=null,b=function(e){return!e.notActive},w=!1,E=.1,S=!1,x=!0,T=function(){return 25},N=null,C=null,k=null,L=null,A=null,O=null,M=!1,_=d3.dispatch("elementClick","elementMouseover","elementMouseout"),D=!0,P,H,B,j,F=!1;return I.clearHighlights=function(){d3.selectAll(".nv-chart-"+s+" .nv-point.hover").classed("hover",!1)},I.highlightPoint=function(e,t,n){d3.select(".nv-chart-"+s+" .nv-series-"+e+" .nv-point-"+t).classed("hover",n)},_.on("elementMouseover.point",function(e){g&&I.highlightPoint(e.seriesIndex,e.pointIndex,!0)}),_.on("elementMouseout.point",function(e){g&&I.highlightPoint(e.seriesIndex,e.pointIndex,!1)}),I.dispatch=_,I.options=e.utils.optionsFunc.bind(I),I.x=function(e){return arguments.length?(f=d3.functor(e),I):f},I.y=function(e){return arguments.length?(l=d3.functor(e),I):l},I.size=function(e){return arguments.length?(c=d3.functor(e),I):c},I.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,I):t},I.width=function(e){return arguments.length?(n=e,I):n},I.height=function(e){return arguments.length?(r=e,I):r},I.xScale=function(e){return arguments.length?(o=e,I):o},I.yScale=function(e){return arguments.length?(u=e,I):u},I.zScale=function(e){return arguments.length?(a=e,I):a},I.xDomain=function(e){return arguments.length?(N=e,I):N},I.yDomain=function(e){return arguments.length?(C=e,I):C},I.sizeDomain=function(e){return arguments.length?(A=e,I):A},I.xRange=function(e){return arguments.length?(k=e,I):k},I.yRange=function(e){return arguments.length?(L=e,I):L},I.sizeRange=function(e){return arguments.length?(O=e,I):O},I.forceX=function(e){return arguments.length?(d=e,I):d},I.forceY=function(e){return arguments.length?(v=e,I):v},I.forceSize=function(e){return arguments.length?(m=e,I):m},I.interactive=function(e){return arguments.length?(g=e,I):g},I.pointKey=function(e){return arguments.length?(y=e,I):y},I.pointActive=function(e){return arguments.length?(b=e,I):b},I.padData=function(e){return arguments.length?(w=e,I):w},I.padDataOuter=function(e){return arguments.length?(E=e,I):E},I.clipEdge=function(e){return arguments.length?(S=e,I):S},I.clipVoronoi=function(e){return arguments.length?(x=e,I):x},I.useVoronoi=function(e){return arguments.length?(D=e,D===!1&&(x=!1),I):D},I.clipRadius=function(e){return arguments.length?(T=e,I):T},I.color=function(t){return arguments.length?(i=e.utils.getColor(t),I):i},I.shape=function(e){return arguments.length?(h=e,I):h},I.onlyCircles=function(e){return arguments.length?(p=e,I):p},I.id=function(e){return arguments.length?(s=e,I):s},I.singlePoint=function(e){return arguments.length?(M=e,I):M},I},e.models.scatterChart=function(){"use strict";function F(e){return e.each(function(e){function K(){if(T)return X.select(".nv-point-paths").style("pointer-events","all"),!1;X.select(".nv-point-paths").style("pointer-events","none");var i=d3.mouse(this);h.distortion(x).focus(i[0]),p.distortion(x).focus(i[1]),X.select(".nv-scatterWrap").call(t),b&&X.select(".nv-x.nv-axis").call(n),w&&X.select(".nv-y.nv-axis").call(r),X.select(".nv-distributionX").datum(e.filter(function(e){return!e.disabled})).call(o),X.select(".nv-distributionY").datum(e.filter(function(e){return!e.disabled})).call(u)}var C=d3.select(this),k=this,L=(f||parseInt(C.style("width"))||960)-a.left-a.right,I=(l||parseInt(C.style("height"))||400)-a.top-a.bottom;F.update=function(){C.transition().duration(D).call(F)},F.container=this,A.disabled=e.map(function(e){return!!e.disabled});if(!O){var q;O={};for(q in A)A[q]instanceof Array?O[q]=A[q].slice(0):O[q]=A[q]}if(!e||!e.length||!e.filter(function(e){return e.values.length}).length){var R=C.selectAll(".nv-noData").data([_]);return R.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),R.attr("x",a.left+L/2).attr("y",a.top+I/2).text(function(e){return e}),F}C.selectAll(".nv-noData").remove(),P=P||h,H=H||p;var U=C.selectAll("g.nv-wrap.nv-scatterChart").data([e]),z=U.enter().append("g").attr("class","nvd3 nv-wrap nv-scatterChart nv-chart-"+t.id()),W=z.append("g"),X=U.select("g");W.append("rect").attr("class","nvd3 nv-background"),W.append("g").attr("class","nv-x nv-axis"),W.append("g").attr("class","nv-y nv-axis"),W.append("g").attr("class","nv-scatterWrap"),W.append("g").attr("class","nv-distWrap"),W.append("g").attr("class","nv-legendWrap"),W.append("g").attr("class","nv-controlsWrap");if(y){var V=S?L/2:L;i.width(V),U.select(".nv-legendWrap").datum(e).call(i),a.top!=i.height()&&(a.top=i.height(),I=(l||parseInt(C.style("height"))||400)-a.top-a.bottom),U.select(".nv-legendWrap").attr("transform","translate("+(L-V)+","+ -a.top+")")}S&&(s.width(180).color(["#444"]),X.select(".nv-controlsWrap").datum(j).attr("transform","translate(0,"+ -a.top+")").call(s)),U.attr("transform","translate("+a.left+","+a.top+")"),E&&X.select(".nv-y.nv-axis").attr("transform","translate("+L+",0)"),t.width(L).height(I).color(e.map(function(e,t){return e.color||c(e,t)}).filter(function(t,n){return!e[n].disabled})),d!==0&&t.xDomain(null),v!==0&&t.yDomain(null),U.select(".nv-scatterWrap").datum(e.filter(function(e){return!e.disabled})).call(t);if(d!==0){var $=h.domain()[1]-h.domain()[0];t.xDomain([h.domain()[0]-d*$,h.domain()[1]+d*$])}if(v!==0){var J=p.domain()[1]-p.domain()[0];t.yDomain([p.domain()[0]-v*J,p.domain()[1]+v*J])}(v!==0||d!==0)&&U.select(".nv-scatterWrap").datum(e.filter(function(e){return!e.disabled})).call(t),b&&(n.scale(h).ticks(n.ticks()&&n.ticks().length?n.ticks():L/100).tickSize(-I,0),X.select(".nv-x.nv-axis").attr("transform","translate(0,"+p.range()[0]+")").call(n)),w&&(r.scale(p).ticks(r.ticks()&&r.ticks().length?r.ticks():I/36).tickSize(-L,0),X.select(".nv-y.nv-axis").call(r)),m&&(o.getData(t.x()).scale(h).width(L).color(e.map(function(e,t){return e.color||c(e,t)}).filter(function(t,n){return!e[n].disabled})),W.select(".nv-distWrap").append("g").attr("class","nv-distributionX"),X.select(".nv-distributionX").attr("transform","translate(0,"+p.range()[0]+")").datum(e.filter(function(e){return!e.disabled})).call(o)),g&&(u.getData(t.y()).scale(p).width(I).color(e.map(function(e,t){return e.color||c(e,t)}).filter(function(t,n){return!e[n].disabled})),W.select(".nv-distWrap").append("g").attr("class","nv-distributionY"),X.select(".nv-distributionY").attr("transform","translate("+(E?L:-u.size())+",0)").datum(e.filter(function(e){return!e.disabled})).call(u)),d3.fisheye&&(X.select(".nv-background").attr("width",L).attr("height",I),X.select(".nv-background").on("mousemove",K),X.select(".nv-background").on("click",function(){T=!T}),t.dispatch.on("elementClick.freezeFisheye",function(){T=!T})),s.dispatch.on("legendClick",function(e,i){e.disabled=!e.disabled,x=e.disabled?0:2.5,X.select(".nv-background").style("pointer-events",e.disabled?"none":"all"),X.select(".nv-point-paths").style("pointer-events",e.disabled?"all":"none"),e.disabled?(h.distortion(x).focus(0),p.distortion(x).focus(0),X.select(".nv-scatterWrap").call(t),X.select(".nv-x.nv-axis").call(n),X.select(".nv-y.nv-axis").call(r)):T=!1,F.update()}),i.dispatch.on("stateChange",function(e){A.disabled=e.disabled,M.stateChange(A),F.update()}),t.dispatch.on("elementMouseover.tooltip",function(e){d3.select(".nv-chart-"+t.id()+" .nv-series-"+e.seriesIndex+" .nv-distx-"+e.pointIndex).attr("y1",function(t,n){return e.pos[1]-I}),d3.select(".nv-chart-"+t.id()+" .nv-series-"+e.seriesIndex+" .nv-disty-"+e.pointIndex).attr("x2",e.pos[0]+o.size()),e.pos=[e.pos[0]+a.left,e.pos[1]+a.top],M.tooltipShow(e)}),M.on("tooltipShow",function(e){N&&B(e,k.parentNode)}),M.on("changeState",function(t){typeof t.disabled!="undefined"&&(e.forEach(function(e,n){e.disabled=t.disabled[n]}),A.disabled=t.disabled),F.update()}),P=h.copy(),H=p.copy()}),F}var t=e.models.scatter(),n=e.models.axis(),r=e.models.axis(),i=e.models.legend(),s=e.models.legend(),o=e.models.distribution(),u=e.models.distribution(),a={top:30,right:20,bottom:50,left:75},f=null,l=null,c=e.utils.defaultColor(),h=d3.fisheye?d3.fisheye.scale(d3.scale.linear).distortion(0):t.xScale(),p=d3.fisheye?d3.fisheye.scale(d3.scale.linear).distortion(0):t.yScale(),d=0,v=0,m=!1,g=!1,y=!0,b=!0,w=!0,E=!1,S=!!d3.fisheye,x=0,T=!1,N=!0,C=function(e,t,n){return"<strong>"+t+"</strong>"},k=function(e,t,n){return"<strong>"+n+"</strong>"},L=null,A={},O=null,M=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState"),_="No Data Available.",D=250;t.xScale(h).yScale(p),n.orient("bottom").tickPadding(10),r.orient(E?"right":"left").tickPadding(10),o.axis("x"),u.axis("y"),s.updateState(!1);var P,H,B=function(i,s){var o=i.pos[0]+(s.offsetLeft||0),u=i.pos[1]+(s.offsetTop||0),f=i.pos[0]+(s.offsetLeft||0),l=p.range()[0]+a.top+(s.offsetTop||0),c=h.range()[0]+a.left+(s.offsetLeft||0),d=i.pos[1]+(s.offsetTop||0),v=n.tickFormat()(t.x()(i.point,i.pointIndex)),m=r.tickFormat()(t.y()(i.point,i.pointIndex));C!=null&&e.tooltip.show([f,l],C(i.series.key,v,m,i,F),"n",1,s,"x-nvtooltip"),k!=null&&e.tooltip.show([c,d],k(i.series.key,v,m,i,F),"e",1,s,"y-nvtooltip"),L!=null&&e.tooltip.show([o,u],L(i.series.key,v,m,i,F),i.value<0?"n":"s",null,s)},j=[{key:"Magnify",disabled:!0}];return t.dispatch.on("elementMouseout.tooltip",function(e){M.tooltipHide(e),d3.select(".nv-chart-"+t.id()+" .nv-series-"+e.seriesIndex+" .nv-distx-"+e.pointIndex).attr("y1",0),d3.select(".nv-chart-"+t.id()+" .nv-series-"+e.seriesIndex+" .nv-disty-"+e.pointIndex).attr("x2",u.size())}),M.on("tooltipHide",function(){N&&e.tooltip.cleanup()}),F.dispatch=M,F.scatter=t,F.legend=i,F.controls=s,F.xAxis=n,F.yAxis=r,F.distX=o,F.distY=u,d3.rebind(F,t,"id","interactive","pointActive","x","y","shape","size","xScale","yScale","zScale","xDomain","yDomain","xRange","yRange","sizeDomain","sizeRange","forceX","forceY","forceSize","clipVoronoi","clipRadius","useVoronoi"),F.options=e.utils.optionsFunc.bind(F),F.margin=function(e){return arguments.length?(a.top=typeof e.top!="undefined"?e.top:a.top,a.right=typeof e.right!="undefined"?e.right:a.right,a.bottom=typeof e.bottom!="undefined"?e.bottom:a.bottom,a.left=typeof e.left!="undefined"?e.left:a.left,F):a},F.width=function(e){return arguments.length?(f=e,F):f},F.height=function(e){return arguments.length?(l=e,F):l},F.color=function(t){return arguments.length?(c=e.utils.getColor(t),i.color(c),o.color(c),u.color(c),F):c},F.showDistX=function(e){return arguments.length?(m=e,F):m},F.showDistY=function(e){return arguments.length?(g=e,F):g},F.showControls=function(e){return arguments.length?(S=e,F):S},F.showLegend=function(e){return arguments.length?(y=e,F):y},F.showXAxis=function(e){return arguments.length?(b=e,F):b},F.showYAxis=function(e){return arguments.length?(w=e,F):w},F.rightAlignYAxis=function(e){return arguments.length?(E=e,r.orient(e?"right":"left"),F):E},F.fisheye=function(e){return arguments.length?(x=e,F):x},F.xPadding=function(e){return arguments.length?(d=e,F):d},F.yPadding=function(e){return arguments.length?(v=e,F):v},F.tooltips=function(e){return arguments.length?(N=e,F):N},F.tooltipContent=function(e){return arguments.length?(L=e,F):L},F.tooltipXContent=function(e){return arguments.length?(C=e,F):C},F.tooltipYContent=function(e){return arguments.length?(k=e,F):k},F.state=function(e){return arguments.length?(A=e,F):A},F.defaultState=function(e){return arguments.length?(O=e,F):O},F.noData=function(e){return arguments.length?(_=e,F):_},F.transitionDuration=function(e){return arguments.length?(D=e,F):D},F},e.models.scatterPlusLineChart=function(){"use strict";function B(e){return e.each(function(e){function $(){if(S)return z.select(".nv-point-paths").style("pointer-events","all"),!1;z.select(".nv-point-paths").style("pointer-events","none");var i=d3.mouse(this);h.distortion(E).focus(i[0]),p.distortion(E).focus(i[1]),z.select(".nv-scatterWrap").datum(e.filter(function(e){return!e.disabled})).call(t),g&&z.select(".nv-x.nv-axis").call(n),y&&z.select(".nv-y.nv-axis").call(r),z.select(".nv-distributionX").datum(e.filter(function(e){return!e.disabled})).call(o),z.select(".nv-distributionY").datum(e.filter(function(e){return!e.disabled})).call(u)}var T=d3.select(this),N=this,C=(f||parseInt(T.style("width"))||960)-a.left-a.right,j=(l||parseInt(T.style("height"))||400)-a.top-a.bottom;B.update=function(){T.transition().duration(M).call(B)},B.container=this,k.disabled=e.map(function(e){return!!e.disabled});if(!L){var F;L={};for(F in k)k[F]instanceof Array?L[F]=k[F].slice(0):L[F]=k[F]}if(!e||!e.length||!e.filter(function(e){return e.values.length}).length){var I=T.selectAll(".nv-noData").data([O]);return I.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),I.attr("x",a.left+C/2).attr("y",a.top+j/2).text(function(e){return e}),B}T.selectAll(".nv-noData").remove(),h=t.xScale(),p=t.yScale(),_=_||h,D=D||p;var q=T.selectAll("g.nv-wrap.nv-scatterChart").data([e]),R=q.enter().append("g").attr("class","nvd3 nv-wrap nv-scatterChart nv-chart-"+t.id()),U=R.append("g"),z=q.select("g");U.append("rect").attr("class","nvd3 nv-background").style("pointer-events","none"),U.append("g").attr("class","nv-x nv-axis"),U.append("g").attr("class","nv-y nv-axis"),U.append("g").attr("class","nv-scatterWrap"),U.append("g").attr("class","nv-regressionLinesWrap"),U.append("g").attr("class","nv-distWrap"),U.append("g").attr("class","nv-legendWrap"),U.append("g").attr("class","nv-controlsWrap"),q.attr("transform","translate("+a.left+","+a.top+")"),b&&z.select(".nv-y.nv-axis").attr("transform","translate("+C+",0)"),m&&(i.width(C/2),q.select(".nv-legendWrap").datum(e).call(i),a.top!=i.height()&&(a.top=i.height(),j=(l||parseInt(T.style("height"))||400)-a.top-a.bottom),q.select(".nv-legendWrap").attr("transform","translate("+C/2+","+ -a.top+")")),w&&(s.width(180).color(["#444"]),z.select(".nv-controlsWrap").datum(H).attr("transform","translate(0,"+ -a.top+")").call(s)),t.width(C).height(j).color(e.map(function(e,t){return e.color||c(e,t)}).filter(function(t,n){return!e[n].disabled})),q.select(".nv-scatterWrap").datum(e.filter(function(e){return!e.disabled})).call(t),q.select(".nv-regressionLinesWrap").attr("clip-path","url(#nv-edge-clip-"+t.id()+")");var W=q.select(".nv-regressionLinesWrap").selectAll(".nv-regLines").data(function(e){return e});W.enter().append("g").attr("class","nv-regLines");var X=W.selectAll(".nv-regLine").data(function(e){return[e]}),V=X.enter().append("line").attr("class","nv-regLine").style("stroke-opacity",0);X.transition().attr("x1",h.range()[0]).attr("x2",h.range()[1]).attr("y1",function(e,t){return p(h.domain()[0]*e.slope+e.intercept)}).attr("y2",function(e,t){return p(h.domain()[1]*e.slope+e.intercept)}).style("stroke",function(e,t,n){return c(e,n)}).style("stroke-opacity",function(e,t){return e.disabled||typeof e.slope=="undefined"||typeof e.intercept=="undefined"?0:1}),g&&(n.scale(h).ticks(n.ticks()?n.ticks():C/100).tickSize(-j,0),z.select(".nv-x.nv-axis").attr("transform","translate(0,"+p.range()[0]+")").call(n)),y&&(r.scale(p).ticks(r.ticks()?r.ticks():j/36).tickSize(-C,0),z.select(".nv-y.nv-axis").call(r)),d&&(o.getData(t.x()).scale(h).width(C).color(e.map(function(e,t){return e.color||c(e,t)}).filter(function(t,n){return!e[n].disabled})),U.select(".nv-distWrap").append("g").attr("class","nv-distributionX"),z.select(".nv-distributionX").attr("transform","translate(0,"+p.range()[0]+")").datum(e.filter(function(e){return!e.disabled})).call(o)),v&&(u.getData(t.y()).scale(p).width(
-j).color(e.map(function(e,t){return e.color||c(e,t)}).filter(function(t,n){return!e[n].disabled})),U.select(".nv-distWrap").append("g").attr("class","nv-distributionY"),z.select(".nv-distributionY").attr("transform","translate("+(b?C:-u.size())+",0)").datum(e.filter(function(e){return!e.disabled})).call(u)),d3.fisheye&&(z.select(".nv-background").attr("width",C).attr("height",j),z.select(".nv-background").on("mousemove",$),z.select(".nv-background").on("click",function(){S=!S}),t.dispatch.on("elementClick.freezeFisheye",function(){S=!S})),s.dispatch.on("legendClick",function(e,i){e.disabled=!e.disabled,E=e.disabled?0:2.5,z.select(".nv-background").style("pointer-events",e.disabled?"none":"all"),z.select(".nv-point-paths").style("pointer-events",e.disabled?"all":"none"),e.disabled?(h.distortion(E).focus(0),p.distortion(E).focus(0),z.select(".nv-scatterWrap").call(t),z.select(".nv-x.nv-axis").call(n),z.select(".nv-y.nv-axis").call(r)):S=!1,B.update()}),i.dispatch.on("stateChange",function(e){k=e,A.stateChange(k),B.update()}),t.dispatch.on("elementMouseover.tooltip",function(e){d3.select(".nv-chart-"+t.id()+" .nv-series-"+e.seriesIndex+" .nv-distx-"+e.pointIndex).attr("y1",e.pos[1]-j),d3.select(".nv-chart-"+t.id()+" .nv-series-"+e.seriesIndex+" .nv-disty-"+e.pointIndex).attr("x2",e.pos[0]+o.size()),e.pos=[e.pos[0]+a.left,e.pos[1]+a.top],A.tooltipShow(e)}),A.on("tooltipShow",function(e){x&&P(e,N.parentNode)}),A.on("changeState",function(t){typeof t.disabled!="undefined"&&(e.forEach(function(e,n){e.disabled=t.disabled[n]}),k.disabled=t.disabled),B.update()}),_=h.copy(),D=p.copy()}),B}var t=e.models.scatter(),n=e.models.axis(),r=e.models.axis(),i=e.models.legend(),s=e.models.legend(),o=e.models.distribution(),u=e.models.distribution(),a={top:30,right:20,bottom:50,left:75},f=null,l=null,c=e.utils.defaultColor(),h=d3.fisheye?d3.fisheye.scale(d3.scale.linear).distortion(0):t.xScale(),p=d3.fisheye?d3.fisheye.scale(d3.scale.linear).distortion(0):t.yScale(),d=!1,v=!1,m=!0,g=!0,y=!0,b=!1,w=!!d3.fisheye,E=0,S=!1,x=!0,T=function(e,t,n){return"<strong>"+t+"</strong>"},N=function(e,t,n){return"<strong>"+n+"</strong>"},C=function(e,t,n,r){return"<h3>"+e+"</h3>"+"<p>"+r+"</p>"},k={},L=null,A=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState"),O="No Data Available.",M=250;t.xScale(h).yScale(p),n.orient("bottom").tickPadding(10),r.orient(b?"right":"left").tickPadding(10),o.axis("x"),u.axis("y"),s.updateState(!1);var _,D,P=function(i,s){var o=i.pos[0]+(s.offsetLeft||0),u=i.pos[1]+(s.offsetTop||0),f=i.pos[0]+(s.offsetLeft||0),l=p.range()[0]+a.top+(s.offsetTop||0),c=h.range()[0]+a.left+(s.offsetLeft||0),d=i.pos[1]+(s.offsetTop||0),v=n.tickFormat()(t.x()(i.point,i.pointIndex)),m=r.tickFormat()(t.y()(i.point,i.pointIndex));T!=null&&e.tooltip.show([f,l],T(i.series.key,v,m,i,B),"n",1,s,"x-nvtooltip"),N!=null&&e.tooltip.show([c,d],N(i.series.key,v,m,i,B),"e",1,s,"y-nvtooltip"),C!=null&&e.tooltip.show([o,u],C(i.series.key,v,m,i.point.tooltip,i,B),i.value<0?"n":"s",null,s)},H=[{key:"Magnify",disabled:!0}];return t.dispatch.on("elementMouseout.tooltip",function(e){A.tooltipHide(e),d3.select(".nv-chart-"+t.id()+" .nv-series-"+e.seriesIndex+" .nv-distx-"+e.pointIndex).attr("y1",0),d3.select(".nv-chart-"+t.id()+" .nv-series-"+e.seriesIndex+" .nv-disty-"+e.pointIndex).attr("x2",u.size())}),A.on("tooltipHide",function(){x&&e.tooltip.cleanup()}),B.dispatch=A,B.scatter=t,B.legend=i,B.controls=s,B.xAxis=n,B.yAxis=r,B.distX=o,B.distY=u,d3.rebind(B,t,"id","interactive","pointActive","x","y","shape","size","xScale","yScale","zScale","xDomain","yDomain","xRange","yRange","sizeDomain","sizeRange","forceX","forceY","forceSize","clipVoronoi","clipRadius","useVoronoi"),B.options=e.utils.optionsFunc.bind(B),B.margin=function(e){return arguments.length?(a.top=typeof e.top!="undefined"?e.top:a.top,a.right=typeof e.right!="undefined"?e.right:a.right,a.bottom=typeof e.bottom!="undefined"?e.bottom:a.bottom,a.left=typeof e.left!="undefined"?e.left:a.left,B):a},B.width=function(e){return arguments.length?(f=e,B):f},B.height=function(e){return arguments.length?(l=e,B):l},B.color=function(t){return arguments.length?(c=e.utils.getColor(t),i.color(c),o.color(c),u.color(c),B):c},B.showDistX=function(e){return arguments.length?(d=e,B):d},B.showDistY=function(e){return arguments.length?(v=e,B):v},B.showControls=function(e){return arguments.length?(w=e,B):w},B.showLegend=function(e){return arguments.length?(m=e,B):m},B.showXAxis=function(e){return arguments.length?(g=e,B):g},B.showYAxis=function(e){return arguments.length?(y=e,B):y},B.rightAlignYAxis=function(e){return arguments.length?(b=e,r.orient(e?"right":"left"),B):b},B.fisheye=function(e){return arguments.length?(E=e,B):E},B.tooltips=function(e){return arguments.length?(x=e,B):x},B.tooltipContent=function(e){return arguments.length?(C=e,B):C},B.tooltipXContent=function(e){return arguments.length?(T=e,B):T},B.tooltipYContent=function(e){return arguments.length?(N=e,B):N},B.state=function(e){return arguments.length?(k=e,B):k},B.defaultState=function(e){return arguments.length?(L=e,B):L},B.noData=function(e){return arguments.length?(O=e,B):O},B.transitionDuration=function(e){return arguments.length?(M=e,B):M},B},e.models.sparkline=function(){"use strict";function d(e){return e.each(function(e){var i=n-t.left-t.right,d=r-t.top-t.bottom,v=d3.select(this);s.domain(l||d3.extent(e,u)).range(h||[0,i]),o.domain(c||d3.extent(e,a)).range(p||[d,0]);var m=v.selectAll("g.nv-wrap.nv-sparkline").data([e]),g=m.enter().append("g").attr("class","nvd3 nv-wrap nv-sparkline"),b=g.append("g"),w=m.select("g");m.attr("transform","translate("+t.left+","+t.top+")");var E=m.selectAll("path").data(function(e){return[e]});E.enter().append("path"),E.exit().remove(),E.style("stroke",function(e,t){return e.color||f(e,t)}).attr("d",d3.svg.line().x(function(e,t){return s(u(e,t))}).y(function(e,t){return o(a(e,t))}));var S=m.selectAll("circle.nv-point").data(function(e){function n(t){if(t!=-1){var n=e[t];return n.pointIndex=t,n}return null}var t=e.map(function(e,t){return a(e,t)}),r=n(t.lastIndexOf(o.domain()[1])),i=n(t.indexOf(o.domain()[0])),s=n(t.length-1);return[i,r,s].filter(function(e){return e!=null})});S.enter().append("circle"),S.exit().remove(),S.attr("cx",function(e,t){return s(u(e,e.pointIndex))}).attr("cy",function(e,t){return o(a(e,e.pointIndex))}).attr("r",2).attr("class",function(e,t){return u(e,e.pointIndex)==s.domain()[1]?"nv-point nv-currentValue":a(e,e.pointIndex)==o.domain()[0]?"nv-point nv-minValue":"nv-point nv-maxValue"})}),d}var t={top:2,right:0,bottom:2,left:0},n=400,r=32,i=!0,s=d3.scale.linear(),o=d3.scale.linear(),u=function(e){return e.x},a=function(e){return e.y},f=e.utils.getColor(["#000"]),l,c,h,p;return d.options=e.utils.optionsFunc.bind(d),d.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,d):t},d.width=function(e){return arguments.length?(n=e,d):n},d.height=function(e){return arguments.length?(r=e,d):r},d.x=function(e){return arguments.length?(u=d3.functor(e),d):u},d.y=function(e){return arguments.length?(a=d3.functor(e),d):a},d.xScale=function(e){return arguments.length?(s=e,d):s},d.yScale=function(e){return arguments.length?(o=e,d):o},d.xDomain=function(e){return arguments.length?(l=e,d):l},d.yDomain=function(e){return arguments.length?(c=e,d):c},d.xRange=function(e){return arguments.length?(h=e,d):h},d.yRange=function(e){return arguments.length?(p=e,d):p},d.animate=function(e){return arguments.length?(i=e,d):i},d.color=function(t){return arguments.length?(f=e.utils.getColor(t),d):f},d},e.models.sparklinePlus=function(){"use strict";function v(e){return e.each(function(c){function O(){if(a)return;var e=C.selectAll(".nv-hoverValue").data(u),r=e.enter().append("g").attr("class","nv-hoverValue").style("stroke-opacity",0).style("fill-opacity",0);e.exit().transition().duration(250).style("stroke-opacity",0).style("fill-opacity",0).remove(),e.attr("transform",function(e){return"translate("+s(t.x()(c[e],e))+",0)"}).transition().duration(250).style("stroke-opacity",1).style("fill-opacity",1);if(!u.length)return;r.append("line").attr("x1",0).attr("y1",-n.top).attr("x2",0).attr("y2",b),r.append("text").attr("class","nv-xValue").attr("x",-6).attr("y",-n.top).attr("text-anchor","end").attr("dy",".9em"),C.select(".nv-hoverValue .nv-xValue").text(f(t.x()(c[u[0]],u[0]))),r.append("text").attr("class","nv-yValue").attr("x",6).attr("y",-n.top).attr("text-anchor","start").attr("dy",".9em"),C.select(".nv-hoverValue .nv-yValue").text(l(t.y()(c[u[0]],u[0])))}function M(){function r(e,n){var r=Math.abs(t.x()(e[0],0)-n),i=0;for(var s=0;s<e.length;s++)Math.abs(t.x()(e[s],s)-n)<r&&(r=Math.abs(t.x()(e[s],s)-n),i=s);return i}if(a)return;var e=d3.mouse(this)[0]-n.left;u=[r(c,Math.round(s.invert(e)))],O()}var m=d3.select(this),g=(r||parseInt(m.style("width"))||960)-n.left-n.right,b=(i||parseInt(m.style("height"))||400)-n.top-n.bottom;v.update=function(){v(e)},v.container=this;if(!c||!c.length){var w=m.selectAll(".nv-noData").data([d]);return w.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),w.attr("x",n.left+g/2).attr("y",n.top+b/2).text(function(e){return e}),v}m.selectAll(".nv-noData").remove();var E=t.y()(c[c.length-1],c.length-1);s=t.xScale(),o=t.yScale();var S=m.selectAll("g.nv-wrap.nv-sparklineplus").data([c]),T=S.enter().append("g").attr("class","nvd3 nv-wrap nv-sparklineplus"),N=T.append("g"),C=S.select("g");N.append("g").attr("class","nv-sparklineWrap"),N.append("g").attr("class","nv-valueWrap"),N.append("g").attr("class","nv-hoverArea"),S.attr("transform","translate("+n.left+","+n.top+")");var k=C.select(".nv-sparklineWrap");t.width(g).height(b),k.call(t);var L=C.select(".nv-valueWrap"),A=L.selectAll(".nv-currentValue").data([E]);A.enter().append("text").attr("class","nv-currentValue").attr("dx",p?-8:8).attr("dy",".9em").style("text-anchor",p?"end":"start"),A.attr("x",g+(p?n.right:0)).attr("y",h?function(e){return o(e)}:0).style("fill",t.color()(c[c.length-1],c.length-1)).text(l(E)),N.select(".nv-hoverArea").append("rect").on("mousemove",M).on("click",function(){a=!a}).on("mouseout",function(){u=[],O()}),C.select(".nv-hoverArea rect").attr("transform",function(e){return"translate("+ -n.left+","+ -n.top+")"}).attr("width",g+n.left+n.right).attr("height",b+n.top)}),v}var t=e.models.sparkline(),n={top:15,right:100,bottom:10,left:50},r=null,i=null,s,o,u=[],a=!1,f=d3.format(",r"),l=d3.format(",.2f"),c=!0,h=!0,p=!1,d="No Data Available.";return v.sparkline=t,d3.rebind(v,t,"x","y","xScale","yScale","color"),v.options=e.utils.optionsFunc.bind(v),v.margin=function(e){return arguments.length?(n.top=typeof e.top!="undefined"?e.top:n.top,n.right=typeof e.right!="undefined"?e.right:n.right,n.bottom=typeof e.bottom!="undefined"?e.bottom:n.bottom,n.left=typeof e.left!="undefined"?e.left:n.left,v):n},v.width=function(e){return arguments.length?(r=e,v):r},v.height=function(e){return arguments.length?(i=e,v):i},v.xTickFormat=function(e){return arguments.length?(f=e,v):f},v.yTickFormat=function(e){return arguments.length?(l=e,v):l},v.showValue=function(e){return arguments.length?(c=e,v):c},v.alignValue=function(e){return arguments.length?(h=e,v):h},v.rightAlignValue=function(e){return arguments.length?(p=e,v):p},v.noData=function(e){return arguments.length?(d=e,v):d},v},e.models.stackedArea=function(){"use strict";function g(e){return e.each(function(e){var a=n-t.left-t.right,b=r-t.top-t.bottom,w=d3.select(this);p=v.xScale(),d=v.yScale();var E=e;e.forEach(function(e,t){e.seriesIndex=t,e.values=e.values.map(function(e,n){return e.index=n,e.seriesIndex=t,e})});var S=e.filter(function(e){return!e.disabled});e=d3.layout.stack().order(l).offset(f).values(function(e){return e.values}).x(o).y(u).out(function(e,t,n){var r=u(e)===0?0:n;e.display={y:r,y0:t}})(S);var T=w.selectAll("g.nv-wrap.nv-stackedarea").data([e]),N=T.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedarea"),C=N.append("defs"),k=N.append("g"),L=T.select("g");k.append("g").attr("class","nv-areaWrap"),k.append("g").attr("class","nv-scatterWrap"),T.attr("transform","translate("+t.left+","+t.top+")"),v.width(a).height(b).x(o).y(function(e){return e.display.y+e.display.y0}).forceY([0]).color(e.map(function(e,t){return e.color||i(e,e.seriesIndex)}));var A=L.select(".nv-scatterWrap").datum(e);A.call(v),C.append("clipPath").attr("id","nv-edge-clip-"+s).append("rect"),T.select("#nv-edge-clip-"+s+" rect").attr("width",a).attr("height",b),L.attr("clip-path",h?"url(#nv-edge-clip-"+s+")":"");var O=d3.svg.area().x(function(e,t){return p(o(e,t))}).y0(function(e){return d(e.display.y0)}).y1(function(e){return d(e.display.y+e.display.y0)}).interpolate(c),M=d3.svg.area().x(function(e,t){return p(o(e,t))}).y0(function(e){return d(e.display.y0)}).y1(function(e){return d(e.display.y0)}),_=L.select(".nv-areaWrap").selectAll("path.nv-area").data(function(e){return e});_.enter().append("path").attr("class",function(e,t){return"nv-area nv-area-"+t}).attr("d",function(e,t){return M(e.values,e.seriesIndex)}).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),m.areaMouseover({point:e,series:e.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:e.seriesIndex})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),m.areaMouseout({point:e,series:e.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:e.seriesIndex})}).on("click",function(e,t){d3.select(this).classed("hover",!1),m.areaClick({point:e,series:e.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:e.seriesIndex})}),_.exit().remove(),_.style("fill",function(e,t){return e.color||i(e,e.seriesIndex)}).style("stroke",function(e,t){return e.color||i(e,e.seriesIndex)}),_.transition().attr("d",function(e,t){return O(e.values,t)}),v.dispatch.on("elementMouseover.area",function(e){L.select(".nv-chart-"+s+" .nv-area-"+e.seriesIndex).classed("hover",!0)}),v.dispatch.on("elementMouseout.area",function(e){L.select(".nv-chart-"+s+" .nv-area-"+e.seriesIndex).classed("hover",!1)}),g.d3_stackedOffset_stackPercent=function(e){var t=e.length,n=e[0].length,r=1/t,i,s,o,a=[];for(s=0;s<n;++s){for(i=0,o=0;i<E.length;i++)o+=u(E[i].values[s]);if(o)for(i=0;i<t;i++)e[i][s][1]/=o;else for(i=0;i<t;i++)e[i][s][1]=r}for(s=0;s<n;++s)a[s]=0;return a}}),g}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=e.utils.defaultColor(),s=Math.floor(Math.random()*1e5),o=function(e){return e.x},u=function(e){return e.y},a="stack",f="zero",l="default",c="linear",h=!1,p,d,v=e.models.scatter(),m=d3.dispatch("tooltipShow","tooltipHide","areaClick","areaMouseover","areaMouseout");return v.size(2.2).sizeDomain([2.2,2.2]),v.dispatch.on("elementClick.area",function(e){m.areaClick(e)}),v.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],m.tooltipShow(e)}),v.dispatch.on("elementMouseout.tooltip",function(e){m.tooltipHide(e)}),g.dispatch=m,g.scatter=v,d3.rebind(g,v,"interactive","size","xScale","yScale","zScale","xDomain","yDomain","xRange","yRange","sizeDomain","forceX","forceY","forceSize","clipVoronoi","useVoronoi","clipRadius","highlightPoint","clearHighlights"),g.options=e.utils.optionsFunc.bind(g),g.x=function(e){return arguments.length?(o=d3.functor(e),g):o},g.y=function(e){return arguments.length?(u=d3.functor(e),g):u},g.margin=function(e){return arguments.length?(t.top=typeof e.top!="undefined"?e.top:t.top,t.right=typeof e.right!="undefined"?e.right:t.right,t.bottom=typeof e.bottom!="undefined"?e.bottom:t.bottom,t.left=typeof e.left!="undefined"?e.left:t.left,g):t},g.width=function(e){return arguments.length?(n=e,g):n},g.height=function(e){return arguments.length?(r=e,g):r},g.clipEdge=function(e){return arguments.length?(h=e,g):h},g.color=function(t){return arguments.length?(i=e.utils.getColor(t),g):i},g.offset=function(e){return arguments.length?(f=e,g):f},g.order=function(e){return arguments.length?(l=e,g):l},g.style=function(e){if(!arguments.length)return a;a=e;switch(a){case"stack":g.offset("zero"),g.order("default");break;case"stream":g.offset("wiggle"),g.order("inside-out");break;case"stream-center":g.offset("silhouette"),g.order("inside-out");break;case"expand":g.offset("expand"),g.order("default");break;case"stack_percent":g.offset(g.d3_stackedOffset_stackPercent),g.order("default")}return g},g.interpolate=function(e){return arguments.length?(c=e,g):c},g},e.models.stackedAreaChart=function(){"use strict";function M(y){return y.each(function(y){var _=d3.select(this),D=this,P=(a||parseInt(_.style("width"))||960)-u.left-u.right,H=(f||parseInt(_.style("height"))||400)-u.top-u.bottom;M.update=function(){_.transition().duration(A).call(M)},M.container=this,S.disabled=y.map(function(e){return!!e.disabled});if(!x){var B;x={};for(B in S)S[B]instanceof Array?x[B]=S[B].slice(0):x[B]=S[B]}if(!y||!y.length||!y.filter(function(e){return e.values.length}).length){var j=_.selectAll(".nv-noData").data([T]);return j.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),j.attr("x",u.left+P/2).attr("y",u.top+H/2).text(function(e){return e}),M}_.selectAll(".nv-noData").remove(),b=t.xScale(),w=t.yScale();var F=_.selectAll("g.nv-wrap.nv-stackedAreaChart").data([y]),I=F.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedAreaChart").append("g"),q=F.select("g");I.append("rect").style("opacity",0),I.append("g").attr("class","nv-x nv-axis"),I.append("g").attr("class","nv-y nv-axis"),I.append("g").attr("class","nv-stackedWrap"),I.append("g").attr("class","nv-legendWrap"),I.append("g").attr("class","nv-controlsWrap"),I.append("g").attr("class","nv-interactive"),q.select("rect").attr("width",P).attr("height",H);if(h){var R=c?P-C:P;i.width(R),q.select(".nv-legendWrap").datum(y).call(i),u.top!=i.height()&&(u.top=i.height(),H=(f||parseInt(_.style("height"))||400)-u.top-u.bottom),q.select(".nv-legendWrap").attr("transform","translate("+(P-R)+","+ -u.top+")")}if(c){var U=[{key:L.stacked||"Stacked",metaKey:"Stacked",disabled:t.style()!="stack",style:"stack"},{key:L.stream||"Stream",metaKey:"Stream",disabled:t.style()!="stream",style:"stream"},{key:L.expanded||"Expanded",metaKey:"Expanded",disabled:t.style()!="expand",style:"expand"},{key:L.stack_percent||"Stack %",metaKey:"Stack_Percent",disabled:t.style()!="stack_percent",style:"stack_percent"}];C=k.length/3*260,U=U.filter(function(e){return k.indexOf(e.metaKey)!==-1}),s.width(C).color(["#444","#444","#444"]),q.select(".nv-controlsWrap").datum(U).call(s),u.top!=Math.max(s.height(),i.height())&&(u.top=Math.max(s.height(),i.height()),H=(f||parseInt(_.style("height"))||400)-u.top-u.bottom),q.select(".nv-controlsWrap").attr("transform","translate(0,"+ -u.top+")")}F.attr("transform","translate("+u.left+","+u.top+")"),v&&q.select(".nv-y.nv-axis").attr("transform","translate("+P+",0)"),m&&(o.width(P).height(H).margin({left:u.left,top:u.top}).svgContainer(_).xScale(b),F.select(".nv-interactive").call(o)),t.width(P).height(H);var z=q.select(".nv-stackedWrap").datum(y);z.transition().call(t),p&&(n.scale(b).ticks(P/100).tickSize(-H,0),q.select(".nv-x.nv-axis").attr("transform","translate(0,"+H+")"),q.select(".nv-x.nv-axis").transition().duration(0).call(n)),d&&(r.scale(w).ticks(t.offset()=="wiggle"?0:H/36).tickSize(-P,0).setTickFormat(t.style()=="expand"||t.style()=="stack_percent"?d3.format("%"):E),q.select(".nv-y.nv-axis").transition().duration(0).call(r)),t.dispatch.on("areaClick.toggle",function(e){y.filter(function(e){return!e.disabled}).length===1?y.forEach(function(e){e.disabled=!1}):y.forEach(function(t,n){t.disabled=n!=e.seriesIndex}),S.disabled=y.map(function(e){return!!e.disabled}),N.stateChange(S),M.update()}),i.dispatch.on("stateChange",function(e){S.disabled=e.disabled,N.stateChange(S),M.update()}),s.dispatch.on("legendClick",function(e,n){if(!e.disabled)return;U=U.map(function(e){return e.disabled=!0,e}),e.disabled=!1,t.style(e.style),S.style=t.style(),N.stateChange(S),M.update()}),o.dispatch.on("elementMousemove",function(i){t.clearHighlights();var s,a,f,c=[];y.filter(function(e,t){return e.seriesIndex=t,!e.disabled}).forEach(function(n,r){a=e.interactiveBisect(n.values,i.pointXValue,M.x()),t.highlightPoint(r,a,!0);var o=n.values[a];if(typeof o=="undefined")return;typeof s=="undefined"&&(s=o),typeof f=="undefined"&&(f=M.xScale()(M.x()(o,a)));var u=t.style()=="expand"?o.display.y:M.y()(o,a);c.push({key:n.key,value:u,color:l(n,n.seriesIndex),stackedValue:o.display})}),c.reverse();if(c.length>2){var h=M.yScale().invert(i.mouseY),p=Infinity,d=null;c.forEach(function(e,t){h=Math.abs(h);var n=Math.abs(e.stackedValue.y0),r=Math.abs(e.stackedValue.y);if(h>=n&&h<=r+n){d=t;return}}),d!=null&&(c[d].highlight=!0)}var v=n.tickFormat()(M.x()(s,a)),m=t.style()=="expand"?function(e,t){return d3.format(".1%")(e)}:function(e,t){return r.tickFormat()(e)};o.tooltip.position({left:f+u.left,top:i.mouseY+u.top}).chartContainer(D.parentNode).enabled(g).valueFormatter(m).data({value:v,series:c})(),o.renderGuideLine(f)}),o.dispatch.on("elementMouseout",function(e){N.tooltipHide(),t.clearHighlights()}),N.on("tooltipShow",function(e){g&&O(e,D.parentNode)}),N.on("changeState",function(e){typeof e.disabled!="undefined"&&y.length===e.disabled.length&&(y.forEach(function(t,n){t.disabled=e.disabled[n]}),S.disabled=e.disabled),typeof e.style!="undefined"&&t.style(e.style),M.update()})}),M}var t=e.models.stackedArea(),n=e.models.axis(),r=e.models.axis(),i=e.models.legend(),s=e.models.legend(),o=e.interactiveGuideline(),u={top:30,right:25,bottom:50,left:60},a=null,f=null,l=e.utils.defaultColor(),c=!0,h=!0,p=!0,d=!0,v=!1,m=!1,g=!0,y=function(e,t,n,r,i){return"<h3>"+e+"</h3>"+"<p>"+n+" on "+t+"</p>"},b,w,E=d3.format(",.2f"),S={style:t.style()},x=null,T="No Data Available.",N=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState"),C=250,k=["Stacked","Stream","Expanded"],L={},A=250;n.orient("bottom").tickPadding(7),r.orient(v?"right":"left"),s.updateState(!1);var O=function(i,s){var o=i.pos[0]+(s.offsetLeft||0),u=i.pos[1]+(s.offsetTop||0),a=n.tickFormat()(t.x()(i.point,i.pointIndex)),f=r.tickFormat()(t.y()(i.point,i.pointIndex)),l=y(i.series.key,a,f,i,M);e.tooltip.show([o,u],l,i.value<0?"n":"s",null,s)};return t.dispatch.on("tooltipShow",function(e){e.pos=[e.pos[0]+u.left,e.pos[1]+u.top],N.tooltipShow(e)}),t.dispatch.on("tooltipHide",function(e){N.tooltipHide(e)}),N.on("tooltipHide",function(){g&&e.tooltip.cleanup()}),M.dispatch=N,M.stacked=t,M.legend=i,M.controls=s,M.xAxis=n,M.yAxis=r,M.interactiveLayer=o,d3.rebind(M,t,"x","y","size","xScale","yScale","xDomain","yDomain","xRange","yRange","sizeDomain","interactive","useVoronoi","offset","order","style","clipEdge","forceX","forceY","forceSize","interpolate"),M.options=e.utils.optionsFunc.bind(M),M.margin=function(e){return arguments.length?(u.top=typeof e.top!="undefined"?e.top:u.top,u.right=typeof e.right!="undefined"?e.right:u.right,u.bottom=typeof e.bottom!="undefined"?e.bottom:u.bottom,u.left=typeof e.left!="undefined"?e.left:u.left,M):u},M.width=function(e){return arguments.length?(a=e,M):a},M.height=function(e){return arguments.length?(f=e,M):f},M.color=function(n){return arguments.length?(l=e.utils.getColor(n),i.color(l),t.color(l),M):l},M.showControls=function(e){return arguments.length?(c=e,M):c},M.showLegend=function(e){return arguments.length?(h=e,M):h},M.showXAxis=function(e){return arguments.length?(p=e,M):p},M.showYAxis=function(e){return arguments.length?(d=e,M):d},M.rightAlignYAxis=function(e){return arguments.length?(v=e,r.orient(e?"right":"left"),M):v},M.useInteractiveGuideline=function(e){return arguments.length?(m=e,e===!0&&(M.interactive(!1),M.useVoronoi(!1)),M):m},M.tooltip=function(e){return arguments.length?(y=e,M):y},M.tooltips=function(e){return arguments.length?(g=e,M):g},M.tooltipContent=function(e){return arguments.length?(y=e,M):y},M.state=function(e){return arguments.length?(S=e,M):S},M.defaultState=function(e){return arguments.length?(x=e,M):x},M.noData=function(e){return arguments.length?(T=e,M):T},M.transitionDuration=function(e){return arguments.length?(A=e,M):A},M.controlsData=function(e){return arguments.length?(k=e,M):k},M.controlLabels=function(e){return arguments.length?typeof e!="object"?L:(L=e,M):L},r.setTickFormat=r.tickFormat,r.tickFormat=function(e){return arguments.length?(E=e,r):E},M}})();
\ No newline at end of file
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/respond.min.js b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/respond.min.js
deleted file mode 100644
index 80a7b69..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/respond.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
- * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
- *  */
-
-!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);
\ No newline at end of file
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/method_item.html.dist b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/method_item.html.dist
deleted file mode 100644
index 4bb0e42..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/method_item.html.dist
+++ /dev/null
@@ -1,11 +0,0 @@
-     <tr>
-      <td class="{{methods_level}}" colspan="4">{{name}}</td>
-      <td class="{{methods_level}} big">{{methods_bar}}</td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td>
-      <td class="{{methods_level}} small">{{crap}}</td>
-      <td class="{{lines_level}} big">{{lines_bar}}</td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td>
-     </tr>
-
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php
deleted file mode 100644
index 223b50c..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php
+++ /dev/null
@@ -1,345 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for nodes in the code coverage information tree.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-abstract class PHP_CodeCoverage_Report_Node implements Countable
-{
-    /**
-     * @var string
-     */
-    protected $name;
-
-    /**
-     * @var string
-     */
-    protected $path;
-
-    /**
-     * @var array
-     */
-    protected $pathArray;
-
-    /**
-     * @var PHP_CodeCoverage_Report_Node
-     */
-    protected $parent;
-
-    /**
-     * @var string
-     */
-    protected $id;
-
-    /**
-     * Constructor.
-     *
-     * @param string                       $name
-     * @param PHP_CodeCoverage_Report_Node $parent
-     */
-    public function __construct($name, PHP_CodeCoverage_Report_Node $parent = null)
-    {
-        if (substr($name, -1) == '/') {
-            $name = substr($name, 0, -1);
-        }
-
-        $this->name   = $name;
-        $this->parent = $parent;
-    }
-
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * @return string
-     */
-    public function getId()
-    {
-        if ($this->id === null) {
-            $parent = $this->getParent();
-
-            if ($parent === null) {
-                $this->id = 'index';
-            } else {
-                $parentId = $parent->getId();
-
-                if ($parentId == 'index') {
-                    $this->id = str_replace(':', '_', $this->name);
-                } else {
-                    $this->id = $parentId . '/' . $this->name;
-                }
-            }
-        }
-
-        return $this->id;
-    }
-
-    /**
-     * @return string
-     */
-    public function getPath()
-    {
-        if ($this->path === null) {
-            if ($this->parent === null || $this->parent->getPath() === null) {
-                $this->path = $this->name;
-            } else {
-                $this->path = $this->parent->getPath() . '/' . $this->name;
-            }
-        }
-
-        return $this->path;
-    }
-
-    /**
-     * @return array
-     */
-    public function getPathAsArray()
-    {
-        if ($this->pathArray === null) {
-            if ($this->parent === null) {
-                $this->pathArray = array();
-            } else {
-                $this->pathArray = $this->parent->getPathAsArray();
-            }
-
-            $this->pathArray[] = $this;
-        }
-
-        return $this->pathArray;
-    }
-
-    /**
-     * @return PHP_CodeCoverage_Report_Node
-     */
-    public function getParent()
-    {
-        return $this->parent;
-    }
-
-    /**
-     * Returns the percentage of classes that has been tested.
-     *
-     * @param  boolean $asString
-     * @return integer
-     */
-    public function getTestedClassesPercent($asString = true)
-    {
-        return PHP_CodeCoverage_Util::percent(
-            $this->getNumTestedClasses(),
-            $this->getNumClasses(),
-            $asString
-        );
-    }
-
-    /**
-     * Returns the percentage of traits that has been tested.
-     *
-     * @param  boolean $asString
-     * @return integer
-     */
-    public function getTestedTraitsPercent($asString = true)
-    {
-        return PHP_CodeCoverage_Util::percent(
-            $this->getNumTestedTraits(),
-            $this->getNumTraits(),
-            $asString
-        );
-    }
-
-    /**
-     * Returns the percentage of traits that has been tested.
-     *
-     * @param  boolean $asString
-     * @return integer
-     * @since  Method available since Release 1.2.0
-     */
-    public function getTestedClassesAndTraitsPercent($asString = true)
-    {
-        return PHP_CodeCoverage_Util::percent(
-            $this->getNumTestedClassesAndTraits(),
-            $this->getNumClassesAndTraits(),
-            $asString
-        );
-    }
-
-    /**
-     * Returns the percentage of methods that has been tested.
-     *
-     * @param  boolean $asString
-     * @return integer
-     */
-    public function getTestedMethodsPercent($asString = true)
-    {
-        return PHP_CodeCoverage_Util::percent(
-            $this->getNumTestedMethods(),
-            $this->getNumMethods(),
-            $asString
-        );
-    }
-
-    /**
-     * Returns the percentage of executed lines.
-     *
-     * @param  boolean $asString
-     * @return integer
-     */
-    public function getLineExecutedPercent($asString = true)
-    {
-        return PHP_CodeCoverage_Util::percent(
-            $this->getNumExecutedLines(),
-            $this->getNumExecutableLines(),
-            $asString
-        );
-    }
-
-    /**
-     * Returns the number of classes and traits.
-     *
-     * @return integer
-     * @since  Method available since Release 1.2.0
-     */
-    public function getNumClassesAndTraits()
-    {
-        return $this->getNumClasses() + $this->getNumTraits();
-    }
-
-    /**
-     * Returns the number of tested classes and traits.
-     *
-     * @return integer
-     * @since  Method available since Release 1.2.0
-     */
-    public function getNumTestedClassesAndTraits()
-    {
-        return $this->getNumTestedClasses() + $this->getNumTestedTraits();
-    }
-
-    /**
-     * Returns the classes and traits of this node.
-     *
-     * @return array
-     * @since  Method available since Release 1.2.0
-     */
-    public function getClassesAndTraits()
-    {
-        return array_merge($this->getClasses(), $this->getTraits());
-    }
-
-    /**
-     * Returns the classes of this node.
-     *
-     * @return array
-     */
-    abstract public function getClasses();
-
-    /**
-     * Returns the traits of this node.
-     *
-     * @return array
-     */
-    abstract public function getTraits();
-
-    /**
-     * Returns the functions of this node.
-     *
-     * @return array
-     */
-    abstract public function getFunctions();
-
-    /**
-     * Returns the LOC/CLOC/NCLOC of this node.
-     *
-     * @return array
-     */
-    abstract public function getLinesOfCode();
-
-    /**
-     * Returns the number of executable lines.
-     *
-     * @return integer
-     */
-    abstract public function getNumExecutableLines();
-
-    /**
-     * Returns the number of executed lines.
-     *
-     * @return integer
-     */
-    abstract public function getNumExecutedLines();
-
-    /**
-     * Returns the number of classes.
-     *
-     * @return integer
-     */
-    abstract public function getNumClasses();
-
-    /**
-     * Returns the number of tested classes.
-     *
-     * @return integer
-     */
-    abstract public function getNumTestedClasses();
-
-    /**
-     * Returns the number of traits.
-     *
-     * @return integer
-     */
-    abstract public function getNumTraits();
-
-    /**
-     * Returns the number of tested traits.
-     *
-     * @return integer
-     */
-    abstract public function getNumTestedTraits();
-
-    /**
-     * Returns the number of methods.
-     *
-     * @return integer
-     */
-    abstract public function getNumMethods();
-
-    /**
-     * Returns the number of tested methods.
-     *
-     * @return integer
-     */
-    abstract public function getNumTestedMethods();
-
-    /**
-     * Returns the number of functions.
-     *
-     * @return integer
-     */
-    abstract public function getNumFunctions();
-
-    /**
-     * Returns the number of tested functions.
-     *
-     * @return integer
-     */
-    abstract public function getNumTestedFunctions();
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php
deleted file mode 100644
index b424b12..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php
+++ /dev/null
@@ -1,484 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a directory in the code coverage information tree.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_Node_Directory extends PHP_CodeCoverage_Report_Node implements IteratorAggregate
-{
-    /**
-     * @var PHP_CodeCoverage_Report_Node[]
-     */
-    protected $children = array();
-
-    /**
-     * @var PHP_CodeCoverage_Report_Node_Directory[]
-     */
-    protected $directories = array();
-
-    /**
-     * @var PHP_CodeCoverage_Report_Node_File[]
-     */
-    protected $files = array();
-
-    /**
-     * @var array
-     */
-    protected $classes;
-
-    /**
-     * @var array
-     */
-    protected $traits;
-
-    /**
-     * @var array
-     */
-    protected $functions;
-
-    /**
-     * @var array
-     */
-    protected $linesOfCode = null;
-
-    /**
-     * @var integer
-     */
-    protected $numFiles = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numExecutableLines = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numExecutedLines = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numClasses = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numTestedClasses = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numTraits = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numTestedTraits = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numMethods = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numTestedMethods = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numFunctions = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numTestedFunctions = -1;
-
-    /**
-     * Returns the number of files in/under this node.
-     *
-     * @return integer
-     */
-    public function count()
-    {
-        if ($this->numFiles == -1) {
-            $this->numFiles = 0;
-
-            foreach ($this->children as $child) {
-                $this->numFiles += count($child);
-            }
-        }
-
-        return $this->numFiles;
-    }
-
-    /**
-     * Returns an iterator for this node.
-     *
-     * @return RecursiveIteratorIterator
-     */
-    public function getIterator()
-    {
-        return new RecursiveIteratorIterator(
-            new PHP_CodeCoverage_Report_Node_Iterator($this),
-            RecursiveIteratorIterator::SELF_FIRST
-        );
-    }
-
-    /**
-     * Adds a new directory.
-     *
-     * @param  string                                 $name
-     * @return PHP_CodeCoverage_Report_Node_Directory
-     */
-    public function addDirectory($name)
-    {
-        $directory = new PHP_CodeCoverage_Report_Node_Directory($name, $this);
-
-        $this->children[]    = $directory;
-        $this->directories[] = &$this->children[count($this->children) - 1];
-
-        return $directory;
-    }
-
-    /**
-     * Adds a new file.
-     *
-     * @param  string                            $name
-     * @param  array                             $coverageData
-     * @param  array                             $testData
-     * @param  boolean                           $cacheTokens
-     * @return PHP_CodeCoverage_Report_Node_File
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function addFile($name, array $coverageData, array $testData, $cacheTokens)
-    {
-        $file = new PHP_CodeCoverage_Report_Node_File(
-            $name,
-            $this,
-            $coverageData,
-            $testData,
-            $cacheTokens
-        );
-
-        $this->children[] = $file;
-        $this->files[]    = &$this->children[count($this->children) - 1];
-
-        $this->numExecutableLines = -1;
-        $this->numExecutedLines   = -1;
-
-        return $file;
-    }
-
-    /**
-     * Returns the directories in this directory.
-     *
-     * @return array
-     */
-    public function getDirectories()
-    {
-        return $this->directories;
-    }
-
-    /**
-     * Returns the files in this directory.
-     *
-     * @return array
-     */
-    public function getFiles()
-    {
-        return $this->files;
-    }
-
-    /**
-     * Returns the child nodes of this node.
-     *
-     * @return array
-     */
-    public function getChildNodes()
-    {
-        return $this->children;
-    }
-
-    /**
-     * Returns the classes of this node.
-     *
-     * @return array
-     */
-    public function getClasses()
-    {
-        if ($this->classes === null) {
-            $this->classes = array();
-
-            foreach ($this->children as $child) {
-                $this->classes = array_merge(
-                    $this->classes,
-                    $child->getClasses()
-                );
-            }
-        }
-
-        return $this->classes;
-    }
-
-    /**
-     * Returns the traits of this node.
-     *
-     * @return array
-     */
-    public function getTraits()
-    {
-        if ($this->traits === null) {
-            $this->traits = array();
-
-            foreach ($this->children as $child) {
-                $this->traits = array_merge(
-                    $this->traits,
-                    $child->getTraits()
-                );
-            }
-        }
-
-        return $this->traits;
-    }
-
-    /**
-     * Returns the functions of this node.
-     *
-     * @return array
-     */
-    public function getFunctions()
-    {
-        if ($this->functions === null) {
-            $this->functions = array();
-
-            foreach ($this->children as $child) {
-                $this->functions = array_merge(
-                    $this->functions,
-                    $child->getFunctions()
-                );
-            }
-        }
-
-        return $this->functions;
-    }
-
-    /**
-     * Returns the LOC/CLOC/NCLOC of this node.
-     *
-     * @return array
-     */
-    public function getLinesOfCode()
-    {
-        if ($this->linesOfCode === null) {
-            $this->linesOfCode = array('loc' => 0, 'cloc' => 0, 'ncloc' => 0);
-
-            foreach ($this->children as $child) {
-                $linesOfCode = $child->getLinesOfCode();
-
-                $this->linesOfCode['loc']   += $linesOfCode['loc'];
-                $this->linesOfCode['cloc']  += $linesOfCode['cloc'];
-                $this->linesOfCode['ncloc'] += $linesOfCode['ncloc'];
-            }
-        }
-
-        return $this->linesOfCode;
-    }
-
-    /**
-     * Returns the number of executable lines.
-     *
-     * @return integer
-     */
-    public function getNumExecutableLines()
-    {
-        if ($this->numExecutableLines == -1) {
-            $this->numExecutableLines = 0;
-
-            foreach ($this->children as $child) {
-                $this->numExecutableLines += $child->getNumExecutableLines();
-            }
-        }
-
-        return $this->numExecutableLines;
-    }
-
-    /**
-     * Returns the number of executed lines.
-     *
-     * @return integer
-     */
-    public function getNumExecutedLines()
-    {
-        if ($this->numExecutedLines == -1) {
-            $this->numExecutedLines = 0;
-
-            foreach ($this->children as $child) {
-                $this->numExecutedLines += $child->getNumExecutedLines();
-            }
-        }
-
-        return $this->numExecutedLines;
-    }
-
-    /**
-     * Returns the number of classes.
-     *
-     * @return integer
-     */
-    public function getNumClasses()
-    {
-        if ($this->numClasses == -1) {
-            $this->numClasses = 0;
-
-            foreach ($this->children as $child) {
-                $this->numClasses += $child->getNumClasses();
-            }
-        }
-
-        return $this->numClasses;
-    }
-
-    /**
-     * Returns the number of tested classes.
-     *
-     * @return integer
-     */
-    public function getNumTestedClasses()
-    {
-        if ($this->numTestedClasses == -1) {
-            $this->numTestedClasses = 0;
-
-            foreach ($this->children as $child) {
-                $this->numTestedClasses += $child->getNumTestedClasses();
-            }
-        }
-
-        return $this->numTestedClasses;
-    }
-
-    /**
-     * Returns the number of traits.
-     *
-     * @return integer
-     */
-    public function getNumTraits()
-    {
-        if ($this->numTraits == -1) {
-            $this->numTraits = 0;
-
-            foreach ($this->children as $child) {
-                $this->numTraits += $child->getNumTraits();
-            }
-        }
-
-        return $this->numTraits;
-    }
-
-    /**
-     * Returns the number of tested traits.
-     *
-     * @return integer
-     */
-    public function getNumTestedTraits()
-    {
-        if ($this->numTestedTraits == -1) {
-            $this->numTestedTraits = 0;
-
-            foreach ($this->children as $child) {
-                $this->numTestedTraits += $child->getNumTestedTraits();
-            }
-        }
-
-        return $this->numTestedTraits;
-    }
-
-    /**
-     * Returns the number of methods.
-     *
-     * @return integer
-     */
-    public function getNumMethods()
-    {
-        if ($this->numMethods == -1) {
-            $this->numMethods = 0;
-
-            foreach ($this->children as $child) {
-                $this->numMethods += $child->getNumMethods();
-            }
-        }
-
-        return $this->numMethods;
-    }
-
-    /**
-     * Returns the number of tested methods.
-     *
-     * @return integer
-     */
-    public function getNumTestedMethods()
-    {
-        if ($this->numTestedMethods == -1) {
-            $this->numTestedMethods = 0;
-
-            foreach ($this->children as $child) {
-                $this->numTestedMethods += $child->getNumTestedMethods();
-            }
-        }
-
-        return $this->numTestedMethods;
-    }
-
-    /**
-     * Returns the number of functions.
-     *
-     * @return integer
-     */
-    public function getNumFunctions()
-    {
-        if ($this->numFunctions == -1) {
-            $this->numFunctions = 0;
-
-            foreach ($this->children as $child) {
-                $this->numFunctions += $child->getNumFunctions();
-            }
-        }
-
-        return $this->numFunctions;
-    }
-
-    /**
-     * Returns the number of tested functions.
-     *
-     * @return integer
-     */
-    public function getNumTestedFunctions()
-    {
-        if ($this->numTestedFunctions == -1) {
-            $this->numTestedFunctions = 0;
-
-            foreach ($this->children as $child) {
-                $this->numTestedFunctions += $child->getNumTestedFunctions();
-            }
-        }
-
-        return $this->numTestedFunctions;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php
deleted file mode 100644
index 6f0dcb2..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php
+++ /dev/null
@@ -1,662 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a file in the code coverage information tree.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_Node_File extends PHP_CodeCoverage_Report_Node
-{
-    /**
-     * @var array
-     */
-    protected $coverageData;
-
-    /**
-     * @var array
-     */
-    protected $testData;
-
-    /**
-     * @var integer
-     */
-    protected $numExecutableLines = 0;
-
-    /**
-     * @var integer
-     */
-    protected $numExecutedLines = 0;
-
-    /**
-     * @var array
-     */
-    protected $classes = array();
-
-    /**
-     * @var array
-     */
-    protected $traits = array();
-
-    /**
-     * @var array
-     */
-    protected $functions = array();
-
-    /**
-     * @var array
-     */
-    protected $linesOfCode = array();
-
-    /**
-     * @var integer
-     */
-    protected $numTestedTraits = 0;
-
-    /**
-     * @var integer
-     */
-    protected $numTestedClasses = 0;
-
-    /**
-     * @var integer
-     */
-    protected $numMethods = null;
-
-    /**
-     * @var integer
-     */
-    protected $numTestedMethods = null;
-
-    /**
-     * @var integer
-     */
-    protected $numTestedFunctions = null;
-
-    /**
-     * @var array
-     */
-    protected $startLines = array();
-
-    /**
-     * @var array
-     */
-    protected $endLines = array();
-
-    /**
-     * @var boolean
-     */
-    protected $cacheTokens;
-
-    /**
-     * Constructor.
-     *
-     * @param  string                       $name
-     * @param  PHP_CodeCoverage_Report_Node $parent
-     * @param  array                        $coverageData
-     * @param  array                        $testData
-     * @param  boolean                      $cacheTokens
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function __construct($name, PHP_CodeCoverage_Report_Node $parent, array $coverageData, array $testData, $cacheTokens)
-    {
-        if (!is_bool($cacheTokens)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        parent::__construct($name, $parent);
-
-        $this->coverageData = $coverageData;
-        $this->testData     = $testData;
-        $this->cacheTokens  = $cacheTokens;
-
-        $this->calculateStatistics();
-    }
-
-    /**
-     * Returns the number of files in/under this node.
-     *
-     * @return integer
-     */
-    public function count()
-    {
-        return 1;
-    }
-
-    /**
-     * Returns the code coverage data of this node.
-     *
-     * @return array
-     */
-    public function getCoverageData()
-    {
-        return $this->coverageData;
-    }
-
-    /**
-     * Returns the test data of this node.
-     *
-     * @return array
-     */
-    public function getTestData()
-    {
-        return $this->testData;
-    }
-
-    /**
-     * Returns the classes of this node.
-     *
-     * @return array
-     */
-    public function getClasses()
-    {
-        return $this->classes;
-    }
-
-    /**
-     * Returns the traits of this node.
-     *
-     * @return array
-     */
-    public function getTraits()
-    {
-        return $this->traits;
-    }
-
-    /**
-     * Returns the functions of this node.
-     *
-     * @return array
-     */
-    public function getFunctions()
-    {
-        return $this->functions;
-    }
-
-    /**
-     * Returns the LOC/CLOC/NCLOC of this node.
-     *
-     * @return array
-     */
-    public function getLinesOfCode()
-    {
-        return $this->linesOfCode;
-    }
-
-    /**
-     * Returns the number of executable lines.
-     *
-     * @return integer
-     */
-    public function getNumExecutableLines()
-    {
-        return $this->numExecutableLines;
-    }
-
-    /**
-     * Returns the number of executed lines.
-     *
-     * @return integer
-     */
-    public function getNumExecutedLines()
-    {
-        return $this->numExecutedLines;
-    }
-
-    /**
-     * Returns the number of classes.
-     *
-     * @return integer
-     */
-    public function getNumClasses()
-    {
-        return count($this->classes);
-    }
-
-    /**
-     * Returns the number of tested classes.
-     *
-     * @return integer
-     */
-    public function getNumTestedClasses()
-    {
-        return $this->numTestedClasses;
-    }
-
-    /**
-     * Returns the number of traits.
-     *
-     * @return integer
-     */
-    public function getNumTraits()
-    {
-        return count($this->traits);
-    }
-
-    /**
-     * Returns the number of tested traits.
-     *
-     * @return integer
-     */
-    public function getNumTestedTraits()
-    {
-        return $this->numTestedTraits;
-    }
-
-    /**
-     * Returns the number of methods.
-     *
-     * @return integer
-     */
-    public function getNumMethods()
-    {
-        if ($this->numMethods === null) {
-            $this->numMethods = 0;
-
-            foreach ($this->classes as $class) {
-                foreach ($class['methods'] as $method) {
-                    if ($method['executableLines'] > 0) {
-                        $this->numMethods++;
-                    }
-                }
-            }
-
-            foreach ($this->traits as $trait) {
-                foreach ($trait['methods'] as $method) {
-                    if ($method['executableLines'] > 0) {
-                        $this->numMethods++;
-                    }
-                }
-            }
-        }
-
-        return $this->numMethods;
-    }
-
-    /**
-     * Returns the number of tested methods.
-     *
-     * @return integer
-     */
-    public function getNumTestedMethods()
-    {
-        if ($this->numTestedMethods === null) {
-            $this->numTestedMethods = 0;
-
-            foreach ($this->classes as $class) {
-                foreach ($class['methods'] as $method) {
-                    if ($method['executableLines'] > 0 &&
-                        $method['coverage'] == 100) {
-                        $this->numTestedMethods++;
-                    }
-                }
-            }
-
-            foreach ($this->traits as $trait) {
-                foreach ($trait['methods'] as $method) {
-                    if ($method['executableLines'] > 0 &&
-                        $method['coverage'] == 100) {
-                        $this->numTestedMethods++;
-                    }
-                }
-            }
-        }
-
-        return $this->numTestedMethods;
-    }
-
-    /**
-     * Returns the number of functions.
-     *
-     * @return integer
-     */
-    public function getNumFunctions()
-    {
-        return count($this->functions);
-    }
-
-    /**
-     * Returns the number of tested functions.
-     *
-     * @return integer
-     */
-    public function getNumTestedFunctions()
-    {
-        if ($this->numTestedFunctions === null) {
-            $this->numTestedFunctions = 0;
-
-            foreach ($this->functions as $function) {
-                if ($function['executableLines'] > 0 &&
-                    $function['coverage'] == 100) {
-                    $this->numTestedFunctions++;
-                }
-            }
-        }
-
-        return $this->numTestedFunctions;
-    }
-
-    /**
-     * Calculates coverage statistics for the file.
-     */
-    protected function calculateStatistics()
-    {
-        if ($this->cacheTokens) {
-            $tokens = PHP_Token_Stream_CachingFactory::get($this->getPath());
-        } else {
-            $tokens = new PHP_Token_Stream($this->getPath());
-        }
-
-        $this->processClasses($tokens);
-        $this->processTraits($tokens);
-        $this->processFunctions($tokens);
-        $this->linesOfCode = $tokens->getLinesOfCode();
-        unset($tokens);
-
-        for ($lineNumber = 1; $lineNumber <= $this->linesOfCode['loc']; $lineNumber++) {
-            if (isset($this->startLines[$lineNumber])) {
-                // Start line of a class.
-                if (isset($this->startLines[$lineNumber]['className'])) {
-                    $currentClass = &$this->startLines[$lineNumber];
-                } // Start line of a trait.
-                elseif (isset($this->startLines[$lineNumber]['traitName'])) {
-                    $currentTrait = &$this->startLines[$lineNumber];
-                } // Start line of a method.
-                elseif (isset($this->startLines[$lineNumber]['methodName'])) {
-                    $currentMethod = &$this->startLines[$lineNumber];
-                } // Start line of a function.
-                elseif (isset($this->startLines[$lineNumber]['functionName'])) {
-                    $currentFunction = &$this->startLines[$lineNumber];
-                }
-            }
-
-            if (isset($this->coverageData[$lineNumber]) &&
-                $this->coverageData[$lineNumber] !== null) {
-                if (isset($currentClass)) {
-                    $currentClass['executableLines']++;
-                }
-
-                if (isset($currentTrait)) {
-                    $currentTrait['executableLines']++;
-                }
-
-                if (isset($currentMethod)) {
-                    $currentMethod['executableLines']++;
-                }
-
-                if (isset($currentFunction)) {
-                    $currentFunction['executableLines']++;
-                }
-
-                $this->numExecutableLines++;
-
-                if (count($this->coverageData[$lineNumber]) > 0) {
-                    if (isset($currentClass)) {
-                        $currentClass['executedLines']++;
-                    }
-
-                    if (isset($currentTrait)) {
-                        $currentTrait['executedLines']++;
-                    }
-
-                    if (isset($currentMethod)) {
-                        $currentMethod['executedLines']++;
-                    }
-
-                    if (isset($currentFunction)) {
-                        $currentFunction['executedLines']++;
-                    }
-
-                    $this->numExecutedLines++;
-                }
-            }
-
-            if (isset($this->endLines[$lineNumber])) {
-                // End line of a class.
-                if (isset($this->endLines[$lineNumber]['className'])) {
-                    unset($currentClass);
-                } // End line of a trait.
-                elseif (isset($this->endLines[$lineNumber]['traitName'])) {
-                    unset($currentTrait);
-                } // End line of a method.
-                elseif (isset($this->endLines[$lineNumber]['methodName'])) {
-                    unset($currentMethod);
-                } // End line of a function.
-                elseif (isset($this->endLines[$lineNumber]['functionName'])) {
-                    unset($currentFunction);
-                }
-            }
-        }
-
-        foreach ($this->traits as &$trait) {
-            foreach ($trait['methods'] as &$method) {
-                if ($method['executableLines'] > 0) {
-                    $method['coverage'] = ($method['executedLines'] /
-                            $method['executableLines']) * 100;
-                } else {
-                    $method['coverage'] = 100;
-                }
-
-                $method['crap'] = $this->crap(
-                    $method['ccn'],
-                    $method['coverage']
-                );
-
-                $trait['ccn'] += $method['ccn'];
-            }
-
-            if ($trait['executableLines'] > 0) {
-                $trait['coverage'] = ($trait['executedLines'] /
-                        $trait['executableLines']) * 100;
-            } else {
-                $trait['coverage'] = 100;
-            }
-
-            if ($trait['coverage'] == 100) {
-                $this->numTestedClasses++;
-            }
-
-            $trait['crap'] = $this->crap(
-                $trait['ccn'],
-                $trait['coverage']
-            );
-        }
-
-        foreach ($this->classes as &$class) {
-            foreach ($class['methods'] as &$method) {
-                if ($method['executableLines'] > 0) {
-                    $method['coverage'] = ($method['executedLines'] /
-                            $method['executableLines']) * 100;
-                } else {
-                    $method['coverage'] = 100;
-                }
-
-                $method['crap'] = $this->crap(
-                    $method['ccn'],
-                    $method['coverage']
-                );
-
-                $class['ccn'] += $method['ccn'];
-            }
-
-            if ($class['executableLines'] > 0) {
-                $class['coverage'] = ($class['executedLines'] /
-                        $class['executableLines']) * 100;
-            } else {
-                $class['coverage'] = 100;
-            }
-
-            if ($class['coverage'] == 100) {
-                $this->numTestedClasses++;
-            }
-
-            $class['crap'] = $this->crap(
-                $class['ccn'],
-                $class['coverage']
-            );
-        }
-    }
-
-    /**
-     * @param PHP_Token_Stream $tokens
-     */
-    protected function processClasses(PHP_Token_Stream $tokens)
-    {
-        $classes = $tokens->getClasses();
-        unset($tokens);
-
-        $link = $this->getId() . '.html#';
-
-        foreach ($classes as $className => $class) {
-            $this->classes[$className] = array(
-                'className'       => $className,
-                'methods'         => array(),
-                'startLine'       => $class['startLine'],
-                'executableLines' => 0,
-                'executedLines'   => 0,
-                'ccn'             => 0,
-                'coverage'        => 0,
-                'crap'            => 0,
-                'package'         => $class['package'],
-                'link'            => $link . $class['startLine']
-            );
-
-            $this->startLines[$class['startLine']] = &$this->classes[$className];
-            $this->endLines[$class['endLine']]     = &$this->classes[$className];
-
-            foreach ($class['methods'] as $methodName => $method) {
-                $this->classes[$className]['methods'][$methodName] = array(
-                    'methodName'      => $methodName,
-                    'signature'       => $method['signature'],
-                    'startLine'       => $method['startLine'],
-                    'endLine'         => $method['endLine'],
-                    'executableLines' => 0,
-                    'executedLines'   => 0,
-                    'ccn'             => $method['ccn'],
-                    'coverage'        => 0,
-                    'crap'            => 0,
-                    'link'            => $link . $method['startLine']
-                );
-
-                $this->startLines[$method['startLine']] = &$this->classes[$className]['methods'][$methodName];
-                $this->endLines[$method['endLine']]     = &$this->classes[$className]['methods'][$methodName];
-            }
-        }
-    }
-
-    /**
-     * @param PHP_Token_Stream $tokens
-     */
-    protected function processTraits(PHP_Token_Stream $tokens)
-    {
-        $traits = $tokens->getTraits();
-        unset($tokens);
-
-        $link = $this->getId() . '.html#';
-
-        foreach ($traits as $traitName => $trait) {
-            $this->traits[$traitName] = array(
-                'traitName'       => $traitName,
-                'methods'         => array(),
-                'startLine'       => $trait['startLine'],
-                'executableLines' => 0,
-                'executedLines'   => 0,
-                'ccn'             => 0,
-                'coverage'        => 0,
-                'crap'            => 0,
-                'package'         => $trait['package'],
-                'link'            => $link . $trait['startLine']
-            );
-
-            $this->startLines[$trait['startLine']] = &$this->traits[$traitName];
-            $this->endLines[$trait['endLine']]     = &$this->traits[$traitName];
-
-            foreach ($trait['methods'] as $methodName => $method) {
-                $this->traits[$traitName]['methods'][$methodName] = array(
-                    'methodName'      => $methodName,
-                    'signature'       => $method['signature'],
-                    'startLine'       => $method['startLine'],
-                    'endLine'         => $method['endLine'],
-                    'executableLines' => 0,
-                    'executedLines'   => 0,
-                    'ccn'             => $method['ccn'],
-                    'coverage'        => 0,
-                    'crap'            => 0,
-                    'link'            => $link . $method['startLine']
-                );
-
-                $this->startLines[$method['startLine']] = &$this->traits[$traitName]['methods'][$methodName];
-                $this->endLines[$method['endLine']]     = &$this->traits[$traitName]['methods'][$methodName];
-            }
-        }
-    }
-
-    /**
-     * @param PHP_Token_Stream $tokens
-     */
-    protected function processFunctions(PHP_Token_Stream $tokens)
-    {
-        $functions = $tokens->getFunctions();
-        unset($tokens);
-
-        $link = $this->getId() . '.html#';
-
-        foreach ($functions as $functionName => $function) {
-            $this->functions[$functionName] = array(
-                'functionName'    => $functionName,
-                'signature'       => $function['signature'],
-                'startLine'       => $function['startLine'],
-                'executableLines' => 0,
-                'executedLines'   => 0,
-                'ccn'             => $function['ccn'],
-                'coverage'        => 0,
-                'crap'            => 0,
-                'link'            => $link . $function['startLine']
-            );
-
-            $this->startLines[$function['startLine']] = &$this->functions[$functionName];
-            $this->endLines[$function['endLine']]     = &$this->functions[$functionName];
-        }
-    }
-
-    /**
-     * Calculates the Change Risk Anti-Patterns (CRAP) index for a unit of code
-     * based on its cyclomatic complexity and percentage of code coverage.
-     *
-     * @param  integer $ccn
-     * @param  float   $coverage
-     * @return string
-     * @since  Method available since Release 1.2.0
-     */
-    protected function crap($ccn, $coverage)
-    {
-        if ($coverage == 0) {
-            return (string) pow($ccn, 2) + $ccn;
-        }
-
-        if ($coverage >= 95) {
-            return (string) $ccn;
-        }
-
-        return sprintf(
-            '%01.2F',
-            pow($ccn, 2) * pow(1 - $coverage/100, 3) + $ccn
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php
deleted file mode 100644
index e9cdbfd..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Recursive iterator for PHP_CodeCoverage_Report_Node object graphs.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_Node_Iterator implements RecursiveIterator
-{
-    /**
-     * @var integer
-     */
-    protected $position;
-
-    /**
-     * @var PHP_CodeCoverage_Report_Node[]
-     */
-    protected $nodes;
-
-    /**
-     * Constructor.
-     *
-     * @param PHP_CodeCoverage_Report_Node_Directory $node
-     */
-    public function __construct(PHP_CodeCoverage_Report_Node_Directory $node)
-    {
-        $this->nodes = $node->getChildNodes();
-    }
-
-    /**
-     * Rewinds the Iterator to the first element.
-     *
-     */
-    public function rewind()
-    {
-        $this->position = 0;
-    }
-
-    /**
-     * Checks if there is a current element after calls to rewind() or next().
-     *
-     * @return boolean
-     */
-    public function valid()
-    {
-        return $this->position < count($this->nodes);
-    }
-
-    /**
-     * Returns the key of the current element.
-     *
-     * @return integer
-     */
-    public function key()
-    {
-        return $this->position;
-    }
-
-    /**
-     * Returns the current element.
-     *
-     * @return PHPUnit_Framework_Test
-     */
-    public function current()
-    {
-        return $this->valid() ? $this->nodes[$this->position] : null;
-    }
-
-    /**
-     * Moves forward to next element.
-     *
-     */
-    public function next()
-    {
-        $this->position++;
-    }
-
-    /**
-     * Returns the sub iterator for the current element.
-     *
-     * @return PHP_CodeCoverage_Report_Node_Iterator
-     */
-    public function getChildren()
-    {
-        return new PHP_CodeCoverage_Report_Node_Iterator(
-            $this->nodes[$this->position]
-        );
-    }
-
-    /**
-     * Checks whether the current element has children.
-     *
-     * @return boolean
-     */
-    public function hasChildren()
-    {
-        return $this->nodes[$this->position] instanceof PHP_CodeCoverage_Report_Node_Directory;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php
deleted file mode 100644
index dfcc43d..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Uses var_export() to write a PHP_CodeCoverage object to a file.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     uyga <iamuyga@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_PHP
-{
-    /**
-     * @param  PHP_CodeCoverage $coverage
-     * @param  string           $target
-     * @return string
-     */
-    public function process(PHP_CodeCoverage $coverage, $target = null)
-    {
-        $filter = $coverage->filter();
-
-        $output = sprintf(
-            '<?php
-$coverage = new PHP_CodeCoverage;
-$coverage->setData(%s);
-$coverage->setTests(%s);
-
-$filter = $coverage->filter();
-$filter->setBlacklistedFiles(%s);
-$filter->setWhitelistedFiles(%s);
-
-return $coverage;',
-            var_export($coverage->getData(true), 1),
-            var_export($coverage->getTests(), 1),
-            var_export($filter->getBlacklistedFiles(), 1),
-            var_export($filter->getWhitelistedFiles(), 1)
-        );
-
-        if ($target !== null) {
-            return file_put_contents($target, $output);
-        } else {
-            return $output;
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php
deleted file mode 100644
index 1f74709..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php
+++ /dev/null
@@ -1,252 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Generates human readable output from an PHP_CodeCoverage object.
- *
- * The output gets put into a text file our written to the CLI.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_Text
-{
-    protected $lowUpperBound;
-    protected $highLowerBound;
-    protected $showUncoveredFiles;
-    protected $showOnlySummary;
-
-    protected $colors = array(
-        'green'  => "\x1b[30;42m",
-        'yellow' => "\x1b[30;43m",
-        'red'    => "\x1b[37;41m",
-        'header' => "\x1b[1;37;40m",
-        'reset'  => "\x1b[0m",
-        'eol'    => "\x1b[2K",
-    );
-
-    public function __construct($lowUpperBound, $highLowerBound, $showUncoveredFiles, $showOnlySummary)
-    {
-        $this->lowUpperBound      = $lowUpperBound;
-        $this->highLowerBound     = $highLowerBound;
-        $this->showUncoveredFiles = $showUncoveredFiles;
-        $this->showOnlySummary    = $showOnlySummary;
-    }
-
-    /**
-     * @param  PHP_CodeCoverage $coverage
-     * @param  bool             $showColors
-     * @return string
-     */
-    public function process(PHP_CodeCoverage $coverage, $showColors = false)
-    {
-        $output = PHP_EOL . PHP_EOL;
-        $report = $coverage->getReport();
-        unset($coverage);
-
-        $colors = array(
-            'header'  => '',
-            'classes' => '',
-            'methods' => '',
-            'lines'   => '',
-            'reset'   => '',
-            'eol'     => ''
-        );
-
-        if ($showColors) {
-            $colors['classes'] = $this->getCoverageColor(
-                $report->getNumTestedClassesAndTraits(),
-                $report->getNumClassesAndTraits()
-            );
-            $colors['methods'] = $this->getCoverageColor(
-                $report->getNumTestedMethods(),
-                $report->getNumMethods()
-            );
-            $colors['lines']   = $this->getCoverageColor(
-                $report->getNumExecutedLines(),
-                $report->getNumExecutableLines()
-            );
-            $colors['reset']   = $this->colors['reset'];
-            $colors['header']  = $this->colors['header'];
-            $colors['eol']     = $this->colors['eol'];
-        }
-
-        $classes = sprintf(
-            '  Classes: %6s (%d/%d)',
-            PHP_CodeCoverage_Util::percent(
-                $report->getNumTestedClassesAndTraits(),
-                $report->getNumClassesAndTraits(),
-                true
-            ),
-            $report->getNumTestedClassesAndTraits(),
-            $report->getNumClassesAndTraits()
-        );
-
-        $methods = sprintf(
-            '  Methods: %6s (%d/%d)',
-            PHP_CodeCoverage_Util::percent(
-                $report->getNumTestedMethods(),
-                $report->getNumMethods(),
-                true
-            ),
-            $report->getNumTestedMethods(),
-            $report->getNumMethods()
-        );
-
-        $lines = sprintf(
-            '  Lines:   %6s (%d/%d)',
-            PHP_CodeCoverage_Util::percent(
-                $report->getNumExecutedLines(),
-                $report->getNumExecutableLines(),
-                true
-            ),
-            $report->getNumExecutedLines(),
-            $report->getNumExecutableLines()
-        );
-
-        $padding = max(array_map('strlen', array($classes, $methods, $lines)));
-
-        if ($this->showOnlySummary) {
-            $title = 'Code Coverage Report Summary:';
-            $padding = max($padding, strlen($title));
-
-            $output .= $this->format($colors['header'], $padding, $title);
-        } else {
-            $date = date('  Y-m-d H:i:s', $_SERVER['REQUEST_TIME']);
-            $title = 'Code Coverage Report:';
-
-            $output .= $this->format($colors['header'], $padding, $title);
-            $output .= $this->format($colors['header'], $padding, $date);
-            $output .= $this->format($colors['header'], $padding, '');
-            $output .= $this->format($colors['header'], $padding, ' Summary:');
-        }
-
-        $output .= $this->format($colors['classes'], $padding, $classes);
-        $output .= $this->format($colors['methods'], $padding, $methods);
-        $output .= $this->format($colors['lines'], $padding, $lines);
-
-        if ($this->showOnlySummary) {
-            return $output . PHP_EOL;
-        }
-
-        $classCoverage = array();
-
-        foreach ($report as $item) {
-            if (!$item instanceof PHP_CodeCoverage_Report_Node_File) {
-                continue;
-            }
-
-            $classes  = $item->getClassesAndTraits();
-
-            foreach ($classes as $className => $class) {
-                $classStatements        = 0;
-                $coveredClassStatements = 0;
-                $coveredMethods         = 0;
-                $classMethods           = 0;
-
-                foreach ($class['methods'] as $method) {
-                    if ($method['executableLines'] == 0) {
-                        continue;
-                    }
-
-                    $classMethods++;
-                    $classStatements        += $method['executableLines'];
-                    $coveredClassStatements += $method['executedLines'];
-                    if ($method['coverage'] == 100) {
-                        $coveredMethods++;
-                    }
-                }
-
-                if (!empty($class['package']['namespace'])) {
-                    $namespace = '\\' . $class['package']['namespace'] . '::';
-                } elseif (!empty($class['package']['fullPackage'])) {
-                    $namespace = '@' . $class['package']['fullPackage'] . '::';
-                } else {
-                    $namespace = '';
-                }
-
-                $classCoverage[$namespace . $className] = array(
-                    'namespace'         => $namespace,
-                    'className '        => $className,
-                    'methodsCovered'    => $coveredMethods,
-                    'methodCount'       => $classMethods,
-                    'statementsCovered' => $coveredClassStatements,
-                    'statementCount'    => $classStatements,
-                );
-            }
-        }
-
-        ksort($classCoverage);
-
-        $methodColor = '';
-        $linesColor  = '';
-        $resetColor  = '';
-
-        foreach ($classCoverage as $fullQualifiedPath => $classInfo) {
-            if ($classInfo['statementsCovered'] != 0 ||
-                $this->showUncoveredFiles) {
-                if ($showColors) {
-                    $methodColor = $this->getCoverageColor($classInfo['methodsCovered'], $classInfo['methodCount']);
-                    $linesColor  = $this->getCoverageColor($classInfo['statementsCovered'], $classInfo['statementCount']);
-                    $resetColor  = $colors['reset'];
-                }
-
-                $output .= PHP_EOL . $fullQualifiedPath . PHP_EOL
-                    . '  ' . $methodColor . 'Methods: ' . $this->printCoverageCounts($classInfo['methodsCovered'], $classInfo['methodCount'], 2) . $resetColor . ' '
-                    . '  ' . $linesColor  . 'Lines: ' . $this->printCoverageCounts($classInfo['statementsCovered'], $classInfo['statementCount'], 3) . $resetColor
-                ;
-            }
-        }
-
-        return $output . PHP_EOL;
-    }
-
-    protected function getCoverageColor($numberOfCoveredElements, $totalNumberOfElements)
-    {
-        $coverage = PHP_CodeCoverage_Util::percent(
-            $numberOfCoveredElements,
-            $totalNumberOfElements
-        );
-
-        if ($coverage > $this->highLowerBound) {
-            return $this->colors['green'];
-        } elseif ($coverage > $this->lowUpperBound) {
-            return $this->colors['yellow'];
-        }
-
-        return $this->colors['red'];
-    }
-
-    protected function printCoverageCounts($numberOfCoveredElements, $totalNumberOfElements, $presicion)
-    {
-        $format = '%' . $presicion . 's';
-
-        return PHP_CodeCoverage_Util::percent(
-            $numberOfCoveredElements,
-            $totalNumberOfElements,
-            true,
-            true
-        ) .
-        ' (' . sprintf($format, $numberOfCoveredElements) . '/' .
-        sprintf($format, $totalNumberOfElements) . ')';
-    }
-
-    private function format($color, $padding, $string)
-    {
-        $reset = $color ? $this->colors['reset'] : '';
-
-        return $color . str_pad($string, $padding) . $reset . PHP_EOL;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php
deleted file mode 100644
index 52380e6..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php
+++ /dev/null
@@ -1,240 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML
-{
-    /**
-     * @var string
-     */
-    private $target;
-
-    /**
-     * @var PHP_CodeCoverage_Report_XML_Project
-     */
-    private $project;
-
-    public function process(PHP_CodeCoverage $coverage, $target)
-    {
-        if (substr($target, -1, 1) != DIRECTORY_SEPARATOR) {
-            $target .= DIRECTORY_SEPARATOR;
-        }
-
-        $this->target = $target;
-        $this->initTargetDirectory($target);
-
-        $report = $coverage->getReport();
-
-        $this->project = new PHP_CodeCoverage_Report_XML_Project(
-            $coverage->getReport()->getName()
-        );
-
-        $this->processTests($coverage->getTests());
-        $this->processDirectory($report, $this->project);
-
-        $index = $this->project->asDom();
-        $index->formatOutput = true;
-        $index->preserveWhiteSpace = false;
-        $index->save($target . '/index.xml');
-    }
-
-    private function initTargetDirectory($dir)
-    {
-        if (file_exists($dir)) {
-            if (!is_dir($dir)) {
-                throw new PHP_CodeCoverage_Exception(
-                    "'$dir' exists but is not a directory."
-                );
-            }
-
-            if (!is_writable($dir)) {
-                throw new PHP_CodeCoverage_Exception(
-                    "'$dir' exists but is not writable."
-                );
-            }
-        } elseif (!@mkdir($dir, 0777, true)) {
-            throw new PHP_CodeCoverage_Exception(
-                "'$dir' could not be created."
-            );
-        }
-    }
-
-    private function processDirectory(PHP_CodeCoverage_Report_Node_Directory $directory, PHP_CodeCoverage_Report_XML_Node $context)
-    {
-        $dirObject = $context->addDirectory($directory->getName());
-
-        $this->setTotals($directory, $dirObject->getTotals());
-
-        foreach ($directory as $node) {
-            if ($node instanceof PHP_CodeCoverage_Report_Node_Directory) {
-                $this->processDirectory($node, $dirObject);
-                continue;
-            }
-
-            if ($node instanceof PHP_CodeCoverage_Report_Node_File) {
-                $this->processFile($node, $dirObject);
-                continue;
-            }
-
-            throw new PHP_CodeCoverage_Exception(
-                'Unknown node type for XML report'
-            );
-        }
-    }
-
-    private function processFile(PHP_CodeCoverage_Report_Node_File $file, PHP_CodeCoverage_Report_XML_Directory $context)
-    {
-        $fileObject = $context->addFile(
-            $file->getName(),
-            $file->getId() . '.xml'
-        );
-
-        $this->setTotals($file, $fileObject->getTotals());
-
-        $fileReport = new PHP_CodeCoverage_Report_XML_File_Report(
-            $file->getName()
-        );
-
-        $this->setTotals($file, $fileReport->getTotals());
-
-        foreach ($file->getClassesAndTraits() as $unit) {
-            $this->processUnit($unit, $fileReport);
-        }
-
-        foreach ($file->getFunctions() as $function) {
-            $this->processFunction($function, $fileReport);
-        }
-
-        foreach ($file->getCoverageData() as $line => $tests) {
-            if (!is_array($tests) || count($tests) == 0) {
-                continue;
-            }
-
-            $coverage = $fileReport->getLineCoverage($line);
-
-            foreach ($tests as $test) {
-                $coverage->addTest($test);
-            }
-
-            $coverage->finalize();
-        }
-
-        $this->initTargetDirectory(
-            $this->target . dirname($file->getId()) . '/'
-        );
-
-        $fileDom = $fileReport->asDom();
-        $fileDom->formatOutput = true;
-        $fileDom->preserveWhiteSpace = false;
-        $fileDom->save($this->target . $file->getId() . '.xml');
-    }
-
-    private function processUnit($unit, PHP_CodeCoverage_Report_XML_File_Report $report)
-    {
-        if (isset($unit['className'])) {
-            $unitObject = $report->getClassObject($unit['className']);
-        } else {
-            $unitObject = $report->getTraitObject($unit['traitName']);
-        }
-
-        $unitObject->setLines(
-            $unit['startLine'],
-            $unit['executableLines'],
-            $unit['executedLines']
-        );
-
-        $unitObject->setCrap($unit['crap']);
-
-        $unitObject->setPackage(
-            $unit['package']['fullPackage'],
-            $unit['package']['package'],
-            $unit['package']['subpackage'],
-            $unit['package']['category']
-        );
-
-        $unitObject->setNamespace($unit['package']['namespace']);
-
-        foreach ($unit['methods'] as $method) {
-            $methodObject = $unitObject->addMethod($method['methodName']);
-            $methodObject->setSignature($method['signature']);
-            $methodObject->setLines($method['startLine'], $method['endLine']);
-            $methodObject->setCrap($method['crap']);
-            $methodObject->setTotals(
-                $method['executableLines'],
-                $method['executedLines'],
-                $method['coverage']
-            );
-        }
-    }
-
-    private function processFunction($function, PHP_CodeCoverage_Report_XML_File_Report $report)
-    {
-        $functionObject = $report->getFunctionObject($function['functionName']);
-
-        $functionObject->setSignature($function['signature']);
-        $functionObject->setLines($function['startLine']);
-        $functionObject->setCrap($function['crap']);
-        $functionObject->setTotals($function['executableLines'], $function['executedLines'], $function['coverage']);
-    }
-
-    private function processTests(array $tests)
-    {
-        $testsObject = $this->project->getTests();
-
-        foreach ($tests as $test => $result) {
-            if ($test == 'UNCOVERED_FILES_FROM_WHITELIST') {
-                continue;
-            }
-
-            $testsObject->addTest($test, $result);
-        }
-    }
-
-    private function setTotals(PHP_CodeCoverage_Report_Node $node, PHP_CodeCoverage_Report_XML_Totals $totals)
-    {
-        $loc = $node->getLinesOfCode();
-
-        $totals->setNumLines(
-            $loc['loc'],
-            $loc['cloc'],
-            $loc['ncloc'],
-            $node->getNumExecutableLines(),
-            $node->getNumExecutedLines()
-        );
-
-        $totals->setNumClasses(
-            $node->getNumClasses(),
-            $node->getNumTestedClasses()
-        );
-
-        $totals->setNumTraits(
-            $node->getNumTraits(),
-            $node->getNumTestedTraits()
-        );
-
-        $totals->setNumMethods(
-            $node->getNumMethods(),
-            $node->getNumTestedMethods()
-        );
-
-        $totals->setNumFunctions(
-            $node->getNumFunctions(),
-            $node->getNumTestedFunctions()
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php
deleted file mode 100644
index d73d4ce..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML_Directory extends PHP_CodeCoverage_Report_XML_Node
-{
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php
deleted file mode 100644
index 4ea6a45..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML_File
-{
-    /**
-     * @var DOMDocument
-     */
-    protected $dom;
-
-    /**
-     * @var DOMElement
-     */
-    protected $contextNode;
-
-    public function __construct(DOMElement $context)
-    {
-        $this->dom         = $context->ownerDocument;
-        $this->contextNode = $context;
-    }
-
-    public function getTotals()
-    {
-        $totalsContainer = $this->contextNode->firstChild;
-
-        if (!$totalsContainer) {
-            $totalsContainer = $this->contextNode->appendChild(
-                $this->dom->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'totals'
-                )
-            );
-        }
-
-        return new PHP_CodeCoverage_Report_XML_Totals($totalsContainer);
-    }
-
-    public function getLineCoverage($line)
-    {
-        $coverage = $this->contextNode->getElementsByTagNameNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'coverage'
-        )->item(0);
-
-        if (!$coverage) {
-            $coverage = $this->contextNode->appendChild(
-                $this->dom->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'coverage'
-                )
-            );
-        }
-
-        $lineNode = $coverage->appendChild(
-            $this->dom->createElementNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                'line'
-            )
-        );
-
-        return new PHP_CodeCoverage_Report_XML_File_Coverage($lineNode, $line);
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php
deleted file mode 100644
index 4ce8122..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML_File_Coverage
-{
-    /**
-     * @var XMLWriter
-     */
-    private $writer;
-
-    /**
-     * @var DOMElement
-     */
-    private $contextNode;
-
-    /**
-     * @var bool
-     */
-    private $finalized = false;
-
-    public function __construct(DOMElement $context, $line)
-    {
-        $this->contextNode = $context;
-
-        $this->writer = new XMLWriter();
-        $this->writer->openMemory();
-        $this->writer->startElementNs(null, $context->nodeName, 'http://schema.phpunit.de/coverage/1.0');
-        $this->writer->writeAttribute('nr', $line);
-    }
-
-    public function addTest($test)
-    {
-        if ($this->finalized) {
-            throw new PHP_CodeCoverage_Exception('Coverage Report already finalized');
-        }
-
-        $this->writer->startElement('covered');
-        $this->writer->writeAttribute('by', $test);
-        $this->writer->endElement();
-    }
-
-    public function finalize()
-    {
-        $this->writer->endElement();
-
-        $fragment = $this->contextNode->ownerDocument->createDocumentFragment();
-        $fragment->appendXML($this->writer->outputMemory());
-
-        $this->contextNode->parentNode->replaceChild(
-            $fragment,
-            $this->contextNode
-        );
-
-        $this->finalized = true;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php
deleted file mode 100644
index 7d234fa..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML_File_Method
-{
-    /**
-     * @var DOMElement
-     */
-    private $contextNode;
-
-    public function __construct(DOMElement $context, $name)
-    {
-        $this->contextNode = $context;
-
-        $this->setName($name);
-    }
-
-    private function setName($name)
-    {
-        $this->contextNode->setAttribute('name', $name);
-    }
-
-    public function setSignature($signature)
-    {
-        $this->contextNode->setAttribute('signature', $signature);
-    }
-
-    public function setLines($start, $end = null)
-    {
-        $this->contextNode->setAttribute('start', $start);
-
-        if ($end !== null) {
-            $this->contextNode->setAttribute('end', $end);
-        }
-    }
-
-    public function setTotals($executable, $executed, $coverage)
-    {
-        $this->contextNode->setAttribute('executable', $executable);
-        $this->contextNode->setAttribute('executed', $executed);
-        $this->contextNode->setAttribute('coverage', $coverage);
-    }
-
-    public function setCrap($crap)
-    {
-        $this->contextNode->setAttribute('crap', $crap);
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php
deleted file mode 100644
index 74c9ccf..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML_File_Report extends PHP_CodeCoverage_Report_XML_File
-{
-    public function __construct($name)
-    {
-        $this->dom = new DOMDocument;
-        $this->dom->loadXML('<?xml version="1.0" ?><phpunit xmlns="http://schema.phpunit.de/coverage/1.0"><file /></phpunit>');
-
-        $this->contextNode = $this->dom->getElementsByTagNameNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'file'
-        )->item(0);
-
-        $this->setName($name);
-    }
-
-    private function setName($name)
-    {
-        $this->contextNode->setAttribute('name', $name);
-    }
-
-    public function asDom()
-    {
-        return $this->dom;
-    }
-
-    public function getFunctionObject($name)
-    {
-        $node = $this->contextNode->appendChild(
-            $this->dom->createElementNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                'function'
-            )
-        );
-
-        return new PHP_CodeCoverage_Report_XML_File_Method($node, $name);
-    }
-
-    public function getClassObject($name)
-    {
-        return $this->getUnitObject('class', $name);
-    }
-
-    public function getTraitObject($name)
-    {
-        return $this->getUnitObject('trait', $name);
-    }
-
-    private function getUnitObject($tagName, $name)
-    {
-        $node = $this->contextNode->appendChild(
-            $this->dom->createElementNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                $tagName
-            )
-        );
-
-        return new PHP_CodeCoverage_Report_XML_File_Unit($node, $name);
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php
deleted file mode 100644
index 2848ef5..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML_File_Unit
-{
-    /**
-     * @var DOMElement
-     */
-    private $contextNode;
-
-    public function __construct(DOMElement $context, $name)
-    {
-        $this->contextNode = $context;
-
-        $this->setName($name);
-    }
-
-    private function setName($name)
-    {
-        $this->contextNode->setAttribute('name', $name);
-    }
-
-    public function setLines($start, $executable, $executed)
-    {
-        $this->contextNode->setAttribute('start', $start);
-        $this->contextNode->setAttribute('executable', $executable);
-        $this->contextNode->setAttribute('executed', $executed);
-    }
-
-    public function setCrap($crap)
-    {
-        $this->contextNode->setAttribute('crap', $crap);
-    }
-
-    public function setPackage($full, $package, $sub, $category)
-    {
-        $node = $this->contextNode->getElementsByTagNameNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'package'
-        )->item(0);
-
-        if (!$node) {
-            $node = $this->contextNode->appendChild(
-                $this->contextNode->ownerDocument->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'package'
-                )
-            );
-        }
-
-        $node->setAttribute('full', $full);
-        $node->setAttribute('name', $package);
-        $node->setAttribute('sub', $sub);
-        $node->setAttribute('category', $category);
-    }
-
-    public function setNamespace($namespace)
-    {
-        $node = $this->contextNode->getElementsByTagNameNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'namespace'
-        )->item(0);
-
-        if (!$node) {
-            $node = $this->contextNode->appendChild(
-                $this->contextNode->ownerDocument->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'namespace'
-                )
-            );
-        }
-
-        $node->setAttribute('name', $namespace);
-    }
-
-    public function addMethod($name)
-    {
-        $node = $this->contextNode->appendChild(
-            $this->contextNode->ownerDocument->createElementNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                'method'
-            )
-        );
-
-        return new PHP_CodeCoverage_Report_XML_File_Method($node, $name);
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php
deleted file mode 100644
index 1e8daa5..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML_Node
-{
-    /**
-     * @var DOMDocument
-     */
-    private $dom;
-
-    /**
-     * @var DOMElement
-     */
-    private $contextNode;
-
-    public function __construct(DOMElement $context)
-    {
-        $this->setContextNode($context);
-    }
-
-    protected function setContextNode(DOMElement $context)
-    {
-        $this->dom         = $context->ownerDocument;
-        $this->contextNode = $context;
-    }
-
-    public function getDom()
-    {
-        return $this->dom;
-    }
-
-    protected function getContextNode()
-    {
-        return $this->contextNode;
-    }
-
-    public function getTotals()
-    {
-        $totalsContainer = $this->getContextNode()->firstChild;
-
-        if (!$totalsContainer) {
-            $totalsContainer = $this->getContextNode()->appendChild(
-                $this->dom->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'totals'
-                )
-            );
-        }
-
-        return new PHP_CodeCoverage_Report_XML_Totals($totalsContainer);
-    }
-
-    public function addDirectory($name)
-    {
-        $dirNode = $this->getDom()->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'directory'
-        );
-
-        $dirNode->setAttribute('name', $name);
-        $this->getContextNode()->appendChild($dirNode);
-
-        return new PHP_CodeCoverage_Report_XML_Directory($dirNode);
-    }
-
-    public function addFile($name, $href)
-    {
-        $fileNode = $this->getDom()->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'file'
-        );
-
-        $fileNode->setAttribute('name', $name);
-        $fileNode->setAttribute('href', $href);
-        $this->getContextNode()->appendChild($fileNode);
-
-        return new PHP_CodeCoverage_Report_XML_File($fileNode);
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php
deleted file mode 100644
index e7ae225..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML_Project extends PHP_CodeCoverage_Report_XML_Node
-{
-    public function __construct($name)
-    {
-        $this->init();
-        $this->setProjectName($name);
-    }
-
-    private function init()
-    {
-        $dom = new DOMDocument;
-        $dom->loadXML('<?xml version="1.0" ?><phpunit xmlns="http://schema.phpunit.de/coverage/1.0"><project/></phpunit>');
-
-        $this->setContextNode(
-            $dom->getElementsByTagNameNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                'project'
-            )->item(0)
-        );
-    }
-
-    private function setProjectName($name)
-    {
-        $this->getContextNode()->setAttribute('name', $name);
-    }
-
-    public function getTests()
-    {
-        $testsNode = $this->getContextNode()->getElementsByTagNameNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'tests'
-        )->item(0);
-
-        if (!$testsNode) {
-            $testsNode = $this->getContextNode()->appendChild(
-                $this->getDom()->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'tests'
-                )
-            );
-        }
-
-        return new PHP_CodeCoverage_Report_XML_Tests($testsNode);
-    }
-
-    public function asDom()
-    {
-        return $this->getDom();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php
deleted file mode 100644
index c689bc1..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML_Tests
-{
-    private $contextNode;
-
-    private $codeMap = array(
-        0 => 'PASSED',     // PHPUnit_Runner_BaseTestRunner::STATUS_PASSED
-        1 => 'SKIPPED',    // PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED
-        2 => 'INCOMPLETE', // PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE
-        3 => 'FAILURE',    // PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE
-        4 => 'ERROR',      // PHPUnit_Runner_BaseTestRunner::STATUS_ERROR
-        5 => 'RISKY'       // PHPUnit_Runner_BaseTestRunner::STATUS_RISKY
-    );
-
-    public function __construct(DOMElement $context)
-    {
-        $this->contextNode = $context;
-    }
-
-    public function addTest($test, $result)
-    {
-        $node = $this->contextNode->appendChild(
-            $this->contextNode->ownerDocument->createElementNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                'test'
-            )
-        );
-        $node->setAttribute('name', $test);
-        $node->setAttribute('result', (int) $result);
-        $node->setAttribute('status', $this->codeMap[(int) $result]);
-
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php
deleted file mode 100644
index fdc84ca..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @category   PHP
- * @package    CodeCoverage
- * @author     Arne Blankerts <arne@blankerts.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_XML_Totals
-{
-    /**
-     * @var DOMNode
-     */
-    private $container;
-
-    /**
-     * @var DOMElement
-     */
-    private $linesNode;
-
-    /**
-     * @var DOMElement
-     */
-    private $methodsNode;
-
-    /**
-     * @var DOMElement
-     */
-    private $functionsNode;
-
-    /**
-     * @var DOMElement
-     */
-    private $classesNode;
-
-    /**
-     * @var DOMElement
-     */
-    private $traitsNode;
-
-    public function __construct(DOMElement $container)
-    {
-        $this->container = $container;
-        $dom             = $container->ownerDocument;
-
-        $this->linesNode = $dom->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'lines'
-        )
-        ;
-
-        $this->methodsNode = $dom->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'methods'
-        );
-
-        $this->functionsNode = $dom->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'functions'
-        );
-
-        $this->classesNode = $dom->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'classes'
-        );
-
-        $this->traitsNode = $dom->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'traits'
-        );
-
-        $container->appendChild($this->linesNode);
-        $container->appendChild($this->methodsNode);
-        $container->appendChild($this->functionsNode);
-        $container->appendChild($this->classesNode);
-        $container->appendChild($this->traitsNode);
-    }
-
-    public function getContainer()
-    {
-        return $this->container;
-    }
-
-    public function setNumLines($loc, $cloc, $ncloc, $executable, $executed)
-    {
-        $this->linesNode->setAttribute('total', $loc);
-        $this->linesNode->setAttribute('comments', $cloc);
-        $this->linesNode->setAttribute('code', $ncloc);
-        $this->linesNode->setAttribute('executable', $executable);
-        $this->linesNode->setAttribute('executed', $executed);
-        $this->linesNode->setAttribute(
-            'percent',
-            PHP_CodeCoverage_Util::percent($executed, $executable, true)
-        );
-    }
-
-    public function setNumClasses($count, $tested)
-    {
-        $this->classesNode->setAttribute('count', $count);
-        $this->classesNode->setAttribute('tested', $tested);
-        $this->classesNode->setAttribute(
-            'percent',
-            PHP_CodeCoverage_Util::percent($tested, $count, true)
-        );
-    }
-
-    public function setNumTraits($count, $tested)
-    {
-        $this->traitsNode->setAttribute('count', $count);
-        $this->traitsNode->setAttribute('tested', $tested);
-        $this->traitsNode->setAttribute(
-            'percent',
-            PHP_CodeCoverage_Util::percent($tested, $count, true)
-        );
-    }
-
-    public function setNumMethods($count, $tested)
-    {
-        $this->methodsNode->setAttribute('count', $count);
-        $this->methodsNode->setAttribute('tested', $tested);
-        $this->methodsNode->setAttribute(
-            'percent',
-            PHP_CodeCoverage_Util::percent($tested, $count, true)
-        );
-    }
-
-    public function setNumFunctions($count, $tested)
-    {
-        $this->functionsNode->setAttribute('count', $count);
-        $this->functionsNode->setAttribute('tested', $tested);
-        $this->functionsNode->setAttribute(
-            'percent',
-            PHP_CodeCoverage_Util::percent($tested, $count, true)
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util.php
deleted file mode 100644
index 2d5a8fa..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility methods.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-class PHP_CodeCoverage_Util
-{
-    /**
-     * @param  float $a
-     * @param  float $b
-     * @return float ($a / $b) * 100
-     */
-    public static function percent($a, $b, $asString = false, $fixedWidth = false)
-    {
-        if ($asString && $b == 0) {
-            return '';
-        }
-
-        if ($b > 0) {
-            $percent = ($a / $b) * 100;
-        } else {
-            $percent = 100;
-        }
-
-        if ($asString) {
-            if ($fixedWidth) {
-                return sprintf('%6.2F%%', $percent);
-            }
-
-            return sprintf('%01.2F%%', $percent);
-        } else {
-            return $percent;
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php
deleted file mode 100644
index 5fba9ca..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Factory for PHP_CodeCoverage_Exception objects that are used to describe
- * invalid arguments passed to a function or method.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.2.0
- */
-class PHP_CodeCoverage_Util_InvalidArgumentHelper
-{
-    /**
-     * @param integer $argument
-     * @param string  $type
-     * @param mixed   $value
-     */
-    public static function factory($argument, $type, $value = null)
-    {
-        $stack = debug_backtrace(false);
-
-        return new PHP_CodeCoverage_Exception(
-            sprintf(
-                'Argument #%d%sof %s::%s() must be a %s',
-                $argument,
-                $value !== null ? ' (' . gettype($value) . '#' . $value . ')' : ' (No Value) ',
-                $stack[1]['class'],
-                $stack[1]['function'],
-                $type
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/FilterTest.php b/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/FilterTest.php
deleted file mode 100644
index 894cb18..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/FilterTest.php
+++ /dev/null
@@ -1,284 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-if (!defined('TEST_FILES_PATH')) {
-    define(
-      'TEST_FILES_PATH',
-      dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR .
-      '_files' . DIRECTORY_SEPARATOR
-    );
-}
-
-/**
- * Tests for the PHP_CodeCoverage_Filter class.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-class PHP_CodeCoverage_FilterTest extends PHPUnit_Framework_TestCase
-{
-    protected $filter;
-    protected $files;
-
-    protected function setUp()
-    {
-        $this->filter = unserialize('O:23:"PHP_CodeCoverage_Filter":0:{}');
-
-        $this->files = array(
-          TEST_FILES_PATH . 'BankAccount.php',
-          TEST_FILES_PATH . 'BankAccountTest.php',
-          TEST_FILES_PATH . 'CoverageClassExtendedTest.php',
-          TEST_FILES_PATH . 'CoverageClassTest.php',
-          TEST_FILES_PATH . 'CoverageFunctionParenthesesTest.php',
-          TEST_FILES_PATH . 'CoverageFunctionParenthesesWhitespaceTest.php',
-          TEST_FILES_PATH . 'CoverageFunctionTest.php',
-          TEST_FILES_PATH . 'CoverageMethodOneLineAnnotationTest.php',
-          TEST_FILES_PATH . 'CoverageMethodParenthesesTest.php',
-          TEST_FILES_PATH . 'CoverageMethodParenthesesWhitespaceTest.php',
-          TEST_FILES_PATH . 'CoverageMethodTest.php',
-          TEST_FILES_PATH . 'CoverageNoneTest.php',
-          TEST_FILES_PATH . 'CoverageNotPrivateTest.php',
-          TEST_FILES_PATH . 'CoverageNotProtectedTest.php',
-          TEST_FILES_PATH . 'CoverageNotPublicTest.php',
-          TEST_FILES_PATH . 'CoverageNothingTest.php',
-          TEST_FILES_PATH . 'CoveragePrivateTest.php',
-          TEST_FILES_PATH . 'CoverageProtectedTest.php',
-          TEST_FILES_PATH . 'CoveragePublicTest.php',
-          TEST_FILES_PATH . 'CoverageTwoDefaultClassAnnotations.php',
-          TEST_FILES_PATH . 'CoveredClass.php',
-          TEST_FILES_PATH . 'CoveredFunction.php',
-          TEST_FILES_PATH . 'NamespaceCoverageClassExtendedTest.php',
-          TEST_FILES_PATH . 'NamespaceCoverageClassTest.php',
-          TEST_FILES_PATH . 'NamespaceCoverageCoversClassPublicTest.php',
-          TEST_FILES_PATH . 'NamespaceCoverageCoversClassTest.php',
-          TEST_FILES_PATH . 'NamespaceCoverageMethodTest.php',
-          TEST_FILES_PATH . 'NamespaceCoverageNotPrivateTest.php',
-          TEST_FILES_PATH . 'NamespaceCoverageNotProtectedTest.php',
-          TEST_FILES_PATH . 'NamespaceCoverageNotPublicTest.php',
-          TEST_FILES_PATH . 'NamespaceCoveragePrivateTest.php',
-          TEST_FILES_PATH . 'NamespaceCoverageProtectedTest.php',
-          TEST_FILES_PATH . 'NamespaceCoveragePublicTest.php',
-          TEST_FILES_PATH . 'NamespaceCoveredClass.php',
-          TEST_FILES_PATH . 'NotExistingCoveredElementTest.php',
-          TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php',
-          TEST_FILES_PATH . 'source_with_ignore.php',
-          TEST_FILES_PATH . 'source_with_namespace.php',
-          TEST_FILES_PATH . 'source_with_oneline_annotations.php',
-          TEST_FILES_PATH . 'source_without_ignore.php',
-          TEST_FILES_PATH . 'source_without_namespace.php'
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::addFileToBlacklist
-     * @covers PHP_CodeCoverage_Filter::getBlacklist
-     */
-    public function testAddingAFileToTheBlacklistWorks()
-    {
-        $this->filter->addFileToBlacklist($this->files[0]);
-
-        $this->assertEquals(
-          array($this->files[0]), $this->filter->getBlacklist()
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::removeFileFromBlacklist
-     * @covers PHP_CodeCoverage_Filter::getBlacklist
-     */
-    public function testRemovingAFileFromTheBlacklistWorks()
-    {
-        $this->filter->addFileToBlacklist($this->files[0]);
-        $this->filter->removeFileFromBlacklist($this->files[0]);
-
-        $this->assertEquals(array(), $this->filter->getBlacklist());
-    }
-
-    /**
-     * @covers  PHP_CodeCoverage_Filter::addDirectoryToBlacklist
-     * @covers  PHP_CodeCoverage_Filter::getBlacklist
-     * @depends testAddingAFileToTheBlacklistWorks
-     */
-    public function testAddingADirectoryToTheBlacklistWorks()
-    {
-        $this->filter->addDirectoryToBlacklist(TEST_FILES_PATH);
-
-        $blacklist = $this->filter->getBlacklist();
-        sort($blacklist);
-
-        $this->assertEquals($this->files, $blacklist);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::addFilesToBlacklist
-     * @covers PHP_CodeCoverage_Filter::getBlacklist
-     */
-    public function testAddingFilesToTheBlacklistWorks()
-    {
-        $facade = new File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray(
-          TEST_FILES_PATH, $suffixes = '.php'
-        );
-
-        $this->filter->addFilesToBlacklist($files);
-
-        $blacklist = $this->filter->getBlacklist();
-        sort($blacklist);
-
-        $this->assertEquals($this->files, $blacklist);
-    }
-
-    /**
-     * @covers  PHP_CodeCoverage_Filter::removeDirectoryFromBlacklist
-     * @covers  PHP_CodeCoverage_Filter::getBlacklist
-     * @depends testAddingADirectoryToTheBlacklistWorks
-     */
-    public function testRemovingADirectoryFromTheBlacklistWorks()
-    {
-        $this->filter->addDirectoryToBlacklist(TEST_FILES_PATH);
-        $this->filter->removeDirectoryFromBlacklist(TEST_FILES_PATH);
-
-        $this->assertEquals(array(), $this->filter->getBlacklist());
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::addFileToWhitelist
-     * @covers PHP_CodeCoverage_Filter::getWhitelist
-     */
-    public function testAddingAFileToTheWhitelistWorks()
-    {
-        $this->filter->addFileToWhitelist($this->files[0]);
-
-        $this->assertEquals(
-          array($this->files[0]), $this->filter->getWhitelist()
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::removeFileFromWhitelist
-     * @covers PHP_CodeCoverage_Filter::getWhitelist
-     */
-    public function testRemovingAFileFromTheWhitelistWorks()
-    {
-        $this->filter->addFileToWhitelist($this->files[0]);
-        $this->filter->removeFileFromWhitelist($this->files[0]);
-
-        $this->assertEquals(array(), $this->filter->getWhitelist());
-    }
-
-    /**
-     * @covers  PHP_CodeCoverage_Filter::addDirectoryToWhitelist
-     * @covers  PHP_CodeCoverage_Filter::getWhitelist
-     * @depends testAddingAFileToTheWhitelistWorks
-     */
-    public function testAddingADirectoryToTheWhitelistWorks()
-    {
-        $this->filter->addDirectoryToWhitelist(TEST_FILES_PATH);
-
-        $whitelist = $this->filter->getWhitelist();
-        sort($whitelist);
-
-        $this->assertEquals($this->files, $whitelist);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::addFilesToWhitelist
-     * @covers PHP_CodeCoverage_Filter::getBlacklist
-     */
-    public function testAddingFilesToTheWhitelistWorks()
-    {
-        $facade = new File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray(
-          TEST_FILES_PATH, $suffixes = '.php'
-        );
-
-        $this->filter->addFilesToWhitelist($files);
-
-        $whitelist = $this->filter->getWhitelist();
-        sort($whitelist);
-
-        $this->assertEquals($this->files, $whitelist);
-    }
-
-    /**
-     * @covers  PHP_CodeCoverage_Filter::removeDirectoryFromWhitelist
-     * @covers  PHP_CodeCoverage_Filter::getWhitelist
-     * @depends testAddingADirectoryToTheWhitelistWorks
-     */
-    public function testRemovingADirectoryFromTheWhitelistWorks()
-    {
-        $this->filter->addDirectoryToWhitelist(TEST_FILES_PATH);
-        $this->filter->removeDirectoryFromWhitelist(TEST_FILES_PATH);
-
-        $this->assertEquals(array(), $this->filter->getWhitelist());
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::isFile
-     */
-    public function testIsFile()
-    {
-        $this->assertFalse($this->filter->isFile('vfs://root/a/path'));
-        $this->assertFalse($this->filter->isFile('xdebug://debug-eval'));
-        $this->assertFalse($this->filter->isFile('eval()\'d code'));
-        $this->assertFalse($this->filter->isFile('runtime-created function'));
-        $this->assertFalse($this->filter->isFile('assert code'));
-        $this->assertFalse($this->filter->isFile('regexp code'));
-        $this->assertTrue($this->filter->isFile(__FILE__));
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::isFiltered
-     */
-    public function testBlacklistedFileIsFiltered()
-    {
-        $this->filter->addFileToBlacklist($this->files[0]);
-        $this->assertTrue($this->filter->isFiltered($this->files[0]));
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::isFiltered
-     */
-    public function testWhitelistedFileIsNotFiltered()
-    {
-        $this->filter->addFileToWhitelist($this->files[0]);
-        $this->assertFalse($this->filter->isFiltered($this->files[0]));
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::isFiltered
-     */
-    public function testNotWhitelistedFileIsFiltered()
-    {
-        $this->filter->addFileToWhitelist($this->files[0]);
-        $this->assertTrue($this->filter->isFiltered($this->files[1]));
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Filter::isFiltered
-     * @covers PHP_CodeCoverage_Filter::isFile
-     */
-    public function testNonFilesAreFiltered()
-    {
-        $this->assertTrue($this->filter->isFiltered('vfs://root/a/path'));
-        $this->assertTrue($this->filter->isFiltered('xdebug://debug-eval'));
-        $this->assertTrue($this->filter->isFiltered('eval()\'d code'));
-        $this->assertTrue($this->filter->isFiltered('runtime-created function'));
-        $this->assertTrue($this->filter->isFiltered('assert code'));
-        $this->assertTrue($this->filter->isFiltered('regexp code'));
-        $this->assertFalse($this->filter->isFiltered(__FILE__));
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/CloverTest.php b/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/CloverTest.php
deleted file mode 100644
index a850bb5..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/CloverTest.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-if (!defined('TEST_FILES_PATH')) {
-    define(
-      'TEST_FILES_PATH',
-      dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR .
-      '_files' . DIRECTORY_SEPARATOR
-    );
-}
-
-require_once TEST_FILES_PATH . '../TestCase.php';
-
-/**
- * Tests for the PHP_CodeCoverage_Report_Clover class.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-class PHP_CodeCoverage_Report_CloverTest extends PHP_CodeCoverage_TestCase
-{
-    /**
-     * @covers PHP_CodeCoverage_Report_Clover
-     */
-    public function testCloverForBankAccountTest()
-    {
-        $clover = new PHP_CodeCoverage_Report_Clover;
-
-        $this->assertStringMatchesFormatFile(
-          TEST_FILES_PATH . 'BankAccount-clover.xml',
-          $clover->process($this->getCoverageForBankAccount(), null, 'BankAccount')
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Report_Clover
-     */
-    public function testCloverForFileWithIgnoredLines()
-    {
-        $clover = new PHP_CodeCoverage_Report_Clover;
-
-        $this->assertStringMatchesFormatFile(
-          TEST_FILES_PATH . 'ignored-lines-clover.xml',
-          $clover->process($this->getCoverageForFileWithIgnoredLines())
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Report_Clover
-     */
-    public function testCloverForClassWithAnonymousFunction()
-    {
-        $clover = new PHP_CodeCoverage_Report_Clover;
-
-        $this->assertStringMatchesFormatFile(
-          TEST_FILES_PATH . 'class-with-anonymous-function-clover.xml',
-          $clover->process($this->getCoverageForClassWithAnonymousFunction())
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/FactoryTest.php b/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/FactoryTest.php
deleted file mode 100644
index b08b7a8..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/FactoryTest.php
+++ /dev/null
@@ -1,227 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-if (!defined('TEST_FILES_PATH')) {
-    define(
-      'TEST_FILES_PATH',
-      dirname(dirname(dirname(dirname(__FILE__)))) . DIRECTORY_SEPARATOR .
-      '_files' . DIRECTORY_SEPARATOR
-    );
-}
-
-require_once TEST_FILES_PATH . '../TestCase.php';
-
-/**
- * Tests for the PHP_CodeCoverage_Report_Factory class.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_FactoryTest extends PHP_CodeCoverage_TestCase
-{
-    protected $factory;
-
-    protected function setUp()
-    {
-        $this->factory = new PHP_CodeCoverage_Report_Factory;
-    }
-
-    public function testSomething()
-    {
-        $root = $this->getCoverageForBankAccount()->getReport();
-
-        $expectedPath = rtrim(TEST_FILES_PATH, DIRECTORY_SEPARATOR);
-        $this->assertEquals($expectedPath, $root->getName());
-        $this->assertEquals($expectedPath, $root->getPath());
-        $this->assertEquals(10, $root->getNumExecutableLines());
-        $this->assertEquals(5, $root->getNumExecutedLines());
-        $this->assertEquals(1, $root->getNumClasses());
-        $this->assertEquals(0, $root->getNumTestedClasses());
-        $this->assertEquals(4, $root->getNumMethods());
-        $this->assertEquals(3, $root->getNumTestedMethods());
-        $this->assertEquals('0.00%', $root->getTestedClassesPercent());
-        $this->assertEquals('75.00%', $root->getTestedMethodsPercent());
-        $this->assertEquals('50.00%', $root->getLineExecutedPercent());
-        $this->assertEquals(0, $root->getNumFunctions());
-        $this->assertEquals(0, $root->getNumTestedFunctions());
-        $this->assertNull($root->getParent());
-        $this->assertEquals(array(), $root->getDirectories());
-        #$this->assertEquals(array(), $root->getFiles());
-        #$this->assertEquals(array(), $root->getChildNodes());
-
-        $this->assertEquals(
-          array(
-            'BankAccount' => array(
-              'methods' => array(
-                'getBalance' => array(
-                  'signature' => 'getBalance()',
-                  'startLine' => 6,
-                  'endLine' => 9,
-                  'executableLines' => 1,
-                  'executedLines' => 1,
-                  'ccn' => 1,
-                  'coverage' => 100,
-                  'crap' => '1',
-                  'link' => 'BankAccount.php.html#6',
-                  'methodName' => 'getBalance'
-                ),
-                'setBalance' => array(
-                  'signature' => 'setBalance($balance)',
-                  'startLine' => 11,
-                  'endLine' => 18,
-                  'executableLines' => 5,
-                  'executedLines' => 0,
-                  'ccn' => 2,
-                  'coverage' => 0,
-                  'crap' => 6,
-                  'link' => 'BankAccount.php.html#11',
-                  'methodName' => 'setBalance'
-                ),
-                'depositMoney' => array(
-                  'signature' => 'depositMoney($balance)',
-                  'startLine' => 20,
-                  'endLine' => 25,
-                  'executableLines' => 2,
-                  'executedLines' => 2,
-                  'ccn' => 1,
-                  'coverage' => 100,
-                  'crap' => '1',
-                  'link' => 'BankAccount.php.html#20',
-                  'methodName' => 'depositMoney'
-                ),
-                'withdrawMoney' => array(
-                  'signature' => 'withdrawMoney($balance)',
-                  'startLine' => 27,
-                  'endLine' => 32,
-                  'executableLines' => 2,
-                  'executedLines' => 2,
-                  'ccn' => 1,
-                  'coverage' => 100,
-                  'crap' => '1',
-                  'link' => 'BankAccount.php.html#27',
-                  'methodName' => 'withdrawMoney'
-                ),
-              ),
-              'startLine' => 2,
-              'executableLines' => 10,
-              'executedLines' => 5,
-              'ccn' => 5,
-              'coverage' => 50,
-              'crap' => '8.12',
-              'package' => array(
-                'namespace' => '',
-                'fullPackage' => '',
-                'category' => '',
-                'package' => '',
-                'subpackage' => ''
-              ),
-              'link' => 'BankAccount.php.html#2',
-              'className' => 'BankAccount'
-            )
-          ),
-          $root->getClasses()
-        );
-
-        $this->assertEquals(array(), $root->getFunctions());
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Report_Factory::buildDirectoryStructure
-     */
-    public function testBuildDirectoryStructure()
-    {
-        $method = new ReflectionMethod(
-          'PHP_CodeCoverage_Report_Factory', 'buildDirectoryStructure'
-        );
-
-        $method->setAccessible(true);
-
-        $this->assertEquals(
-          array(
-            'src' => array(
-              'Money.php/f' => array(),
-              'MoneyBag.php/f' => array()
-            )
-          ),
-          $method->invoke(
-            $this->factory,
-            array('src/Money.php' => array(), 'src/MoneyBag.php' => array())
-          )
-        );
-    }
-
-    /**
-     * @covers       PHP_CodeCoverage_Report_Factory::reducePaths
-     * @dataProvider reducePathsProvider
-     */
-    public function testReducePaths($reducedPaths, $commonPath, $paths)
-    {
-        $method = new ReflectionMethod(
-          'PHP_CodeCoverage_Report_Factory', 'reducePaths'
-        );
-
-        $method->setAccessible(true);
-
-        $_commonPath = $method->invokeArgs($this->factory, array(&$paths));
-
-        $this->assertEquals($reducedPaths, $paths);
-        $this->assertEquals($commonPath, $_commonPath);
-    }
-
-    public function reducePathsProvider()
-    {
-        return array(
-          array(
-            array(
-              'Money.php' => array(),
-              'MoneyBag.php' => array()
-            ),
-            '/home/sb/Money',
-            array(
-              '/home/sb/Money/Money.php' => array(),
-              '/home/sb/Money/MoneyBag.php' => array()
-            )
-          ),
-          array(
-            array(
-              'Money.php' => array()
-            ),
-            '/home/sb/Money/',
-            array(
-              '/home/sb/Money/Money.php' => array()
-            )
-          ),
-          array(
-            array(),
-            '.',
-            array()
-          ),
-          array(
-            array(
-              'Money.php' => array(),
-              'MoneyBag.php' => array(),
-              'Cash.phar/Cash.php' => array(),
-            ),
-            '/home/sb/Money',
-            array(
-              '/home/sb/Money/Money.php' => array(),
-              '/home/sb/Money/MoneyBag.php' => array(),
-              'phar:///home/sb/Money/Cash.phar/Cash.php' => array(),
-            ),
-          ),
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/UtilTest.php b/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/UtilTest.php
deleted file mode 100644
index 82ab770..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/UtilTest.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the PHP_CodeCoverage_Util class.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-class PHP_CodeCoverage_UtilTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers PHP_CodeCoverage_Util::percent
-     */
-    public function testPercent()
-    {
-        $this->assertEquals(100, PHP_CodeCoverage_Util::percent(100, 0));
-        $this->assertEquals(100, PHP_CodeCoverage_Util::percent(100, 100));
-        $this->assertEquals(
-          '100.00%', PHP_CodeCoverage_Util::percent(100, 100, true)
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverageTest.php b/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverageTest.php
deleted file mode 100644
index b5f012e..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverageTest.php
+++ /dev/null
@@ -1,449 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-if (!defined('TEST_FILES_PATH')) {
-    define(
-      'TEST_FILES_PATH',
-      dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
-      '_files' . DIRECTORY_SEPARATOR
-    );
-}
-
-require_once TEST_FILES_PATH . '../TestCase.php';
-require_once TEST_FILES_PATH . 'BankAccount.php';
-require_once TEST_FILES_PATH . 'BankAccountTest.php';
-
-/**
- * Tests for the PHP_CodeCoverage class.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-class PHP_CodeCoverageTest extends PHP_CodeCoverage_TestCase
-{
-    private $coverage;
-
-    protected function setUp()
-    {
-        $this->coverage = new PHP_CodeCoverage;
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::__construct
-     * @covers PHP_CodeCoverage::filter
-     */
-    public function testConstructor()
-    {
-        $this->assertAttributeInstanceOf(
-          'PHP_CodeCoverage_Driver_Xdebug', 'driver', $this->coverage
-        );
-
-        $this->assertAttributeInstanceOf(
-          'PHP_CodeCoverage_Filter', 'filter', $this->coverage
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::__construct
-     * @covers PHP_CodeCoverage::filter
-     */
-    public function testConstructor2()
-    {
-        $filter   = new PHP_CodeCoverage_Filter;
-        $coverage = new PHP_CodeCoverage(null, $filter);
-
-        $this->assertAttributeInstanceOf(
-          'PHP_CodeCoverage_Driver_Xdebug', 'driver', $coverage
-        );
-
-        $this->assertSame($filter, $coverage->filter());
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::start
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testStartThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->start(null, array(), null);
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::stop
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testStopThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->stop(null);
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::stop
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testStopThrowsExceptionForInvalidArgument2()
-    {
-        $this->coverage->stop(true, null);
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::append
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testAppendThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->append(array(), null);
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setCacheTokens
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetCacheTokensThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setCacheTokens(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setCacheTokens
-     */
-    public function testSetCacheTokens()
-    {
-        $this->coverage->setCacheTokens(true);
-        $this->assertAttributeEquals(true, 'cacheTokens', $this->coverage);
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setCheckForUnintentionallyCoveredCode
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetCheckForUnintentionallyCoveredCodeThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setCheckForUnintentionallyCoveredCode(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setCheckForUnintentionallyCoveredCode
-     */
-    public function testSetCheckForUnintentionallyCoveredCode()
-    {
-        $this->coverage->setCheckForUnintentionallyCoveredCode(true);
-        $this->assertAttributeEquals(
-          true, 'checkForUnintentionallyCoveredCode', $this->coverage
-        );
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setForceCoversAnnotation
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetForceCoversAnnotationThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setForceCoversAnnotation(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setForceCoversAnnotation
-     */
-    public function testSetForceCoversAnnotation()
-    {
-        $this->coverage->setForceCoversAnnotation(true);
-        $this->assertAttributeEquals(
-          true, 'forceCoversAnnotation', $this->coverage
-        );
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setAddUncoveredFilesFromWhitelist
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetAddUncoveredFilesFromWhitelistThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setAddUncoveredFilesFromWhitelist(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setAddUncoveredFilesFromWhitelist
-     */
-    public function testSetAddUncoveredFilesFromWhitelist()
-    {
-        $this->coverage->setAddUncoveredFilesFromWhitelist(true);
-        $this->assertAttributeEquals(
-          true, 'addUncoveredFilesFromWhitelist', $this->coverage
-        );
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setProcessUncoveredFilesFromWhitelist
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetProcessUncoveredFilesFromWhitelistThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setProcessUncoveredFilesFromWhitelist(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setProcessUncoveredFilesFromWhitelist
-     */
-    public function testSetProcessUncoveredFilesFromWhitelist()
-    {
-        $this->coverage->setProcessUncoveredFilesFromWhitelist(true);
-        $this->assertAttributeEquals(
-          true, 'processUncoveredFilesFromWhitelist', $this->coverage
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setMapTestClassNameToCoveredClassName
-     */
-    public function testSetMapTestClassNameToCoveredClassName()
-    {
-        $this->coverage->setMapTestClassNameToCoveredClassName(true);
-        $this->assertAttributeEquals(
-          true, 'mapTestClassNameToCoveredClassName', $this->coverage
-        );
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setMapTestClassNameToCoveredClassName
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetMapTestClassNameToCoveredClassNameThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setMapTestClassNameToCoveredClassName(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::clear
-     */
-    public function testClear()
-    {
-        $this->coverage->clear();
-
-        $this->assertAttributeEquals(null, 'currentId', $this->coverage);
-        $this->assertAttributeEquals(array(), 'data', $this->coverage);
-        $this->assertAttributeEquals(array(), 'tests', $this->coverage);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::start
-     * @covers PHP_CodeCoverage::stop
-     * @covers PHP_CodeCoverage::append
-     * @covers PHP_CodeCoverage::applyListsFilter
-     * @covers PHP_CodeCoverage::initializeFilesThatAreSeenTheFirstTime
-     * @covers PHP_CodeCoverage::applyCoversAnnotationFilter
-     * @covers PHP_CodeCoverage::getTests
-     */
-    public function testCollect()
-    {
-        $coverage = $this->getCoverageForBankAccount();
-
-        $this->assertEquals(
-          $this->getExpectedDataArrayForBankAccount(), $coverage->getData()
-        );
-
-        $this->assertEquals(
-          array(
-            'BankAccountTest::testBalanceIsInitiallyZero' => null,
-            'BankAccountTest::testBalanceCannotBecomeNegative' => null,
-            'BankAccountTest::testBalanceCannotBecomeNegative2' => null,
-            'BankAccountTest::testDepositWithdrawMoney' => null
-          ),
-          $coverage->getTests()
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getData
-     * @covers PHP_CodeCoverage::merge
-     */
-    public function testMerge()
-    {
-        $coverage = $this->getCoverageForBankAccountForFirstTwoTests();
-        $coverage->merge($this->getCoverageForBankAccountForLastTwoTests());
-
-        $this->assertEquals(
-          $this->getExpectedDataArrayForBankAccount(), $coverage->getData()
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getData
-     * @covers PHP_CodeCoverage::merge
-     */
-    public function testMerge2()
-    {
-        $coverage = new PHP_CodeCoverage(
-          $this->getMock('PHP_CodeCoverage_Driver_Xdebug'),
-          new PHP_CodeCoverage_Filter
-        );
-
-        $coverage->merge($this->getCoverageForBankAccount());
-
-        $this->assertEquals(
-          $this->getExpectedDataArrayForBankAccount(), $coverage->getData()
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getLinesToBeIgnored
-     */
-    public function testGetLinesToBeIgnored()
-    {
-        $this->assertEquals(
-          array(
-             1,
-             3,
-             4,
-             5,
-             7,
-             8,
-             9,
-            10,
-            11,
-            12,
-            13,
-            14,
-            15,
-            16,
-            17,
-            18,
-            19,
-            20,
-            21,
-            22,
-            23,
-            24,
-            25,
-            26,
-            27,
-            28,
-            30,
-            32,
-            33,
-            34,
-            35,
-            36,
-            37,
-            38
-          ),
-          $this->getLinesToBeIgnored()->invoke(
-            $this->coverage,
-            TEST_FILES_PATH . 'source_with_ignore.php'
-          )
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getLinesToBeIgnored
-     */
-    public function testGetLinesToBeIgnored2()
-    {
-        $this->assertEquals(
-          array(1, 5),
-          $this->getLinesToBeIgnored()->invoke(
-            $this->coverage,
-            TEST_FILES_PATH . 'source_without_ignore.php'
-          )
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getLinesToBeIgnored
-     */
-    public function testGetLinesToBeIgnored3()
-    {
-        $this->assertEquals(
-          array(
-            1,
-            2,
-            3,
-            4,
-            5,
-            8,
-            11,
-            15,
-            16,
-            19,
-            20
-          ),
-          $this->getLinesToBeIgnored()->invoke(
-            $this->coverage,
-            TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php'
-          )
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getLinesToBeIgnored
-     */
-    public function testGetLinesToBeIgnoredOneLineAnnotations()
-    {
-        $this->assertEquals(
-          array(
-            1,
-            2,
-            3,
-            4,
-            5,
-            6,
-            7,
-            8,
-            9,
-            10,
-            11,
-            12,
-            13,
-            14,
-            15,
-            16,
-            18,
-            20,
-            21,
-            23,
-            24,
-            25,
-            27,
-            28,
-            29,
-            30,
-            31,
-            32,
-            33,
-            34,
-            37
-          ),
-          $this->getLinesToBeIgnored()->invoke(
-            $this->coverage,
-            TEST_FILES_PATH . 'source_with_oneline_annotations.php'
-          )
-        );
-    }
-
-    /**
-     * @return ReflectionMethod
-     */
-    private function getLinesToBeIgnored()
-    {
-        $getLinesToBeIgnored = new ReflectionMethod(
-            'PHP_CodeCoverage', 'getLinesToBeIgnored'
-        );
-
-        $getLinesToBeIgnored->setAccessible(true);
-
-        return $getLinesToBeIgnored;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/TestCase.php b/core/vendor/phpunit/php-code-coverage/tests/TestCase.php
deleted file mode 100644
index 2bfdb96..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/TestCase.php
+++ /dev/null
@@ -1,307 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Abstract base class for test case classes.
- *
- * @category   PHP
- * @package    CodeCoverage
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-code-coverage
- * @since      Class available since Release 1.0.0
- */
-abstract class PHP_CodeCoverage_TestCase extends PHPUnit_Framework_TestCase
-{
-    protected function getXdebugDataForBankAccount()
-    {
-        return array(
-          array(
-            TEST_FILES_PATH . 'BankAccount.php' => array(
-               8 =>  1,
-               9 => -2,
-              13 => -1,
-              14 => -1,
-              15 => -1,
-              16 => -1,
-              18 => -1,
-              22 => -1,
-              24 => -1,
-              25 => -2,
-              29 => -1,
-              31 => -1,
-              32 => -2
-            )
-          ),
-          array(
-            TEST_FILES_PATH . 'BankAccount.php' => array(
-               8 => 1,
-              13 => 1,
-              16 => 1,
-              29 => 1,
-            )
-          ),
-          array(
-            TEST_FILES_PATH . 'BankAccount.php' => array(
-               8 => 1,
-              13 => 1,
-              16 => 1,
-              22 => 1,
-            )
-          ),
-          array(
-            TEST_FILES_PATH . 'BankAccount.php' => array(
-               8 => 1,
-              13 => 1,
-              14 => 1,
-              15 => 1,
-              18 => 1,
-              22 => 1,
-              24 => 1,
-              29 => 1,
-              31 => 1,
-            )
-          )
-        );
-    }
-
-    protected function getCoverageForBankAccount()
-    {
-        $data = $this->getXdebugDataForBankAccount();
-
-        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
-        $stub->expects($this->any())
-             ->method('stop')
-             ->will($this->onConsecutiveCalls(
-               $data[0], $data[1], $data[2], $data[3]
-             ));
-
-        $coverage = new PHP_CodeCoverage($stub, new PHP_CodeCoverage_Filter);
-
-        $coverage->start(
-          new BankAccountTest('testBalanceIsInitiallyZero'), true
-        );
-
-        $coverage->stop(
-          true,
-          array(TEST_FILES_PATH . 'BankAccount.php' => range(6, 9))
-        );
-
-        $coverage->start(
-          new BankAccountTest('testBalanceCannotBecomeNegative')
-        );
-
-        $coverage->stop(
-          true,
-          array(TEST_FILES_PATH . 'BankAccount.php' => range(27, 32))
-        );
-
-        $coverage->start(
-          new BankAccountTest('testBalanceCannotBecomeNegative2')
-        );
-
-        $coverage->stop(
-          true,
-          array(TEST_FILES_PATH . 'BankAccount.php' => range(20, 25))
-        );
-
-        $coverage->start(
-          new BankAccountTest('testDepositWithdrawMoney')
-        );
-
-        $coverage->stop(
-          true,
-          array(
-            TEST_FILES_PATH . 'BankAccount.php' => array_merge(
-              range(6, 9), range(20, 25), range(27, 32)
-            )
-          )
-        );
-
-        return $coverage;
-    }
-
-    protected function getCoverageForBankAccountForFirstTwoTests()
-    {
-        $data = $this->getXdebugDataForBankAccount();
-
-        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
-        $stub->expects($this->any())
-             ->method('stop')
-             ->will($this->onConsecutiveCalls(
-               $data[0], $data[1]
-             ));
-
-        $coverage = new PHP_CodeCoverage($stub, new PHP_CodeCoverage_Filter);
-
-        $coverage->start(
-          new BankAccountTest('testBalanceIsInitiallyZero'), true
-        );
-
-        $coverage->stop(
-          true,
-          array(TEST_FILES_PATH . 'BankAccount.php' => range(6, 9))
-        );
-
-        $coverage->start(
-          new BankAccountTest('testBalanceCannotBecomeNegative')
-        );
-
-        $coverage->stop(
-          true,
-          array(TEST_FILES_PATH . 'BankAccount.php' => range(27, 32))
-        );
-
-        return $coverage;
-    }
-
-    protected function getCoverageForBankAccountForLastTwoTests()
-    {
-        $data = $this->getXdebugDataForBankAccount();
-
-        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
-        $stub->expects($this->any())
-             ->method('stop')
-             ->will($this->onConsecutiveCalls(
-               $data[2], $data[3]
-             ));
-
-        $coverage = new PHP_CodeCoverage($stub, new PHP_CodeCoverage_Filter);
-
-        $coverage->start(
-          new BankAccountTest('testBalanceCannotBecomeNegative2')
-        );
-
-        $coverage->stop(
-          true,
-          array(TEST_FILES_PATH . 'BankAccount.php' => range(20, 25))
-        );
-
-        $coverage->start(
-          new BankAccountTest('testDepositWithdrawMoney')
-        );
-
-        $coverage->stop(
-          true,
-          array(
-            TEST_FILES_PATH . 'BankAccount.php' => array_merge(
-              range(6, 9), range(20, 25), range(27, 32)
-            )
-          )
-        );
-
-        return $coverage;
-    }
-
-    protected function getExpectedDataArrayForBankAccount()
-    {
-        return array(
-          TEST_FILES_PATH . 'BankAccount.php' => array(
-            8 => array(
-              0 => 'BankAccountTest::testBalanceIsInitiallyZero',
-              1 => 'BankAccountTest::testDepositWithdrawMoney'
-            ),
-            9 => null,
-            13 => array(),
-            14 => array(),
-            15 => array(),
-            16 => array(),
-            18 => array(),
-            22 => array(
-              0 => 'BankAccountTest::testBalanceCannotBecomeNegative2',
-              1 => 'BankAccountTest::testDepositWithdrawMoney'
-            ),
-            24 => array(
-              0 => 'BankAccountTest::testDepositWithdrawMoney',
-            ),
-            25 => null,
-            29 => array(
-              0 => 'BankAccountTest::testBalanceCannotBecomeNegative',
-              1 => 'BankAccountTest::testDepositWithdrawMoney'
-            ),
-            31 => array(
-              0 => 'BankAccountTest::testDepositWithdrawMoney'
-            ),
-            32 => null
-          )
-        );
-    }
-
-    protected function getCoverageForFileWithIgnoredLines()
-    {
-        $coverage = new PHP_CodeCoverage(
-          $this->setUpXdebugStubForFileWithIgnoredLines(),
-          new PHP_CodeCoverage_Filter
-        );
-
-        $coverage->start('FileWithIgnoredLines', true);
-        $coverage->stop();
-
-        return $coverage;
-    }
-
-    protected function setUpXdebugStubForFileWithIgnoredLines()
-    {
-        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
-        $stub->expects($this->any())
-             ->method('stop')
-             ->will($this->returnValue(
-               array(
-                 TEST_FILES_PATH . 'source_with_ignore.php' => array(
-                   2 => 1,
-                   4 => -1,
-                   6 => -1,
-                   7 => 1
-                 )
-               )
-            ));
-
-        return $stub;
-    }
-
-    protected function getCoverageForClassWithAnonymousFunction()
-    {
-        $coverage = new PHP_CodeCoverage(
-          $this->setUpXdebugStubForClassWithAnonymousFunction(),
-          new PHP_CodeCoverage_Filter
-        );
-
-        $coverage->start('ClassWithAnonymousFunction', true);
-        $coverage->stop();
-
-        return $coverage;
-    }
-
-    protected function setUpXdebugStubForClassWithAnonymousFunction()
-    {
-        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
-        $stub->expects($this->any())
-             ->method('stop')
-             ->will($this->returnValue(
-               array(
-                 TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php' => array(
-                    7  => 1,
-                    9  => 1,
-                    10 => -1,
-                    11 => 1,
-                    12 => 1,
-                    13 => 1,
-                    14 => 1,
-                    17 => 1,
-                    18 => 1
-                 )
-               )
-            ));
-
-        return $stub;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml b/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml
deleted file mode 100644
index 578a7cc..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<coverage generated="%i">
-  <project timestamp="%i" name="BankAccount">
-    <file name="%s/BankAccount.php">
-      <class name="BankAccount" namespace="global">
-        <metrics methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="5" elements="14" coveredelements="8"/>
-      </class>
-      <line num="6" type="method" name="getBalance" crap="1" count="2"/>
-      <line num="8" type="stmt" count="2"/>
-      <line num="11" type="method" name="setBalance" crap="6" count="0"/>
-      <line num="13" type="stmt" count="0"/>
-      <line num="14" type="stmt" count="0"/>
-      <line num="15" type="stmt" count="0"/>
-      <line num="16" type="stmt" count="0"/>
-      <line num="18" type="stmt" count="0"/>
-      <line num="20" type="method" name="depositMoney" crap="1" count="2"/>
-      <line num="22" type="stmt" count="2"/>
-      <line num="24" type="stmt" count="1"/>
-      <line num="27" type="method" name="withdrawMoney" crap="1" count="2"/>
-      <line num="29" type="stmt" count="2"/>
-      <line num="31" type="stmt" count="1"/>
-      <metrics loc="33" ncloc="33" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="5" elements="14" coveredelements="8"/>
-    </file>
-    <metrics files="1" loc="33" ncloc="33" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="5" elements="14" coveredelements="8"/>
-  </project>
-</coverage>
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccount.php b/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccount.php
deleted file mode 100644
index 4238c15..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccount.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-class BankAccount
-{
-    protected $balance = 0;
-
-    public function getBalance()
-    {
-        return $this->balance;
-    }
-
-    protected function setBalance($balance)
-    {
-        if ($balance >= 0) {
-            $this->balance = $balance;
-        } else {
-            throw new RuntimeException;
-        }
-    }
-
-    public function depositMoney($balance)
-    {
-        $this->setBalance($this->getBalance() + $balance);
-
-        return $this->getBalance();
-    }
-
-    public function withdrawMoney($balance)
-    {
-        $this->setBalance($this->getBalance() - $balance);
-
-        return $this->getBalance();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccountTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccountTest.php
deleted file mode 100644
index 3a6277b..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccountTest.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-require_once 'BankAccount.php';
-
-class BankAccountTest extends PHPUnit_Framework_TestCase
-{
-    protected $ba;
-
-    protected function setUp()
-    {
-        $this->ba = new BankAccount;
-    }
-
-    /**
-     * @covers BankAccount::getBalance
-     */
-    public function testBalanceIsInitiallyZero()
-    {
-        $this->assertEquals(0, $this->ba->getBalance());
-    }
-
-    /**
-     * @covers BankAccount::withdrawMoney
-     */
-    public function testBalanceCannotBecomeNegative()
-    {
-        try {
-            $this->ba->withdrawMoney(1);
-        } catch (RuntimeException $e) {
-            $this->assertEquals(0, $this->ba->getBalance());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers BankAccount::depositMoney
-     */
-    public function testBalanceCannotBecomeNegative2()
-    {
-        try {
-            $this->ba->depositMoney(-1);
-        } catch (RuntimeException $e) {
-            $this->assertEquals(0, $this->ba->getBalance());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers BankAccount::getBalance
-     * @covers BankAccount::depositMoney
-     * @covers BankAccount::withdrawMoney
-     */
-    public function testDepositWithdrawMoney()
-    {
-        $this->assertEquals(0, $this->ba->getBalance());
-        $this->ba->depositMoney(1);
-        $this->assertEquals(1, $this->ba->getBalance());
-        $this->ba->withdrawMoney(1);
-        $this->assertEquals(0, $this->ba->getBalance());
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassExtendedTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassExtendedTest.php
deleted file mode 100644
index df12d34..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassExtendedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageClassExtendedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass<extended>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassTest.php
deleted file mode 100644
index 7f569ae..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageClassTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesTest.php
deleted file mode 100644
index 33b5fe3..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesTest.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class CoverageFunctionParenthesesTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers ::globalFunction()
-     */
-    public function testSomething()
-    {
-        globalFunction();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php
deleted file mode 100644
index becc6c8..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class CoverageFunctionParenthesesWhitespaceTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers ::globalFunction ( )
-     */
-    public function testSomething()
-    {
-        globalFunction();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionTest.php
deleted file mode 100644
index c621fd2..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionTest.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class CoverageFunctionTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers ::globalFunction
-     */
-    public function testSomething()
-    {
-        globalFunction();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodOneLineAnnotationTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodOneLineAnnotationTest.php
deleted file mode 100644
index 55d7f57..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodOneLineAnnotationTest.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-class CoverageMethodOneLineAnnotationTest extends PHPUnit_Framework_TestCase
-{
-    /** @covers CoveredClass::publicMethod */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesTest.php
deleted file mode 100644
index 4223004..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageMethodParenthesesTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::publicMethod()
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesWhitespaceTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesWhitespaceTest.php
deleted file mode 100644
index d1be1c6..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesWhitespaceTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageMethodParenthesesWhitespaceTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::publicMethod ( )
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodTest.php
deleted file mode 100644
index 167b3db..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageMethodTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::publicMethod
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNoneTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNoneTest.php
deleted file mode 100644
index 0b414c2..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNoneTest.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-class CoverageNoneTest extends PHPUnit_Framework_TestCase
-{
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPrivateTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPrivateTest.php
deleted file mode 100644
index 12b56e8..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPrivateTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageNotPrivateTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<!private>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotProtectedTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotProtectedTest.php
deleted file mode 100644
index c69d261..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotProtectedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageNotProtectedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<!protected>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPublicTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPublicTest.php
deleted file mode 100644
index aebfe4b..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPublicTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageNotPublicTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<!public>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNothingTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNothingTest.php
deleted file mode 100644
index 5d5680d..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNothingTest.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-class CoverageNothingTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::publicMethod
-     * @coversNothing
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveragePrivateTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoveragePrivateTest.php
deleted file mode 100644
index f09560d..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveragePrivateTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoveragePrivateTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<private>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageProtectedTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageProtectedTest.php
deleted file mode 100644
index 9b3acbf..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageProtectedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageProtectedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<protected>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveragePublicTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoveragePublicTest.php
deleted file mode 100644
index 480a522..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveragePublicTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoveragePublicTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<public>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php
deleted file mode 100644
index 7c743db..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/**
- * @coversDefaultClass \NamespaceOne
- * @coversDefaultClass \AnotherDefault\Name\Space\Does\Not\Work
- */
-class CoverageTwoDefaultClassAnnotations
-{
-
-    /**
-     * @covers Foo\CoveredClass::<public>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveredClass.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoveredClass.php
deleted file mode 100644
index f382ce9..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveredClass.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-class CoveredParentClass
-{
-    private function privateMethod()
-    {
-    }
-
-    protected function protectedMethod()
-    {
-        $this->privateMethod();
-    }
-
-    public function publicMethod()
-    {
-        $this->protectedMethod();
-    }
-}
-
-class CoveredClass extends CoveredParentClass
-{
-    private function privateMethod()
-    {
-    }
-
-    protected function protectedMethod()
-    {
-        parent::protectedMethod();
-        $this->privateMethod();
-    }
-
-    public function publicMethod()
-    {
-        parent::publicMethod();
-        $this->protectedMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveredFunction.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoveredFunction.php
deleted file mode 100644
index 9989eb0..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveredFunction.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-function globalFunction()
-{
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassExtendedTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassExtendedTest.php
deleted file mode 100644
index d0954cb..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassExtendedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageClassExtendedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass<extended>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassTest.php
deleted file mode 100644
index 63912c0..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageClassTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassPublicTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassPublicTest.php
deleted file mode 100644
index 45f583b..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassPublicTest.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-/**
- * @coversDefaultClass \Foo\CoveredClass
- */
-class NamespaceCoverageCoversClassPublicTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers ::publicMethod
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassTest.php
deleted file mode 100644
index b336745..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassTest.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-/**
- * @coversDefaultClass \Foo\CoveredClass
- */
-class NamespaceCoverageCoversClassTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers ::privateMethod
-     * @covers ::protectedMethod
-     * @covers ::publicMethod
-     * @covers \Foo\CoveredParentClass::privateMethod
-     * @covers \Foo\CoveredParentClass::protectedMethod
-     * @covers \Foo\CoveredParentClass::publicMethod
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageMethodTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageMethodTest.php
deleted file mode 100644
index 35dfb8b..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageMethodTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageMethodTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::publicMethod
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPrivateTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPrivateTest.php
deleted file mode 100644
index 552c9ec..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPrivateTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageNotPrivateTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<!private>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotProtectedTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotProtectedTest.php
deleted file mode 100644
index 33fc8c7..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotProtectedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageNotProtectedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<!protected>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPublicTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPublicTest.php
deleted file mode 100644
index ccbc500..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPublicTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageNotPublicTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<!public>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePrivateTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePrivateTest.php
deleted file mode 100644
index cce7ba9..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePrivateTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoveragePrivateTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<private>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageProtectedTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageProtectedTest.php
deleted file mode 100644
index dbbcc1c..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageProtectedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageProtectedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<protected>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePublicTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePublicTest.php
deleted file mode 100644
index bf1bff8..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePublicTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoveragePublicTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<public>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveredClass.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveredClass.php
deleted file mode 100644
index 5bd0ddf..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveredClass.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-namespace Foo;
-
-class CoveredParentClass
-{
-    private function privateMethod()
-    {
-    }
-
-    protected function protectedMethod()
-    {
-        $this->privateMethod();
-    }
-
-    public function publicMethod()
-    {
-        $this->protectedMethod();
-    }
-}
-
-class CoveredClass extends CoveredParentClass
-{
-    private function privateMethod()
-    {
-    }
-
-    protected function protectedMethod()
-    {
-        parent::protectedMethod();
-        $this->privateMethod();
-    }
-
-    public function publicMethod()
-    {
-        parent::publicMethod();
-        $this->protectedMethod();
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NotExistingCoveredElementTest.php b/core/vendor/phpunit/php-code-coverage/tests/_files/NotExistingCoveredElementTest.php
deleted file mode 100644
index be07ef4..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/NotExistingCoveredElementTest.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-class NotExistingCoveredElementTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers NotExistingClass
-     */
-    public function testOne()
-    {
-    }
-
-    /**
-     * @covers NotExistingClass::notExistingMethod
-     */
-    public function testTwo()
-    {
-    }
-
-    /**
-     * @covers NotExistingClass::<public>
-     */
-    public function testThree()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml b/core/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml
deleted file mode 100644
index ac43b80..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<coverage generated="%i">
-  <project timestamp="%i">
-    <file name="%s/source_with_class_and_anonymous_function.php">
-      <class name="CoveredClassWithAnonymousFunctionInStaticMethod" namespace="global">
-        <metrics methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="4" elements="7" coveredelements="5"/>
-      </class>
-      <line num="5" type="method" name="runAnonymous" crap="1.04" count="1"/>
-      <line num="7" type="stmt" count="1"/>
-      <line num="9" type="stmt" count="1"/>
-      <line num="10" type="stmt" count="0"/>
-      <line num="11" type="method" name="anonymous function" crap="1" count="1"/>
-      <line num="12" type="stmt" count="1"/>
-      <line num="13" type="stmt" count="1"/>
-      <line num="14" type="stmt" count="1"/>
-      <line num="17" type="stmt" count="1"/>
-      <line num="18" type="stmt" count="1"/>
-      <metrics loc="19" ncloc="17" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="7" elements="10" coveredelements="8"/>
-    </file>
-    <metrics files="1" loc="19" ncloc="17" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="7" elements="10" coveredelements="8"/>
-  </project>
-</coverage>
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml b/core/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml
deleted file mode 100644
index cda929c..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<coverage generated="%i">
-  <project timestamp="%i">
-    <file name="%s/source_with_ignore.php">
-      <class name="Foo" namespace="global">
-        <metrics methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
-      </class>
-      <class name="Bar" namespace="global">
-        <metrics methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
-      </class>
-      <line num="2" type="stmt" count="1"/>
-      <line num="6" type="stmt" count="0"/>
-      <metrics loc="37" ncloc="25" classes="2" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="1" elements="2" coveredelements="1"/>
-    </file>
-    <metrics files="1" loc="37" ncloc="25" classes="2" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="1" elements="2" coveredelements="1"/>
-  </project>
-</coverage>
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php b/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php
deleted file mode 100644
index eaba387..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-class CoveredClassWithAnonymousFunctionInStaticMethod
-{
-    public static function runAnonymous()
-    {
-        $filter = array('abc124', 'abc123', '123');
-
-        array_walk(
-            $filter,
-            function (&$val, $key) {
-                $val = preg_replace('|[^0-9]|', '', $val);
-            }
-        );
-
-        // Should be covered
-        $extravar = true;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_ignore.php b/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_ignore.php
deleted file mode 100644
index dd9aa12..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_ignore.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-if ($neverHappens) {
-    // @codeCoverageIgnoreStart
-    print '*';
-    // @codeCoverageIgnoreEnd
-}
-
-/**
- * @codeCoverageIgnore
- */
-class Foo
-{
-    public function bar()
-    {
-    }
-}
-
-class Bar
-{
-    /**
-     * @codeCoverageIgnore
-     */
-    public function foo()
-    {
-    }
-}
-
-function baz()
-{
-    print '*'; // @codeCoverageIgnore
-}
-
-interface Bor
-{
-    public function foo();
-
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php b/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php
deleted file mode 100644
index ebe98ee..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-namespace bar\baz;
-
-/**
- * Represents foo.
- */
-class source_with_namespace
-{
-}
-
-/**
- * @param mixed $bar
- */
-function &foo($bar)
-{
-    $baz = function () {};
-    $a   = true ? true : false;
-    $b = "{$a}";
-    $c = "${b}";
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_oneline_annotations.php b/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_oneline_annotations.php
deleted file mode 100644
index 19dd4cd..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_oneline_annotations.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/** Docblock */
-interface Foo
-{
-    public function bar();
-}
-
-class Foo
-{
-    public function bar()
-    {
-    }
-}
-
-function baz()
-{
-    // a one-line comment
-    print '*'; // a one-line comment
-
-    /* a one-line comment */
-    print '*'; /* a one-line comment */
-
-    /* a one-line comment
-     */
-    print '*'; /* a one-line comment
-    */
-
-    print '*'; // @codeCoverageIgnore
-
-    print '*'; // @codeCoverageIgnoreStart
-    print '*';
-    print '*'; // @codeCoverageIgnoreEnd
-
-    print '*';
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_without_ignore.php b/core/vendor/phpunit/php-code-coverage/tests/_files/source_without_ignore.php
deleted file mode 100644
index be4e836..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/source_without_ignore.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-if ($neverHappens) {
-    print '*';
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php b/core/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php
deleted file mode 100644
index 24d78e5..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-/**
- * Represents foo.
- */
-class Foo
-{
-}
-
-/**
- * @param mixed $bar
- */
-function &foo($bar)
-{
-    $baz = function () {};
-    $a   = true ? true : false;
-    $b = "{$a}";
-    $c = "${b}";
-}
diff --git a/core/vendor/phpunit/php-file-iterator/.gitattributes b/core/vendor/phpunit/php-file-iterator/.gitattributes
deleted file mode 100644
index 461090b..0000000
--- a/core/vendor/phpunit/php-file-iterator/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.php diff=php
diff --git a/core/vendor/phpunit/php-file-iterator/.gitignore b/core/vendor/phpunit/php-file-iterator/.gitignore
deleted file mode 100644
index a741983..0000000
--- a/core/vendor/phpunit/php-file-iterator/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-build/api
-build/code-browser
-build/coverage
-build/logs
-build/pdepend
-cache.properties
-phpunit.xml
diff --git a/core/vendor/phpunit/php-file-iterator/ChangeLog.md b/core/vendor/phpunit/php-file-iterator/ChangeLog.md
deleted file mode 100644
index fa77ced..0000000
--- a/core/vendor/phpunit/php-file-iterator/ChangeLog.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Change Log
-
-All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
-
-## [1.4.0] - 2015-04-02
-
-### Added
-
-* [Added support for wildcards (glob) in exclude](https://github.com/sebastianbergmann/php-file-iterator/pull/23)
-
diff --git a/core/vendor/phpunit/php-file-iterator/LICENSE b/core/vendor/phpunit/php-file-iterator/LICENSE
deleted file mode 100644
index 6cccbbb..0000000
--- a/core/vendor/phpunit/php-file-iterator/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-File_Iterator
-
-Copyright (c) 2009-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/phpunit/php-file-iterator/README.md b/core/vendor/phpunit/php-file-iterator/README.md
deleted file mode 100644
index ef28388..0000000
--- a/core/vendor/phpunit/php-file-iterator/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# File_Iterator
-
-## Installation
-
-To add File_Iterator as a local, per-project dependency to your project, simply add a dependency on `phpunit/php-file-iterator` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on File_Iterator 1.4:
-
-    {
-        "require": {
-            "phpunit/php-file-iterator": "~1.4"
-        }
-    }
-
diff --git a/core/vendor/phpunit/php-file-iterator/composer.json b/core/vendor/phpunit/php-file-iterator/composer.json
deleted file mode 100644
index c652794..0000000
--- a/core/vendor/phpunit/php-file-iterator/composer.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-    "name": "phpunit/php-file-iterator",
-    "description": "FilterIterator implementation that filters files based on a list of suffixes.",
-    "type": "library",
-    "keywords": [
-        "iterator",
-        "filesystem"
-    ],
-    "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sb@sebastian-bergmann.de",
-            "role": "lead"
-        }
-    ],
-    "support": {
-        "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
-        "irc": "irc://irc.freenode.net/phpunit"
-    },
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.4.x-dev"
-        }
-    }
-}
-
diff --git a/core/vendor/phpunit/php-file-iterator/src/Facade.php b/core/vendor/phpunit/php-file-iterator/src/Facade.php
deleted file mode 100644
index cf73ba8..0000000
--- a/core/vendor/phpunit/php-file-iterator/src/Facade.php
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-/*
- * This file is part of the File_Iterator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Façade implementation that uses File_Iterator_Factory to create a
- * File_Iterator that operates on an AppendIterator that contains an
- * RecursiveDirectoryIterator for each given path. The list of unique
- * files is returned as an array.
- *
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version   Release: @package_version@
- * @link      http://github.com/sebastianbergmann/php-file-iterator/tree
- * @since     Class available since Release 1.3.0
- */
-class File_Iterator_Facade
-{
-    /**
-     * @param  array|string $paths
-     * @param  array|string $suffixes
-     * @param  array|string $prefixes
-     * @param  array        $exclude
-     * @param  boolean      $commonPath
-     * @return array
-     */
-    public function getFilesAsArray($paths, $suffixes = '', $prefixes = '', array $exclude = array(), $commonPath = FALSE)
-    {
-        if (is_string($paths)) {
-            $paths = array($paths);
-        }
-
-        $factory  = new File_Iterator_Factory;
-        $iterator = $factory->getFileIterator(
-          $paths, $suffixes, $prefixes, $exclude
-        );
-
-        $files = array();
-
-        foreach ($iterator as $file) {
-            $file = $file->getRealPath();
-
-            if ($file) {
-                $files[] = $file;
-            }
-        }
-
-        foreach ($paths as $path) {
-            if (is_file($path)) {
-                $files[] = realpath($path);
-            }
-        }
-
-        $files = array_unique($files);
-        sort($files);
-
-        if ($commonPath) {
-            return array(
-              'commonPath' => $this->getCommonPath($files),
-              'files'      => $files
-            );
-        } else {
-            return $files;
-        }
-    }
-
-    /**
-     * Returns the common path of a set of files.
-     *
-     * @param  array $files
-     * @return string
-     */
-    protected function getCommonPath(array $files)
-    {
-        $count = count($files);
-
-        if ($count == 0) {
-            return '';
-        }
-
-        if ($count == 1) {
-            return dirname($files[0]) . DIRECTORY_SEPARATOR;
-        }
-
-        $_files = array();
-
-        foreach ($files as $file) {
-            $_files[] = $_fileParts = explode(DIRECTORY_SEPARATOR, $file);
-
-            if (empty($_fileParts[0])) {
-                $_fileParts[0] = DIRECTORY_SEPARATOR;
-            }
-        }
-
-        $common = '';
-        $done   = FALSE;
-        $j      = 0;
-        $count--;
-
-        while (!$done) {
-            for ($i = 0; $i < $count; $i++) {
-                if ($_files[$i][$j] != $_files[$i+1][$j]) {
-                    $done = TRUE;
-                    break;
-                }
-            }
-
-            if (!$done) {
-                $common .= $_files[0][$j];
-
-                if ($j > 0) {
-                    $common .= DIRECTORY_SEPARATOR;
-                }
-            }
-
-            $j++;
-        }
-
-        return DIRECTORY_SEPARATOR . $common;
-    }
-}
diff --git a/core/vendor/phpunit/php-file-iterator/src/Factory.php b/core/vendor/phpunit/php-file-iterator/src/Factory.php
deleted file mode 100644
index 70fc66b..0000000
--- a/core/vendor/phpunit/php-file-iterator/src/Factory.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-/*
- * This file is part of the File_Iterator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Factory Method implementation that creates a File_Iterator that operates on
- * an AppendIterator that contains an RecursiveDirectoryIterator for each given
- * path.
- *
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version   Release: @package_version@
- * @link      http://github.com/sebastianbergmann/php-file-iterator/tree
- * @since     Class available since Release 1.1.0
- */
-class File_Iterator_Factory
-{
-    /**
-     * @param  array|string $paths
-     * @param  array|string $suffixes
-     * @param  array|string $prefixes
-     * @param  array        $exclude
-     * @return AppendIterator
-     */
-    public function getFileIterator($paths, $suffixes = '', $prefixes = '', array $exclude = array())
-    {
-        if (is_string($paths)) {
-            $paths = array($paths);
-        }
-
-        $paths   = $this->getPathsAfterResolvingWildcards($paths);
-        $exclude = $this->getPathsAfterResolvingWildcards($exclude);
-
-        if (is_string($prefixes)) {
-            if ($prefixes != '') {
-                $prefixes = array($prefixes);
-            } else {
-                $prefixes = array();
-            }
-        }
-
-        if (is_string($suffixes)) {
-            if ($suffixes != '') {
-                $suffixes = array($suffixes);
-            } else {
-                $suffixes = array();
-            }
-        }
-
-        $iterator = new AppendIterator;
-
-        foreach ($paths as $path) {
-            if (is_dir($path)) {
-                $iterator->append(
-                  new File_Iterator(
-                    new RecursiveIteratorIterator(
-                      new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::FOLLOW_SYMLINKS)
-                    ),
-                    $suffixes,
-                    $prefixes,
-                    $exclude,
-                    $path
-                  )
-                );
-            }
-        }
-
-        return $iterator;
-    }
-
-    /**
-     * @param  array $paths
-     * @return array
-     */
-    protected function getPathsAfterResolvingWildcards(array $paths)
-    {
-        $_paths = array();
-
-        foreach ($paths as $path) {
-            if ($locals = glob($path, GLOB_ONLYDIR)) {
-                $_paths = array_merge($_paths, $locals);
-            } else {
-                $_paths[] = $path;
-            }
-        }
-
-        return $_paths;
-    }
-}
diff --git a/core/vendor/phpunit/php-file-iterator/src/Iterator.php b/core/vendor/phpunit/php-file-iterator/src/Iterator.php
deleted file mode 100644
index 53720e2..0000000
--- a/core/vendor/phpunit/php-file-iterator/src/Iterator.php
+++ /dev/null
@@ -1,163 +0,0 @@
-<?php
-/*
- * This file is part of the File_Iterator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * FilterIterator implementation that filters files based on prefix(es) and/or
- * suffix(es). Hidden files and files from hidden directories are also filtered.
- *
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version   Release: @package_version@
- * @link      http://github.com/sebastianbergmann/php-file-iterator/tree
- * @since     Class available since Release 1.0.0
- */
-class File_Iterator extends FilterIterator
-{
-    const PREFIX = 0;
-    const SUFFIX = 1;
-
-    /**
-     * @var array
-     */
-    protected $suffixes = array();
-
-    /**
-     * @var array
-     */
-    protected $prefixes = array();
-
-    /**
-     * @var array
-     */
-    protected $exclude = array();
-
-    /**
-     * @var string
-     */
-    protected $basepath;
-
-    /**
-     * @param  Iterator $iterator
-     * @param  array    $suffixes
-     * @param  array    $prefixes
-     * @param  array    $exclude
-     * @param  string   $basepath
-     */
-    public function __construct(Iterator $iterator, array $suffixes = array(), array $prefixes = array(), array $exclude = array(), $basepath = NULL)
-    {
-        $exclude = array_filter(array_map('realpath', $exclude));
-
-        if ($basepath !== NULL) {
-            $basepath = realpath($basepath);
-        }
-
-        if ($basepath === FALSE) {
-            $basepath = NULL;
-        } else {
-            foreach ($exclude as &$_exclude) {
-                $_exclude = str_replace($basepath, '', $_exclude);
-            }
-        }
-
-        $this->prefixes = $prefixes;
-        $this->suffixes = $suffixes;
-        $this->exclude  = $exclude;
-        $this->basepath = $basepath;
-
-        parent::__construct($iterator);
-    }
-
-    /**
-     * @return boolean
-     */
-    public function accept()
-    {
-        $current  = $this->getInnerIterator()->current();
-        $filename = $current->getFilename();
-        $realpath = $current->getRealPath();
-
-        if ($this->basepath !== NULL) {
-            $realpath = str_replace($this->basepath, '', $realpath);
-        }
-
-        // Filter files in hidden directories.
-        if (preg_match('=/\.[^/]*/=', $realpath)) {
-            return FALSE;
-        }
-
-        return $this->acceptPath($realpath) &&
-               $this->acceptPrefix($filename) &&
-               $this->acceptSuffix($filename);
-    }
-
-    /**
-     * @param  string $path
-     * @return boolean
-     * @since  Method available since Release 1.1.0
-     */
-    protected function acceptPath($path)
-    {
-        foreach ($this->exclude as $exclude) {
-            if (strpos($path, $exclude) === 0) {
-                return FALSE;
-            }
-        }
-
-        return TRUE;
-    }
-
-    /**
-     * @param  string $filename
-     * @return boolean
-     * @since  Method available since Release 1.1.0
-     */
-    protected function acceptPrefix($filename)
-    {
-        return $this->acceptSubString($filename, $this->prefixes, self::PREFIX);
-    }
-
-    /**
-     * @param  string $filename
-     * @return boolean
-     * @since  Method available since Release 1.1.0
-     */
-    protected function acceptSuffix($filename)
-    {
-        return $this->acceptSubString($filename, $this->suffixes, self::SUFFIX);
-    }
-
-    /**
-     * @param  string  $filename
-     * @param  array   $subString
-     * @param  integer $type
-     * @return boolean
-     * @since  Method available since Release 1.1.0
-     */
-    protected function acceptSubString($filename, array $subStrings, $type)
-    {
-        if (empty($subStrings)) {
-            return TRUE;
-        }
-
-        $matched = FALSE;
-
-        foreach ($subStrings as $string) {
-            if (($type == self::PREFIX && strpos($filename, $string) === 0) ||
-                ($type == self::SUFFIX &&
-                 substr($filename, -1 * strlen($string)) == $string)) {
-                $matched = TRUE;
-                break;
-            }
-        }
-
-        return $matched;
-    }
-}
diff --git a/core/vendor/phpunit/php-text-template/.gitattributes b/core/vendor/phpunit/php-text-template/.gitattributes
deleted file mode 100644
index 461090b..0000000
--- a/core/vendor/phpunit/php-text-template/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.php diff=php
diff --git a/core/vendor/phpunit/php-text-template/.gitignore b/core/vendor/phpunit/php-text-template/.gitignore
deleted file mode 100644
index a741983..0000000
--- a/core/vendor/phpunit/php-text-template/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-build/api
-build/code-browser
-build/coverage
-build/logs
-build/pdepend
-cache.properties
-phpunit.xml
diff --git a/core/vendor/phpunit/php-text-template/ChangeLog.md b/core/vendor/phpunit/php-text-template/ChangeLog.md
deleted file mode 100644
index f2b7f7e..0000000
--- a/core/vendor/phpunit/php-text-template/ChangeLog.md
+++ /dev/null
@@ -1,9 +0,0 @@
-Text_Template 1.2
-=================
-
-This is the list of changes for the Text_Template 1.2 release series.
-
-Text_Template 1.2.0
--------------------
-
-* Added support for arbitrary delimiters for template variables.
diff --git a/core/vendor/phpunit/php-text-template/LICENSE b/core/vendor/phpunit/php-text-template/LICENSE
deleted file mode 100644
index 3efd415..0000000
--- a/core/vendor/phpunit/php-text-template/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-Text_Template
-
-Copyright (c) 2009-2014, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/phpunit/php-text-template/README.md b/core/vendor/phpunit/php-text-template/README.md
deleted file mode 100644
index 0d60da9..0000000
--- a/core/vendor/phpunit/php-text-template/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-Text_Template
-=============
-
-Installation
-------------
-
-Text_Template should be installed using the [PEAR Installer](http://pear.php.net/). This installer is the backbone of PEAR, which provides a distribution system for PHP packages, and is shipped with every release of PHP since version 4.3.0.
-
-The PEAR channel (`pear.phpunit.de`) that is used to distribute Text_Template needs to be registered with the local PEAR environment:
-
-    sb@ubuntu ~ % pear channel-discover pear.phpunit.de
-    Adding Channel "pear.phpunit.de" succeeded
-    Discovery of channel "pear.phpunit.de" succeeded
-
-This has to be done only once. Now the PEAR Installer can be used to install packages from the PHPUnit channel:
-
-    sb@vmware ~ % pear install phpunit/Text_Template
-    downloading Text_Template-1.0.0.tgz ...
-    Starting to download Text_Template-1.0.0.tgz (2,493 bytes)
-    ....done: 2,493 bytes
-    install ok: channel://pear.phpunit.de/Text_Template-1.0.0
-
-After the installation you can find the Text_Template source files inside your local PEAR directory; the path is usually `/usr/lib/php/Text`.
diff --git a/core/vendor/phpunit/php-text-template/Text/Template.php b/core/vendor/phpunit/php-text-template/Text/Template.php
deleted file mode 100644
index 2f5a367..0000000
--- a/core/vendor/phpunit/php-text-template/Text/Template.php
+++ /dev/null
@@ -1,177 +0,0 @@
-<?php
-/**
- * Text_Template
- *
- * Copyright (c) 2009-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category   Text
- * @package    Template
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2009-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-text-template
- * @since      File available since Release 1.0.0
- */
-
-/**
- * A simple template engine.
- *
- * @category   Text
- * @package    Template
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2009-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-text-template
- * @since      Class available since Release 1.0.0
- */
-class Text_Template
-{
-    /**
-     * @var string
-     */
-    protected $template = '';
-
-    /**
-     * @var string
-     */
-    protected $openDelimiter = '{';
-
-    /**
-     * @var string
-     */
-    protected $closeDelimiter = '}';
-
-    /**
-     * @var array
-     */
-    protected $values = array();
-
-    /**
-     * Constructor.
-     *
-     * @param  string $file
-     * @throws InvalidArgumentException
-     */
-    public function __construct($file = '', $openDelimiter = '{', $closeDelimiter = '}')
-    {
-        $this->setFile($file);
-        $this->openDelimiter  = $openDelimiter;
-        $this->closeDelimiter = $closeDelimiter;
-    }
-
-    /**
-     * Sets the template file.
-     *
-     * @param  string $file
-     * @throws InvalidArgumentException
-     */
-    public function setFile($file)
-    {
-        $distFile = $file . '.dist';
-
-        if (file_exists($file)) {
-            $this->template = file_get_contents($file);
-        }
-
-        else if (file_exists($distFile)) {
-            $this->template = file_get_contents($distFile);
-        }
-
-        else {
-            throw new InvalidArgumentException(
-              'Template file could not be loaded.'
-            );
-        }
-    }
-
-    /**
-     * Sets one or more template variables.
-     *
-     * @param  array   $values
-     * @param  boolean $merge
-     */
-    public function setVar(array $values, $merge = TRUE)
-    {
-        if (!$merge || empty($this->values)) {
-            $this->values = $values;
-        } else {
-            $this->values = array_merge($this->values, $values);
-        }
-    }
-
-    /**
-     * Renders the template and returns the result.
-     *
-     * @return string
-     */
-    public function render()
-    {
-        $keys = array();
-
-        foreach ($this->values as $key => $value) {
-            $keys[] = $this->openDelimiter . $key . $this->closeDelimiter;
-        }
-
-        return str_replace($keys, $this->values, $this->template);
-    }
-
-    /**
-     * Renders the template and writes the result to a file.
-     *
-     * @param string $target
-     */
-    public function renderTo($target)
-    {
-        $fp = @fopen($target, 'wt');
-
-        if ($fp) {
-            fwrite($fp, $this->render());
-            fclose($fp);
-        } else {
-            $error = error_get_last();
-
-            throw new RuntimeException(
-              sprintf(
-                'Could not write to %s: %s',
-                $target,
-                substr(
-                  $error['message'],
-                  strpos($error['message'], ':') + 2
-                )
-              )
-            );
-        }
-    }
-}
-
diff --git a/core/vendor/phpunit/php-text-template/Text/Template/Autoload.php b/core/vendor/phpunit/php-text-template/Text/Template/Autoload.php
deleted file mode 100644
index 9142641..0000000
--- a/core/vendor/phpunit/php-text-template/Text/Template/Autoload.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/**
- * Text_Template
- *
- * Copyright (c) 2009-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category   Text
- * @package    Template
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2009-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-text-template
- * @since      File available since Release 1.1.0
- */
-
-spl_autoload_register(
-  function ($class) {
-      static $classes = NULL;
-      static $path = NULL;
-
-      if ($classes === NULL) {
-          $classes = array(
-            'text_template' => '/Template.php'
-          );
-
-          $path = dirname(dirname(__FILE__));
-      }
-
-      $cn = strtolower($class);
-
-      if (isset($classes[$cn])) {
-          require $path . $classes[$cn];
-      }
-  }
-);
diff --git a/core/vendor/phpunit/php-text-template/Text/Template/Autoload.php.in b/core/vendor/phpunit/php-text-template/Text/Template/Autoload.php.in
deleted file mode 100644
index 3092120..0000000
--- a/core/vendor/phpunit/php-text-template/Text/Template/Autoload.php.in
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/**
- * Text_Template
- *
- * Copyright (c) 2009-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category   Text
- * @package    Template
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2009-2010 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-text-template
- * @since      File available since Release 1.1.0
- */
-
-spl_autoload_register(
-  function ($class) {
-      static $classes = NULL;
-      static $path = NULL;
-
-      if ($classes === NULL) {
-          $classes = array(
-            ___CLASSLIST___
-          );
-
-          $path = dirname(dirname(__FILE__));
-      }
-
-      $cn = strtolower($class);
-
-      if (isset($classes[$cn])) {
-          require $path . $classes[$cn];
-      }
-  }
-);
diff --git a/core/vendor/phpunit/php-text-template/build.xml b/core/vendor/phpunit/php-text-template/build.xml
deleted file mode 100644
index 3be9137..0000000
--- a/core/vendor/phpunit/php-text-template/build.xml
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project name="Text_Template" default="build">
- <property name="php" value="php"/>
- <property name="phpunit" value="phpunit"/>
-
- <target name="build"
-   depends="prepare,lint,phploc,pdepend,phpmd-ci,phpcs-ci,phpcpd,phpcb"/>
-
- <target name="build-parallel"
-   depends="prepare,lint,tools-parallel,phpcb"/>
-
- <target name="tools-parallel"
-         description="Run tools in parallel">
-  <parallel threadCount="2">
-   <sequential>
-    <antcall target="pdepend"/>
-    <antcall target="phpmd-ci"/>
-   </sequential>
-   <antcall target="phpcpd"/>
-   <antcall target="phpcs-ci"/>
-   <antcall target="phploc"/>
-  </parallel>
- </target>
-
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/build/api"/>
-  <delete dir="${basedir}/build/code-browser"/>
-  <delete dir="${basedir}/build/coverage"/>
-  <delete dir="${basedir}/build/logs"/>
-  <delete dir="${basedir}/build/pdepend"/>
- </target>
-
- <target name="prepare" depends="clean,phpab"
-         description="Prepare for build">
-  <mkdir dir="${basedir}/build/api"/>
-  <mkdir dir="${basedir}/build/code-browser"/>
-  <mkdir dir="${basedir}/build/coverage"/>
-  <mkdir dir="${basedir}/build/logs"/>
-  <mkdir dir="${basedir}/build/pdepend"/>
- </target>
-
- <target name="phpab" description="Generate autoloader scripts">
-  <exec executable="phpab">
-   <arg value="--output" />
-   <arg path="Text/Template/Autoload.php" />
-   <arg value="--template" />
-   <arg path="Text/Template/Autoload.php.in" />
-   <arg value="--indent" />
-   <arg value="            " />
-   <arg path="Text" />
-  </exec>
- </target>
-
- <target name="lint">
-  <apply executable="${php}" failonerror="true">
-   <arg value="-l" />
-
-   <fileset dir="${basedir}/Text">
-    <include name="**/*.php" />
-    <modified />
-   </fileset>
-<!--
-   <fileset dir="${basedir}/Tests">
-    <include name="**/*.php" />
-    <modified />
-   </fileset>
--->
-  </apply>
- </target>
-
- <target name="phploc" description="Measure project size using PHPLOC">
-  <exec executable="phploc">
-   <arg value="--log-csv" />
-   <arg value="${basedir}/build/logs/phploc.csv" />
-   <arg path="${basedir}/Text" />
-  </exec>
- </target>
-
- <target name="pdepend"
-         description="Calculate software metrics using PHP_Depend">
-  <exec executable="pdepend">
-   <arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" />
-   <arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" />
-   <arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" />
-   <arg path="${basedir}/Text" />
-  </exec>
- </target>
-
- <target name="phpmd"
-         description="Perform project mess detection using PHPMD">
-  <exec executable="phpmd">
-   <arg path="${basedir}/Text" />
-   <arg value="text" />
-   <arg value="${basedir}/build/phpmd.xml" />
-  </exec>
- </target>
-
- <target name="phpmd-ci"
-         description="Perform project mess detection using PHPMD">
-  <exec executable="phpmd">
-   <arg path="${basedir}/Text" />
-   <arg value="xml" />
-   <arg value="${basedir}/build/phpmd.xml" />
-   <arg value="--reportfile" />
-   <arg value="${basedir}/build/logs/pmd.xml" />
-  </exec>
- </target>
-
- <target name="phpcs"
-         description="Find coding standard violations using PHP_CodeSniffer">
-  <exec executable="phpcs">
-   <arg value="--standard=${basedir}/build/PHPCS" />
-   <arg value="--extensions=php" />
-   <arg value="--ignore=Autoload.php" />
-   <arg path="${basedir}/Text" />
-  </exec>
- </target>
-
- <target name="phpcs-ci"
-         description="Find coding standard violations using PHP_CodeSniffer">
-  <exec executable="phpcs" output="/dev/null">
-   <arg value="--report=checkstyle" />
-   <arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
-   <arg value="--standard=${basedir}/build/PHPCS" />
-   <arg value="--extensions=php" />
-   <arg value="--ignore=Autoload.php" />
-   <arg path="${basedir}/Text" />
-  </exec>
- </target>
-
- <target name="phpcpd" description="Find duplicate code using PHPCPD">
-  <exec executable="phpcpd">
-   <arg value="--log-pmd" />
-   <arg value="${basedir}/build/logs/pmd-cpd.xml" />
-   <arg path="${basedir}/Text" />
-  </exec>
- </target>
-
- <target name="phpunit" description="Run unit tests with PHPUnit">
-  <condition property="phpunit_cmd" value="${php} ${phpunit}" else="${phpunit}">
-   <not>
-    <equals arg1="${phpunit}" arg2="phpunit" />
-   </not>
-  </condition>
-
-  <exec executable="${phpunit_cmd}" failonerror="true"/>
- </target>
-
- <target name="phpcb"
-         description="Aggregate tool output with PHP_CodeBrowser">
-  <exec executable="phpcb">
-   <arg value="--log" />
-   <arg path="${basedir}/build/logs" />
-   <arg value="--source" />
-   <arg path="${basedir}/Text" />
-   <arg value="--output" />
-   <arg path="${basedir}/build/code-browser" />
-  </exec>
- </target>
-</project>
diff --git a/core/vendor/phpunit/php-text-template/build/PHPCS/Sniffs/ControlStructures/ControlSignatureSniff.php b/core/vendor/phpunit/php-text-template/build/PHPCS/Sniffs/ControlStructures/ControlSignatureSniff.php
deleted file mode 100644
index bf9d520..0000000
--- a/core/vendor/phpunit/php-text-template/build/PHPCS/Sniffs/ControlStructures/ControlSignatureSniff.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-class PHPCS_Sniffs_ControlStructures_ControlSignatureSniff extends PHP_CodeSniffer_Standards_AbstractPatternSniff
-{
-    public function __construct()
-    {
-        parent::__construct(true);
-    }
-
-    protected function getPatterns()
-    {
-        return array(
-          'do {EOL...} while (...);EOL',
-          'while (...) {EOL',
-          'for (...) {EOL',
-          'if (...) {EOL',
-          'foreach (...) {EOL',
-          '}EOLelse if (...) {EOL',
-          '}EOLelse {EOL',
-          'do {EOL',
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-text-template/build/PHPCS/Sniffs/Whitespace/ConcatenationSpacingSniff.php b/core/vendor/phpunit/php-text-template/build/PHPCS/Sniffs/Whitespace/ConcatenationSpacingSniff.php
deleted file mode 100644
index e91d6c6..0000000
--- a/core/vendor/phpunit/php-text-template/build/PHPCS/Sniffs/Whitespace/ConcatenationSpacingSniff.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-class PHPCS_Sniffs_Whitespace_ConcatenationSpacingSniff implements PHP_CodeSniffer_Sniff
-{
-    public function register()
-    {
-        return array(T_STRING_CONCAT);
-    }
-
-    public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
-    {
-        $tokens = $phpcsFile->getTokens();
-
-        if ($tokens[($stackPtr - 1)]['code'] !== T_WHITESPACE ||
-            $tokens[($stackPtr + 1)]['code'] !== T_WHITESPACE) {
-
-            $phpcsFile->addError(
-              'Concatenation operator must be surrounded by whitespace',
-              $stackPtr
-            );
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-text-template/build/PHPCS/ruleset.xml b/core/vendor/phpunit/php-text-template/build/PHPCS/ruleset.xml
deleted file mode 100644
index 402f214..0000000
--- a/core/vendor/phpunit/php-text-template/build/PHPCS/ruleset.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0"?>
-<ruleset name="Sebastian">
- <description>Sebastian Bergmann's coding standard</description>
-
- <rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop"/>
- <rule ref="Generic.CodeAnalysis.ForLoopWithTestFunctionCall"/>
- <rule ref="Generic.CodeAnalysis.JumbledIncrementer"/>
- <rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/>
- <rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>
- <rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/>
-
- <rule ref="Generic.Commenting.Todo"/>
-
- <rule ref="Generic.ControlStructures.InlineControlStructure"/>
-
- <rule ref="Generic.Files.LineEndings"/>
-
- <rule ref="Generic.Formatting.DisallowMultipleStatements"/>
- <rule ref="Generic.Formatting.NoSpaceAfterCast"/>
-
- <rule ref="Generic.Functions.OpeningFunctionBraceBsdAllman"/>
- <rule ref="PEAR.Functions.ValidDefaultValue"/>
-
- <rule ref="Generic.NamingConventions.ConstructorName"/>
- <rule ref="Generic.NamingConventions.UpperCaseConstantName"/>
- <rule ref="PEAR.NamingConventions.ValidClassName"/>
-
- <rule ref="Generic.PHP.DisallowShortOpenTag"/>
- <rule ref="Generic.PHP.NoSilencedErrors"/>
- <rule ref="Generic.PHP.UpperCaseConstant"/>
-
- <rule ref="Generic.WhiteSpace.DisallowTabIndent"/>
- <rule ref="Generic.WhiteSpace.ScopeIndent"/>
- <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/>
-</ruleset>
diff --git a/core/vendor/phpunit/php-text-template/build/phpmd.xml b/core/vendor/phpunit/php-text-template/build/phpmd.xml
deleted file mode 100644
index 23ecb8b..0000000
--- a/core/vendor/phpunit/php-text-template/build/phpmd.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-
-<ruleset name="Sebastian"
-         xmlns="http://pmd.sf.net/ruleset/1.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
-         xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
-  <description>Sebastian Bergmann's ruleset</description>
-
-  <rule ref="rulesets/codesize.xml/CyclomaticComplexity" />
-  <rule ref="rulesets/codesize.xml/NPathComplexity" />
-  <rule ref="rulesets/codesize.xml/ExcessiveClassComplexity" />
-  <rule ref="rulesets/codesize.xml/ExcessiveClassLength" />
-  <rule ref="rulesets/codesize.xml/ExcessiveMethodLength" />
-  <rule ref="rulesets/codesize.xml/ExcessiveParameterList" />
-
-  <rule ref="rulesets/design.xml/EvalExpression" />
-  <rule ref="rulesets/design.xml/ExitExpression" />
-  <rule ref="rulesets/design.xml/GotoStatement" />
-
-  <rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass" />
-
-  <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter" />
-  <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable" />
-  <rule ref="rulesets/unusedcode.xml/UnusedPrivateField" />
-  <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod" />
-</ruleset>
diff --git a/core/vendor/phpunit/php-text-template/composer.json b/core/vendor/phpunit/php-text-template/composer.json
deleted file mode 100644
index 3bb3fe9..0000000
--- a/core/vendor/phpunit/php-text-template/composer.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-    "name": "phpunit/php-text-template",
-    "description": "Simple template engine.",
-    "type": "library",
-    "keywords": [
-        "template"
-    ],
-    "homepage": "https://github.com/sebastianbergmann/php-text-template/",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sb@sebastian-bergmann.de",
-            "role": "lead"
-        }
-    ],
-    "support": {
-        "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
-        "irc": "irc://irc.freenode.net/phpunit"
-    },
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "autoload": {
-        "classmap": [
-            "Text/"
-        ]
-    },
-    "include-path": [
-        ""
-    ]
-}
diff --git a/core/vendor/phpunit/php-text-template/package.xml b/core/vendor/phpunit/php-text-template/package.xml
deleted file mode 100644
index 7bd4f31..0000000
--- a/core/vendor/phpunit/php-text-template/package.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<package packagerversion="1.4.10" version="2.0"
-  xmlns="http://pear.php.net/dtd/package-2.0"
-  xmlns:tasks="http://pear.php.net/dtd/tasks-1.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
-                      http://pear.php.net/dtd/tasks-1.0.xsd
-                      http://pear.php.net/dtd/package-2.0
-                      http://pear.php.net/dtd/package-2.0.xsd">
- <name>Text_Template</name>
- <channel>pear.phpunit.de</channel>
- <summary>Simple template engine.</summary>
- <description>Simple template engine.</description>
- <lead>
-  <name>Sebastian Bergmann</name>
-  <user>sb</user>
-  <email>sb@sebastian-bergmann.de</email>
-  <active>yes</active>
- </lead>
- <date>2014-01-30</date>
- <version>
-  <release>1.2.0</release>
-  <api>1.2.0</api>
- </version>
- <stability>
-  <release>stable</release>
-  <api>stable</api>
- </stability>
- <license>The BSD 3-Clause License</license>
- <notes>http://github.com/sebastianbergmann/php-text-template</notes>
- <contents>
-  <dir name="/">
-   <dir name="Text">
-    <dir name="Template">
-     <file baseinstalldir="/" name="Autoload.php" role="php">
-      <tasks:replace from="@package_version@" to="version" type="package-info" />
-     </file>
-    </dir>
-    <file baseinstalldir="/" name="Template.php" role="php">
-     <tasks:replace from="@package_version@" to="version" type="package-info" />
-    </file>
-   </dir>
-   <file baseinstalldir="/" name="ChangeLog.md" role="doc"/>
-   <file baseinstalldir="/" name="LICENSE" role="doc"/>
-   <file baseinstalldir="/" name="README.md" role="doc"/>
-  </dir>
- </contents>
- <dependencies>
-  <required>
-   <php>
-    <min>5.3.3</min>
-   </php>
-   <pearinstaller>
-    <min>1.9.4</min>
-   </pearinstaller>
-  </required>
- </dependencies>
- <phprelease/>
-</package>
diff --git a/core/vendor/phpunit/php-timer/.gitattributes b/core/vendor/phpunit/php-timer/.gitattributes
deleted file mode 100644
index 461090b..0000000
--- a/core/vendor/phpunit/php-timer/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.php diff=php
diff --git a/core/vendor/phpunit/php-timer/.gitignore b/core/vendor/phpunit/php-timer/.gitignore
deleted file mode 100644
index a741983..0000000
--- a/core/vendor/phpunit/php-timer/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-build/api
-build/code-browser
-build/coverage
-build/logs
-build/pdepend
-cache.properties
-phpunit.xml
diff --git a/core/vendor/phpunit/php-timer/LICENSE b/core/vendor/phpunit/php-timer/LICENSE
deleted file mode 100644
index 581812a..0000000
--- a/core/vendor/phpunit/php-timer/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-PHP_Timer
-
-Copyright (c) 2010-2013, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/phpunit/php-timer/PHP/Timer.php b/core/vendor/phpunit/php-timer/PHP/Timer.php
deleted file mode 100644
index 0056ea8..0000000
--- a/core/vendor/phpunit/php-timer/PHP/Timer.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-/**
- * PHP_Timer
- *
- * Copyright (c) 2010-2013, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @package    PHP
- * @subpackage Timer
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2010-2013 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-timer
- * @since      File available since Release 1.0.0
- */
-
-/**
- * Utility class for timing.
- *
- * @package    PHP
- * @subpackage Timer
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2010-2013 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-timer
- * @since      Class available since Release 1.0.0
- */
-class PHP_Timer
-{
-    /**
-     * @var array
-     */
-    private static $times = array(
-      'hour'   => 3600000,
-      'minute' => 60000,
-      'second' => 1000
-    );
-
-    /**
-     * @var array
-     */
-    private static $startTimes = array();
-
-    /**
-     * @var float
-     */
-    public static $requestTime;
-
-    /**
-     * Starts the timer.
-     */
-    public static function start()
-    {
-        array_push(self::$startTimes, microtime(TRUE));
-    }
-
-    /**
-     * Stops the timer and returns the elapsed time.
-     *
-     * @return float
-     */
-    public static function stop()
-    {
-        return microtime(TRUE) - array_pop(self::$startTimes);
-    }
-
-    /**
-     * Formats the elapsed time as a string.
-     *
-     * @param  float $time
-     * @return string
-     */
-    public static function secondsToTimeString($time)
-    {
-        $ms = round($time * 1000);
-
-        foreach (self::$times as $unit => $value) {
-            if ($ms >= $value) {
-                $time = floor($ms / $value * 100.0) / 100.0;
-                return $time . ' ' . ($time == 1 ? $unit : $unit . 's');
-            }
-        }
-
-        return $ms . ' ms';
-    }
-
-    /**
-     * Formats the elapsed time since the start of the request as a string.
-     *
-     * @return string
-     */
-    public static function timeSinceStartOfRequest()
-    {
-        return self::secondsToTimeString(microtime(TRUE) - self::$requestTime);
-    }
-
-    /**
-     * Returns the resources (time, memory) of the request as a string.
-     *
-     * @return string
-     */
-    public static function resourceUsage()
-    {
-        return sprintf(
-          'Time: %s, Memory: %4.2fMb',
-          self::timeSinceStartOfRequest(),
-          memory_get_peak_usage(TRUE) / 1048576
-        );
-    }
-}
-
-if (isset($_SERVER['REQUEST_TIME_FLOAT'])) {
-    PHP_Timer::$requestTime = $_SERVER['REQUEST_TIME_FLOAT'];
-}
-
-else {
-    PHP_Timer::$requestTime = microtime(TRUE);
-}
diff --git a/core/vendor/phpunit/php-timer/PHP/Timer/Autoload.php b/core/vendor/phpunit/php-timer/PHP/Timer/Autoload.php
deleted file mode 100644
index 17b781d..0000000
--- a/core/vendor/phpunit/php-timer/PHP/Timer/Autoload.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-/**
- * PHP_Timer
- *
- * Copyright (c) 2010-2013, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @package    PHP
- * @subpackage Timer
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2010-2013 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-timer
- * @since      File available since Release 1.1.0
- */
-
-spl_autoload_register(
-  function ($class)
-  {
-      static $classes = NULL;
-      static $path = NULL;
-
-      if ($classes === NULL) {
-          $classes = array(
-            'php_timer' => '/Timer.php'
-          );
-
-          $path = dirname(dirname(__FILE__));
-      }
-
-      $cn = strtolower($class);
-
-      if (isset($classes[$cn])) {
-          require $path . $classes[$cn];
-      }
-  }
-);
diff --git a/core/vendor/phpunit/php-timer/PHP/Timer/Autoload.php.in b/core/vendor/phpunit/php-timer/PHP/Timer/Autoload.php.in
deleted file mode 100644
index c2681c2..0000000
--- a/core/vendor/phpunit/php-timer/PHP/Timer/Autoload.php.in
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-/**
- * PHP_Timer
- *
- * Copyright (c) 2010-2013, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @package    PHP
- * @subpackage Timer
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2010-2013 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-timer
- * @since      File available since Release 1.1.0
- */
-
-spl_autoload_register(
-  function ($class)
-  {
-      static $classes = NULL;
-      static $path = NULL;
-
-      if ($classes === NULL) {
-          $classes = array(
-            ___CLASSLIST___
-          );
-
-          $path = dirname(dirname(__FILE__));
-      }
-
-      $cn = strtolower($class);
-
-      if (isset($classes[$cn])) {
-          require $path . $classes[$cn];
-      }
-  }
-);
diff --git a/core/vendor/phpunit/php-timer/README.md b/core/vendor/phpunit/php-timer/README.md
deleted file mode 100644
index b618de0..0000000
--- a/core/vendor/phpunit/php-timer/README.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# PHP_Timer
-
-Utility class for timing things, factored out of PHPUnit into a stand-alone component.
-
-## Installation
-
-You can use the [PEAR Installer](http://pear.php.net/manual/en/guide.users.commandline.cli.php) or [Composer](http://getcomposer.org/) to download and install this package as well as its dependencies.
-
-### PEAR Installer
-
-The following two commands (which you may have to run as `root`) are all that is required to install this package using the PEAR Installer:
-
-    pear config-set auto_discover 1
-    pear install pear.phpunit.de/PHP_Timer
-
-### Composer
-
-To add this package as a local, per-project dependency to your project, simply add a dependency on `phpunit/php-timer` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on PHP_Timer:
-
-    {
-        "require": {
-            "phpunit/php-timer": "*"
-        }
-    }
-
-### Usage
-
-#### Basic Timing
-
-```php
-PHP_Timer::start();
-
-$timer->start();
-
-// ...
-
-$time = PHP_Timer::stop();
-var_dump($time);
-
-print PHP_Timer::secondsToTimeString($time);
-```
-
-The code above yields the output below:
-
-    double(1.0967254638672E-5)
-    0 ms
-
-#### Resource Consumption Since PHP Startup
-
-```php
-print PHP_Timer::resourceUsage();
-```
-
-The code above yields the output below:
-
-    Time: 0 ms, Memory: 0.50Mb
diff --git a/core/vendor/phpunit/php-timer/Tests/TimerTest.php b/core/vendor/phpunit/php-timer/Tests/TimerTest.php
deleted file mode 100644
index 9cf4cb0..0000000
--- a/core/vendor/phpunit/php-timer/Tests/TimerTest.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-/**
- * PHP_Timer
- *
- * Copyright (c) 2010-2013, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @package    PHP
- * @subpackage Timer
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2010 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/php-timer
- * @since      File available since Release 1.0.0
- */
-
-require_once dirname(dirname(__FILE__)) . '/PHP/Timer.php';
-
-/**
- * Tests for PHP_Timer.
- *
- * @package    PHP
- * @subpackage Timer
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2010-2013 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-timer
- * @since      Class available since Release 1.0.0
- */
-class PHP_TimerTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers PHP_Timer::start
-     * @covers PHP_Timer::stop
-     */
-    public function testStartStop()
-    {
-        $this->assertInternalType('float', PHP_Timer::stop());
-    }
-
-    /**
-     * @covers       PHP_Timer::secondsToTimeString
-     * @dataProvider secondsProvider
-     */
-    public function testSecondsToTimeString($string, $seconds)
-    {
-        $this->assertEquals(
-          $string, PHP_Timer::secondsToTimeString($seconds)
-        );
-    }
-
-    /**
-     * @covers PHP_Timer::timeSinceStartOfRequest
-     */
-    public function testTimeSinceStartOfRequest()
-    {
-        $this->assertStringMatchesFormat(
-          '%f %s', PHP_Timer::timeSinceStartOfRequest()
-        );
-    }
-
-
-    /**
-     * @covers PHP_Timer::resourceUsage
-     */
-    public function testResourceUsage()
-    {
-        $this->assertStringMatchesFormat(
-          'Time: %s, Memory: %s', PHP_Timer::resourceUsage()
-        );
-    }
-
-    public function secondsProvider()
-    {
-        return array(
-          array('0 ms', 0),
-          array('1 ms', .001),
-          array('10 ms', .01),
-          array('100 ms', .1),
-          array('999 ms', .999),
-          array('1 second', .9999),
-          array('1 second', 1),
-          array('2 seconds', 2),
-          array('59.9 seconds', 59.9),
-          array('59.99 seconds', 59.99),
-          array('59.99 seconds', 59.999),
-          array('1 minute', 59.9999),
-          array('59 seconds', 59.001),
-          array('59.01 seconds', 59.01),
-          array('1 minute', 60),
-          array('1.01 minutes', 61),
-          array('2 minutes', 120),
-          array('2.01 minutes', 121),
-          array('59.99 minutes', 3599.9),
-          array('59.99 minutes', 3599.99),
-          array('59.99 minutes', 3599.999),
-          array('1 hour', 3599.9999),
-          array('59.98 minutes', 3599.001),
-          array('59.98 minutes', 3599.01),
-          array('1 hour', 3600),
-          array('1 hour', 3601),
-          array('1 hour', 3601.9),
-          array('1 hour', 3601.99),
-          array('1 hour', 3601.999),
-          array('1 hour', 3601.9999),
-          array('1.01 hours', 3659.9999),
-          array('1.01 hours', 3659.001),
-          array('1.01 hours', 3659.01),
-          array('2 hours', 7199.9999),
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-timer/build.xml b/core/vendor/phpunit/php-timer/build.xml
deleted file mode 100644
index 32469d0..0000000
--- a/core/vendor/phpunit/php-timer/build.xml
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project name="PHP_Timer" default="build">
- <property name="php" value="php"/>
- <property name="phpunit" value="phpunit"/>
-
- <target name="build"
-   depends="prepare,lint,phploc,pdepend,phpmd-ci,phpcs-ci,phpcpd,phpunit,phpcb"/>
-
- <target name="build-parallel"
-   depends="prepare,lint,tools-parallel,phpunit,phpcb"/>
-
- <target name="tools-parallel"
-         description="Run tools in parallel">
-  <parallel threadCount="2">
-   <sequential>
-    <antcall target="pdepend"/>
-    <antcall target="phpmd-ci"/>
-   </sequential>
-   <antcall target="phpcpd"/>
-   <antcall target="phpcs-ci"/>
-   <antcall target="phploc"/>
-  </parallel>
- </target>
-
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/build/api"/>
-  <delete dir="${basedir}/build/code-browser"/>
-  <delete dir="${basedir}/build/coverage"/>
-  <delete dir="${basedir}/build/logs"/>
-  <delete dir="${basedir}/build/pdepend"/>
- </target>
-
- <target name="prepare" depends="clean,phpab"
-         description="Prepare for build">
-  <mkdir dir="${basedir}/build/api"/>
-  <mkdir dir="${basedir}/build/code-browser"/>
-  <mkdir dir="${basedir}/build/coverage"/>
-  <mkdir dir="${basedir}/build/logs"/>
-  <mkdir dir="${basedir}/build/pdepend"/>
- </target>
-
- <target name="phpab" description="Generate autoloader scripts">
-  <exec executable="phpab">
-   <arg value="--output" />
-   <arg path="PHP/Timer/Autoload.php" />
-   <arg value="--template" />
-   <arg path="PHP/Timer/Autoload.php.in" />
-   <arg value="--indent" />
-   <arg value="            " />
-   <arg path="PHP" />
-  </exec>
- </target>
-
- <target name="lint">
-  <apply executable="${php}" failonerror="true">
-   <arg value="-l" />
-
-   <fileset dir="${basedir}/PHP">
-    <include name="**/*.php" />
-    <modified />
-   </fileset>
-
-   <fileset dir="${basedir}/Tests">
-    <include name="**/*.php" />
-    <modified />
-   </fileset>
-  </apply>
- </target>
-
- <target name="phploc" description="Measure project size using PHPLOC">
-  <exec executable="phploc">
-   <arg value="--log-csv" />
-   <arg value="${basedir}/build/logs/phploc.csv" />
-   <arg path="${basedir}/PHP" />
-  </exec>
- </target>
-
- <target name="pdepend"
-         description="Calculate software metrics using PHP_Depend">
-  <exec executable="pdepend">
-   <arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" />
-   <arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" />
-   <arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" />
-   <arg path="${basedir}/PHP" />
-  </exec>
- </target>
-
- <target name="phpmd"
-         description="Perform project mess detection using PHPMD">
-  <exec executable="phpmd">
-   <arg path="${basedir}/PHP" />
-   <arg value="text" />
-   <arg value="${basedir}/build/phpmd.xml" />
-  </exec>
- </target>
-
- <target name="phpmd-ci"
-         description="Perform project mess detection using PHPMD">
-  <exec executable="phpmd">
-   <arg path="${basedir}/PHP" />
-   <arg value="xml" />
-   <arg value="${basedir}/build/phpmd.xml" />
-   <arg value="--reportfile" />
-   <arg value="${basedir}/build/logs/pmd.xml" />
-  </exec>
- </target>
-
- <target name="phpcs"
-         description="Find coding standard violations using PHP_CodeSniffer">
-  <exec executable="phpcs">
-   <arg value="--standard=${basedir}/build/PHPCS" />
-   <arg value="--extensions=php" />
-   <arg value="--ignore=Autoload.php" />
-   <arg path="${basedir}/PHP" />
-  </exec>
- </target>
-
- <target name="phpcs-ci"
-         description="Find coding standard violations using PHP_CodeSniffer">
-  <exec executable="phpcs" output="/dev/null">
-   <arg value="--report=checkstyle" />
-   <arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
-   <arg value="--standard=${basedir}/build/PHPCS" />
-   <arg value="--extensions=php" />
-   <arg value="--ignore=Autoload.php" />
-   <arg path="${basedir}/PHP" />
-  </exec>
- </target>
-
- <target name="phpcpd" description="Find duplicate code using PHPCPD">
-  <exec executable="phpcpd">
-   <arg value="--log-pmd" />
-   <arg value="${basedir}/build/logs/pmd-cpd.xml" />
-   <arg path="${basedir}/PHP" />
-  </exec>
- </target>
-
- <target name="phpunit" description="Run unit tests with PHPUnit">
-  <condition property="phpunit_cmd" value="${php} ${phpunit}" else="${phpunit}">
-   <not>
-    <equals arg1="${phpunit}" arg2="phpunit" />
-   </not>
-  </condition>
-
-  <exec executable="${phpunit_cmd}" failonerror="true"/>
- </target>
-
- <target name="phpcb"
-         description="Aggregate tool output with PHP_CodeBrowser">
-  <exec executable="phpcb">
-   <arg value="--log" />
-   <arg path="${basedir}/build/logs" />
-   <arg value="--source" />
-   <arg path="${basedir}/PHP" />
-   <arg value="--output" />
-   <arg path="${basedir}/build/code-browser" />
-  </exec>
- </target>
-</project>
diff --git a/core/vendor/phpunit/php-timer/build/PHPCS/Sniffs/ControlStructures/ControlSignatureSniff.php b/core/vendor/phpunit/php-timer/build/PHPCS/Sniffs/ControlStructures/ControlSignatureSniff.php
deleted file mode 100644
index bf9d520..0000000
--- a/core/vendor/phpunit/php-timer/build/PHPCS/Sniffs/ControlStructures/ControlSignatureSniff.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-class PHPCS_Sniffs_ControlStructures_ControlSignatureSniff extends PHP_CodeSniffer_Standards_AbstractPatternSniff
-{
-    public function __construct()
-    {
-        parent::__construct(true);
-    }
-
-    protected function getPatterns()
-    {
-        return array(
-          'do {EOL...} while (...);EOL',
-          'while (...) {EOL',
-          'for (...) {EOL',
-          'if (...) {EOL',
-          'foreach (...) {EOL',
-          '}EOLelse if (...) {EOL',
-          '}EOLelse {EOL',
-          'do {EOL',
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-timer/build/PHPCS/Sniffs/Whitespace/ConcatenationSpacingSniff.php b/core/vendor/phpunit/php-timer/build/PHPCS/Sniffs/Whitespace/ConcatenationSpacingSniff.php
deleted file mode 100644
index e91d6c6..0000000
--- a/core/vendor/phpunit/php-timer/build/PHPCS/Sniffs/Whitespace/ConcatenationSpacingSniff.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-class PHPCS_Sniffs_Whitespace_ConcatenationSpacingSniff implements PHP_CodeSniffer_Sniff
-{
-    public function register()
-    {
-        return array(T_STRING_CONCAT);
-    }
-
-    public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
-    {
-        $tokens = $phpcsFile->getTokens();
-
-        if ($tokens[($stackPtr - 1)]['code'] !== T_WHITESPACE ||
-            $tokens[($stackPtr + 1)]['code'] !== T_WHITESPACE) {
-
-            $phpcsFile->addError(
-              'Concatenation operator must be surrounded by whitespace',
-              $stackPtr
-            );
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-timer/build/PHPCS/ruleset.xml b/core/vendor/phpunit/php-timer/build/PHPCS/ruleset.xml
deleted file mode 100644
index 402f214..0000000
--- a/core/vendor/phpunit/php-timer/build/PHPCS/ruleset.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0"?>
-<ruleset name="Sebastian">
- <description>Sebastian Bergmann's coding standard</description>
-
- <rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop"/>
- <rule ref="Generic.CodeAnalysis.ForLoopWithTestFunctionCall"/>
- <rule ref="Generic.CodeAnalysis.JumbledIncrementer"/>
- <rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/>
- <rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>
- <rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/>
-
- <rule ref="Generic.Commenting.Todo"/>
-
- <rule ref="Generic.ControlStructures.InlineControlStructure"/>
-
- <rule ref="Generic.Files.LineEndings"/>
-
- <rule ref="Generic.Formatting.DisallowMultipleStatements"/>
- <rule ref="Generic.Formatting.NoSpaceAfterCast"/>
-
- <rule ref="Generic.Functions.OpeningFunctionBraceBsdAllman"/>
- <rule ref="PEAR.Functions.ValidDefaultValue"/>
-
- <rule ref="Generic.NamingConventions.ConstructorName"/>
- <rule ref="Generic.NamingConventions.UpperCaseConstantName"/>
- <rule ref="PEAR.NamingConventions.ValidClassName"/>
-
- <rule ref="Generic.PHP.DisallowShortOpenTag"/>
- <rule ref="Generic.PHP.NoSilencedErrors"/>
- <rule ref="Generic.PHP.UpperCaseConstant"/>
-
- <rule ref="Generic.WhiteSpace.DisallowTabIndent"/>
- <rule ref="Generic.WhiteSpace.ScopeIndent"/>
- <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/>
-</ruleset>
diff --git a/core/vendor/phpunit/php-timer/build/phpmd.xml b/core/vendor/phpunit/php-timer/build/phpmd.xml
deleted file mode 100644
index 23ecb8b..0000000
--- a/core/vendor/phpunit/php-timer/build/phpmd.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-
-<ruleset name="Sebastian"
-         xmlns="http://pmd.sf.net/ruleset/1.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
-         xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
-  <description>Sebastian Bergmann's ruleset</description>
-
-  <rule ref="rulesets/codesize.xml/CyclomaticComplexity" />
-  <rule ref="rulesets/codesize.xml/NPathComplexity" />
-  <rule ref="rulesets/codesize.xml/ExcessiveClassComplexity" />
-  <rule ref="rulesets/codesize.xml/ExcessiveClassLength" />
-  <rule ref="rulesets/codesize.xml/ExcessiveMethodLength" />
-  <rule ref="rulesets/codesize.xml/ExcessiveParameterList" />
-
-  <rule ref="rulesets/design.xml/EvalExpression" />
-  <rule ref="rulesets/design.xml/ExitExpression" />
-  <rule ref="rulesets/design.xml/GotoStatement" />
-
-  <rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass" />
-
-  <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter" />
-  <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable" />
-  <rule ref="rulesets/unusedcode.xml/UnusedPrivateField" />
-  <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod" />
-</ruleset>
diff --git a/core/vendor/phpunit/php-timer/composer.json b/core/vendor/phpunit/php-timer/composer.json
deleted file mode 100644
index 211c001..0000000
--- a/core/vendor/phpunit/php-timer/composer.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-    "name": "phpunit/php-timer",
-    "description": "Utility class for timing",
-    "type": "library",
-    "keywords": [
-        "timer"
-    ],
-    "homepage": "https://github.com/sebastianbergmann/php-timer/",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sb@sebastian-bergmann.de",
-            "role": "lead"
-        }
-    ],
-    "support": {
-        "issues": "https://github.com/sebastianbergmann/php-timer/issues",
-        "irc": "irc://irc.freenode.net/phpunit"
-    },
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "autoload": {
-        "classmap": [
-            "PHP/"
-        ]
-    },
-    "include-path": [
-        ""
-    ]
-}
diff --git a/core/vendor/phpunit/php-timer/package.xml b/core/vendor/phpunit/php-timer/package.xml
deleted file mode 100644
index 2980a31..0000000
--- a/core/vendor/phpunit/php-timer/package.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<package packagerversion="1.4.10" version="2.0"
-  xmlns="http://pear.php.net/dtd/package-2.0"
-  xmlns:tasks="http://pear.php.net/dtd/tasks-1.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
-                      http://pear.php.net/dtd/tasks-1.0.xsd
-                      http://pear.php.net/dtd/package-2.0
-                      http://pear.php.net/dtd/package-2.0.xsd">
- <name>PHP_Timer</name>
- <channel>pear.phpunit.de</channel>
- <summary>Utility class for timing</summary>
- <description>Utility class for timing</description>
- <lead>
-  <name>Sebastian Bergmann</name>
-  <user>sb</user>
-  <email>sb@sebastian-bergmann.de</email>
-  <active>yes</active>
- </lead>
- <date>2013-08-02</date>
- <version>
-  <release>1.0.5</release>
-  <api>1.0.0</api>
- </version>
- <stability>
-  <release>stable</release>
-  <api>stable</api>
- </stability>
- <license>The BSD 3-Clause License</license>
- <notes>http://github.com/sebastianbergmann/php-timer/blob/master/README.markdown</notes>
- <contents>
-  <dir name="/">
-   <dir name="PHP">
-    <dir name="Timer">
-     <file baseinstalldir="/" name="Autoload.php" role="php">
-      <tasks:replace from="@package_version@" to="version" type="package-info" />
-     </file>
-    </dir>
-    <file baseinstalldir="/" name="Timer.php" role="php">
-     <tasks:replace from="@package_version@" to="version" type="package-info" />
-    </file>
-   </dir>
-   <file baseinstalldir="/" name="LICENSE" role="doc"/>
-   <file baseinstalldir="/" name="README.md" role="doc"/>
-  </dir>
- </contents>
- <dependencies>
-  <required>
-   <php>
-    <min>5.3.3</min>
-   </php>
-   <pearinstaller>
-    <min>1.9.2</min>
-   </pearinstaller>
-  </required>
- </dependencies>
- <phprelease/>
-</package>
diff --git a/core/vendor/phpunit/php-timer/phpunit.xml.dist b/core/vendor/phpunit/php-timer/phpunit.xml.dist
deleted file mode 100644
index ee82ac8..0000000
--- a/core/vendor/phpunit/php-timer/phpunit.xml.dist
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit backupGlobals="false">
-  <testsuites>
-    <testsuite name="PHP_Timer">
-      <directory suffix=".php">Tests</directory>
-    </testsuite>
-  </testsuites>
-
-  <logging>
-    <log type="coverage-html" target="build/coverage" title="PHP_Timer"
-         charset="UTF-8" yui="true" highlight="true"
-         lowUpperBound="35" highLowerBound="70"/>
-    <log type="coverage-clover" target="build/logs/clover.xml"/>
-    <log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
-  </logging>
-
-  <filter>
-    <whitelist addUncoveredFilesFromWhitelist="true">
-      <directory suffix=".php">PHP</directory>
-      <exclude>
-        <file>PHP/Timer/Autoload.php</file>
-      </exclude>
-    </whitelist>
-  </filter>
-</phpunit>
diff --git a/core/vendor/phpunit/php-token-stream/.gitattributes b/core/vendor/phpunit/php-token-stream/.gitattributes
deleted file mode 100644
index 461090b..0000000
--- a/core/vendor/phpunit/php-token-stream/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.php diff=php
diff --git a/core/vendor/phpunit/php-token-stream/.gitignore b/core/vendor/phpunit/php-token-stream/.gitignore
deleted file mode 100644
index 103eecf..0000000
--- a/core/vendor/phpunit/php-token-stream/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/.idea
-/composer.lock
-/composer.phar
-/vendor
diff --git a/core/vendor/phpunit/php-token-stream/.travis.yml b/core/vendor/phpunit/php-token-stream/.travis.yml
deleted file mode 100644
index e1bd2d3..0000000
--- a/core/vendor/phpunit/php-token-stream/.travis.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-language: php
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-  - hhvm-nightly
-
-before_script:
-  - composer self-update
-  - composer install --no-interaction --prefer-source --dev
-
-script:
-  - ./vendor/bin/phpunit --configuration ./build/phpunit.xml
-
-matrix:
-  allow_failures:
-    - php: hhvm
-
-notifications:
-  email: false
-  webhooks:
-    urls:
-      - https://webhooks.gitter.im/e/6668f52f3dd4e3f81960
-    on_success: always
-    on_failure: always
-    on_start: false
-
diff --git a/core/vendor/phpunit/php-token-stream/LICENSE b/core/vendor/phpunit/php-token-stream/LICENSE
deleted file mode 100644
index 6a176fa..0000000
--- a/core/vendor/phpunit/php-token-stream/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-PHP_TokenStream
-
-Copyright (c) 2009-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/phpunit/php-token-stream/README.md b/core/vendor/phpunit/php-token-stream/README.md
deleted file mode 100644
index 31d4b24..0000000
--- a/core/vendor/phpunit/php-token-stream/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-[![Build Status](https://travis-ci.org/sebastianbergmann/php-token-stream.svg?branch=master)](https://travis-ci.org/sebastianbergmann/php-token-stream)
-
-# PHP_TokenStream
-
-## Installation
-
-To add this package as a local, per-project dependency to your project, simply add a dependency on `phpunit/php-token-stream` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on PHP_TokenStream:
-
-    {
-        "require": {
-            "phpunit/php-token-stream": "~1.2"
-        }
-    }
diff --git a/core/vendor/phpunit/php-token-stream/build.xml b/core/vendor/phpunit/php-token-stream/build.xml
deleted file mode 100644
index f02f4b5..0000000
--- a/core/vendor/phpunit/php-token-stream/build.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="php-token-stream">
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/vendor"/>
-  <delete file="${basedir}/composer.lock"/>
- </target>
-
- <target name="composer" depends="clean" description="Install dependencies with Composer">
-  <tstamp>
-   <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
-  </tstamp>
-  <delete>
-   <fileset dir="${basedir}">
-    <include name="composer.phar" />
-    <date datetime="${thirty.days.ago}" when="before"/>
-   </fileset>
-  </delete>
-
-  <get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="install"/>
-  </exec>
- </target>
-
- <target name="phpunit" description="Run unit tests with PHPUnit">
-  <exec executable="${basedir}/vendor/bin/phpunit" failonerror="true">
-   <arg value="--configuration"/>
-   <arg path="${basedir}/build/phpunit.xml"/>
-  </exec>
- </target>
-</project>
diff --git a/core/vendor/phpunit/php-token-stream/build/phpunit.xml b/core/vendor/phpunit/php-token-stream/build/phpunit.xml
deleted file mode 100644
index 139586d..0000000
--- a/core/vendor/phpunit/php-token-stream/build/phpunit.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         bootstrap="../tests/bootstrap.php"
-         verbode="true">
-  <testsuites>
-    <testsuite name="php-token-stream">
-      <directory suffix="Test.php">../tests</directory>
-    </testsuite>
-  </testsuites>
-
-  <filter>
-    <whitelist addUncoveredFilesFromWhitelist="true">
-      <directory suffix=".php">../src</directory>
-    </whitelist>
-  </filter>
-</phpunit>
diff --git a/core/vendor/phpunit/php-token-stream/composer.json b/core/vendor/phpunit/php-token-stream/composer.json
deleted file mode 100644
index dfde729..0000000
--- a/core/vendor/phpunit/php-token-stream/composer.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-    "name": "phpunit/php-token-stream",
-    "description": "Wrapper around PHP's tokenizer extension.",
-    "type": "library",
-    "keywords": ["tokenizer"],
-    "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sebastian@phpunit.de"
-        }
-    ],
-    "support": {
-        "issues": "https://github.com/sebastianbergmann/php-token-stream/issues"
-    },
-    "require": {
-        "php": ">=5.3.3",
-        "ext-tokenizer": "*"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4.2"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.4-dev"
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/src/Token.php b/core/vendor/phpunit/php-token-stream/src/Token.php
deleted file mode 100644
index 9147499..0000000
--- a/core/vendor/phpunit/php-token-stream/src/Token.php
+++ /dev/null
@@ -1,723 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A PHP token.
- *
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version   Release: @package_version@
- * @link      http://github.com/sebastianbergmann/php-token-stream/tree
- * @since     Class available since Release 1.0.0
- */
-abstract class PHP_Token
-{
-    /**
-     * @var string
-     */
-    protected $text;
-
-    /**
-     * @var integer
-     */
-    protected $line;
-
-    /**
-     * @var PHP_Token_Stream
-     */
-    protected $tokenStream;
-
-    /**
-     * @var integer
-     */
-    protected $id;
-
-    /**
-     * Constructor.
-     *
-     * @param string           $text
-     * @param integer          $line
-     * @param PHP_Token_Stream $tokenStream
-     * @param integer          $id
-     */
-    public function __construct($text, $line, PHP_Token_Stream $tokenStream, $id)
-    {
-        $this->text        = $text;
-        $this->line        = $line;
-        $this->tokenStream = $tokenStream;
-        $this->id          = $id;
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->text;
-    }
-
-    /**
-     * @return integer
-     */
-    public function getLine()
-    {
-        return $this->line;
-    }
-}
-
-abstract class PHP_TokenWithScope extends PHP_Token
-{
-    protected $endTokenId;
-
-    /**
-     * Get the docblock for this token
-     *
-     * This method will fetch the docblock belonging to the current token. The
-     * docblock must be placed on the line directly above the token to be
-     * recognized.
-     *
-     * @return string|null Returns the docblock as a string if found
-     */
-    public function getDocblock()
-    {
-        $tokens            = $this->tokenStream->tokens();
-        $currentLineNumber = $tokens[$this->id]->getLine();
-        $prevLineNumber    = $currentLineNumber - 1;
-
-        for ($i = $this->id - 1; $i; $i--) {
-            if (!isset($tokens[$i])) {
-                return;
-            }
-
-            if ($tokens[$i] instanceof PHP_Token_FUNCTION ||
-                $tokens[$i] instanceof PHP_Token_CLASS ||
-                $tokens[$i] instanceof PHP_Token_TRAIT) {
-                // Some other trait, class or function, no docblock can be
-                // used for the current token
-                break;
-            }
-
-            $line = $tokens[$i]->getLine();
-
-            if ($line == $currentLineNumber ||
-                ($line == $prevLineNumber &&
-                 $tokens[$i] instanceof PHP_Token_WHITESPACE)) {
-                continue;
-            }
-
-            if ($line < $currentLineNumber &&
-                !$tokens[$i] instanceof PHP_Token_DOC_COMMENT) {
-                break;
-            }
-
-            return (string)$tokens[$i];
-        }
-    }
-
-    public function getEndTokenId()
-    {
-        $block  = 0;
-        $i      = $this->id;
-        $tokens = $this->tokenStream->tokens();
-
-        while ($this->endTokenId === NULL && isset($tokens[$i])) {
-            if ($tokens[$i] instanceof PHP_Token_OPEN_CURLY ||
-                $tokens[$i] instanceof PHP_Token_CURLY_OPEN) {
-                $block++;
-            }
-
-            else if ($tokens[$i] instanceof PHP_Token_CLOSE_CURLY) {
-                $block--;
-
-                if ($block === 0) {
-                    $this->endTokenId = $i;
-                }
-            }
-
-            else if (($this instanceof PHP_Token_FUNCTION ||
-                $this instanceof PHP_Token_NAMESPACE) &&
-                $tokens[$i] instanceof PHP_Token_SEMICOLON) {
-                if ($block === 0) {
-                    $this->endTokenId = $i;
-                }
-            }
-
-            $i++;
-        }
-
-        if ($this->endTokenId === NULL) {
-            $this->endTokenId = $this->id;
-        }
-
-        return $this->endTokenId;
-    }
-
-    public function getEndLine()
-    {
-        return $this->tokenStream[$this->getEndTokenId()]->getLine();
-    }
-
-}
-
-abstract class PHP_TokenWithScopeAndVisibility extends PHP_TokenWithScope {
-
-    public function getVisibility()
-    {
-        $tokens = $this->tokenStream->tokens();
-
-        for ($i = $this->id - 2; $i > $this->id - 7; $i -= 2) {
-            if (isset($tokens[$i]) &&
-               ($tokens[$i] instanceof PHP_Token_PRIVATE ||
-                $tokens[$i] instanceof PHP_Token_PROTECTED ||
-                $tokens[$i] instanceof PHP_Token_PUBLIC)) {
-                return strtolower(
-                  str_replace('PHP_Token_', '', get_class($tokens[$i]))
-                );
-            }
-            if (isset($tokens[$i]) &&
-              !($tokens[$i] instanceof PHP_Token_STATIC ||
-                $tokens[$i] instanceof PHP_Token_FINAL ||
-                $tokens[$i] instanceof PHP_Token_ABSTRACT)) {
-                // no keywords; stop visibility search
-                break;
-            }
-        }
-    }
-
-    public function getKeywords()
-    {
-        $keywords = array();
-        $tokens = $this->tokenStream->tokens();
-
-        for ($i = $this->id - 2; $i > $this->id - 7; $i -= 2) {
-            if (isset($tokens[$i]) &&
-               ($tokens[$i] instanceof PHP_Token_PRIVATE ||
-                $tokens[$i] instanceof PHP_Token_PROTECTED ||
-                $tokens[$i] instanceof PHP_Token_PUBLIC)) {
-                continue;
-            }
-
-            if (isset($tokens[$i]) &&
-               ($tokens[$i] instanceof PHP_Token_STATIC ||
-                $tokens[$i] instanceof PHP_Token_FINAL ||
-                $tokens[$i] instanceof PHP_Token_ABSTRACT)) {
-                $keywords[] = strtolower(
-                  str_replace('PHP_Token_', '', get_class($tokens[$i]))
-                );
-            }
-        }
-
-        return implode(',', $keywords);
-    }
-
-}
-
-abstract class PHP_Token_Includes extends PHP_Token
-{
-    protected $name;
-    protected $type;
-
-    public function getName()
-    {
-        if ($this->name !== NULL) {
-            return $this->name;
-        }
-
-        $tokens = $this->tokenStream->tokens();
-
-        if ($tokens[$this->id+2] instanceof PHP_Token_CONSTANT_ENCAPSED_STRING) {
-            $this->name = trim($tokens[$this->id+2], "'\"");
-            $this->type = strtolower(
-              str_replace('PHP_Token_', '', get_class($tokens[$this->id]))
-            );
-        }
-
-        return $this->name;
-    }
-
-    public function getType()
-    {
-        $this->getName();
-        return $this->type;
-    }
-}
-
-
-class PHP_Token_FUNCTION extends PHP_TokenWithScopeAndVisibility
-{
-    protected $arguments;
-    protected $ccn;
-    protected $name;
-    protected $signature;
-
-    public function getArguments()
-    {
-        if ($this->arguments !== NULL) {
-            return $this->arguments;
-        }
-
-        $this->arguments = array();
-        $tokens          = $this->tokenStream->tokens();
-        $typeHint        = NULL;
-
-        // Search for first token inside brackets
-        $i = $this->id + 2;
-        while (!$tokens[$i-1] instanceof PHP_Token_OPEN_BRACKET) {
-            $i++;
-        }
-
-        while (!$tokens[$i] instanceof PHP_Token_CLOSE_BRACKET) {
-            if ($tokens[$i] instanceof PHP_Token_STRING) {
-                $typeHint = (string)$tokens[$i];
-            }
-
-            else if ($tokens[$i] instanceof PHP_Token_VARIABLE) {
-                $this->arguments[(string)$tokens[$i]] = $typeHint;
-                $typeHint                             = NULL;
-            }
-
-            $i++;
-        }
-
-        return $this->arguments;
-    }
-
-    public function getName()
-    {
-        if ($this->name !== NULL) {
-            return $this->name;
-        }
-
-        $tokens = $this->tokenStream->tokens();
-
-        for ($i = $this->id + 1; $i < count($tokens); $i++) {
-            if ($tokens[$i] instanceof PHP_Token_STRING) {
-                $this->name = (string)$tokens[$i];
-                break;
-            }
-
-            else if ($tokens[$i] instanceof PHP_Token_AMPERSAND &&
-                     $tokens[$i+1] instanceof PHP_Token_STRING) {
-                $this->name = (string)$tokens[$i+1];
-                break;
-            }
-
-            else if ($tokens[$i] instanceof PHP_Token_OPEN_BRACKET) {
-                $this->name = 'anonymous function';
-                break;
-            }
-        }
-
-        if ($this->name != 'anonymous function') {
-            for ($i = $this->id; $i; --$i) {
-                if ($tokens[$i] instanceof PHP_Token_NAMESPACE) {
-                    $this->name = $tokens[$i]->getName() . '\\' . $this->name;
-                    break;
-                }
-
-                if ($tokens[$i] instanceof PHP_Token_INTERFACE) {
-                    break;
-                }
-            }
-        }
-
-        return $this->name;
-    }
-
-    public function getCCN()
-    {
-        if ($this->ccn !== NULL) {
-            return $this->ccn;
-        }
-
-        $this->ccn = 1;
-        $end       = $this->getEndTokenId();
-        $tokens    = $this->tokenStream->tokens();
-
-        for ($i = $this->id; $i <= $end; $i++) {
-            switch (get_class($tokens[$i])) {
-                case 'PHP_Token_IF':
-                case 'PHP_Token_ELSEIF':
-                case 'PHP_Token_FOR':
-                case 'PHP_Token_FOREACH':
-                case 'PHP_Token_WHILE':
-                case 'PHP_Token_CASE':
-                case 'PHP_Token_CATCH':
-                case 'PHP_Token_BOOLEAN_AND':
-                case 'PHP_Token_LOGICAL_AND':
-                case 'PHP_Token_BOOLEAN_OR':
-                case 'PHP_Token_LOGICAL_OR':
-                case 'PHP_Token_QUESTION_MARK': {
-                    $this->ccn++;
-                }
-                break;
-            }
-        }
-
-        return $this->ccn;
-    }
-
-    public function getSignature()
-    {
-        if ($this->signature !== NULL) {
-            return $this->signature;
-        }
-
-        if ($this->getName() == 'anonymous function') {
-            $this->signature = 'anonymous function';
-            $i               = $this->id + 1;
-        } else {
-            $this->signature = '';
-            $i               = $this->id + 2;
-        }
-
-        $tokens = $this->tokenStream->tokens();
-
-        while (isset($tokens[$i]) &&
-               !$tokens[$i] instanceof PHP_Token_OPEN_CURLY &&
-               !$tokens[$i] instanceof PHP_Token_SEMICOLON) {
-            $this->signature .= $tokens[$i++];
-        }
-
-        $this->signature = trim($this->signature);
-
-        return $this->signature;
-    }
-}
-
-class PHP_Token_INTERFACE extends PHP_TokenWithScopeAndVisibility
-{
-    protected $interfaces;
-
-    public function getName()
-    {
-        return (string)$this->tokenStream[$this->id + 2];
-    }
-
-    public function hasParent()
-    {
-        return $this->tokenStream[$this->id + 4] instanceof PHP_Token_EXTENDS;
-    }
-
-    public function getPackage()
-    {
-        $className  = $this->getName();
-        $docComment = $this->getDocblock();
-
-        $result = array(
-          'namespace'   => '',
-          'fullPackage' => '',
-          'category'    => '',
-          'package'     => '',
-          'subpackage'  => ''
-        );
-
-        for ($i = $this->id; $i; --$i) {
-            if ($this->tokenStream[$i] instanceof PHP_Token_NAMESPACE) {
-                $result['namespace'] = $this->tokenStream[$i]->getName();
-                break;
-            }
-        }
-
-        if (preg_match('/@category[\s]+([\.\w]+)/', $docComment, $matches)) {
-            $result['category'] = $matches[1];
-        }
-
-        if (preg_match('/@package[\s]+([\.\w]+)/', $docComment, $matches)) {
-            $result['package']     = $matches[1];
-            $result['fullPackage'] = $matches[1];
-        }
-
-        if (preg_match('/@subpackage[\s]+([\.\w]+)/', $docComment, $matches)) {
-            $result['subpackage']   = $matches[1];
-            $result['fullPackage'] .= '.' . $matches[1];
-        }
-
-        if (empty($result['fullPackage'])) {
-            $result['fullPackage'] = $this->arrayToName(
-              explode('_', str_replace('\\', '_', $className)), '.'
-            );
-        }
-
-        return $result;
-    }
-
-    protected function arrayToName(array $parts, $join = '\\')
-    {
-        $result = '';
-
-        if (count($parts) > 1) {
-            array_pop($parts);
-
-            $result = join($join, $parts);
-        }
-
-        return $result;
-    }
-
-    public function getParent()
-    {
-        if (!$this->hasParent()) {
-            return FALSE;
-        }
-
-        $i         = $this->id + 6;
-        $tokens    = $this->tokenStream->tokens();
-        $className = (string)$tokens[$i];
-
-        while (isset($tokens[$i+1]) &&
-               !$tokens[$i+1] instanceof PHP_Token_WHITESPACE) {
-            $className .= (string)$tokens[++$i];
-        }
-
-        return $className;
-    }
-
-    public function hasInterfaces()
-    {
-        return (isset($this->tokenStream[$this->id + 4]) &&
-                $this->tokenStream[$this->id + 4] instanceof PHP_Token_IMPLEMENTS) ||
-               (isset($this->tokenStream[$this->id + 8]) &&
-                $this->tokenStream[$this->id + 8] instanceof PHP_Token_IMPLEMENTS);
-    }
-
-    public function getInterfaces()
-    {
-        if ($this->interfaces !== NULL) {
-            return $this->interfaces;
-        }
-
-        if (!$this->hasInterfaces()) {
-            return ($this->interfaces = FALSE);
-        }
-
-        if ($this->tokenStream[$this->id + 4] instanceof PHP_Token_IMPLEMENTS) {
-            $i = $this->id + 3;
-        } else {
-            $i = $this->id + 7;
-        }
-
-        $tokens = $this->tokenStream->tokens();
-
-        while (!$tokens[$i+1] instanceof PHP_Token_OPEN_CURLY) {
-            $i++;
-
-            if ($tokens[$i] instanceof PHP_Token_STRING) {
-                $this->interfaces[] = (string)$tokens[$i];
-            }
-        }
-
-        return $this->interfaces;
-    }
-}
-
-class PHP_Token_ABSTRACT extends PHP_Token {}
-class PHP_Token_AMPERSAND extends PHP_Token {}
-class PHP_Token_AND_EQUAL extends PHP_Token {}
-class PHP_Token_ARRAY extends PHP_Token {}
-class PHP_Token_ARRAY_CAST extends PHP_Token {}
-class PHP_Token_AS extends PHP_Token {}
-class PHP_Token_AT extends PHP_Token {}
-class PHP_Token_BACKTICK extends PHP_Token {}
-class PHP_Token_BAD_CHARACTER extends PHP_Token {}
-class PHP_Token_BOOLEAN_AND extends PHP_Token {}
-class PHP_Token_BOOLEAN_OR extends PHP_Token {}
-class PHP_Token_BOOL_CAST extends PHP_Token {}
-class PHP_Token_BREAK extends PHP_Token {}
-class PHP_Token_CARET extends PHP_Token {}
-class PHP_Token_CASE extends PHP_Token {}
-class PHP_Token_CATCH extends PHP_Token {}
-class PHP_Token_CHARACTER extends PHP_Token {}
-class PHP_Token_CLASS extends PHP_Token_INTERFACE {}
-class PHP_Token_CLASS_C extends PHP_Token {}
-class PHP_Token_CLASS_NAME_CONSTANT extends PHP_Token {}
-class PHP_Token_CLONE extends PHP_Token {}
-class PHP_Token_CLOSE_BRACKET extends PHP_Token {}
-class PHP_Token_CLOSE_CURLY extends PHP_Token {}
-class PHP_Token_CLOSE_SQUARE extends PHP_Token {}
-class PHP_Token_CLOSE_TAG extends PHP_Token {}
-class PHP_Token_COLON extends PHP_Token {}
-class PHP_Token_COMMA extends PHP_Token {}
-class PHP_Token_COMMENT extends PHP_Token {}
-class PHP_Token_CONCAT_EQUAL extends PHP_Token {}
-class PHP_Token_CONST extends PHP_Token {}
-class PHP_Token_CONSTANT_ENCAPSED_STRING extends PHP_Token {}
-class PHP_Token_CONTINUE extends PHP_Token {}
-class PHP_Token_CURLY_OPEN extends PHP_Token {}
-class PHP_Token_DEC extends PHP_Token {}
-class PHP_Token_DECLARE extends PHP_Token {}
-class PHP_Token_DEFAULT extends PHP_Token {}
-class PHP_Token_DIV extends PHP_Token {}
-class PHP_Token_DIV_EQUAL extends PHP_Token {}
-class PHP_Token_DNUMBER extends PHP_Token {}
-class PHP_Token_DO extends PHP_Token {}
-class PHP_Token_DOC_COMMENT extends PHP_Token {}
-class PHP_Token_DOLLAR extends PHP_Token {}
-class PHP_Token_DOLLAR_OPEN_CURLY_BRACES extends PHP_Token {}
-class PHP_Token_DOT extends PHP_Token {}
-class PHP_Token_DOUBLE_ARROW extends PHP_Token {}
-class PHP_Token_DOUBLE_CAST extends PHP_Token {}
-class PHP_Token_DOUBLE_COLON extends PHP_Token {}
-class PHP_Token_DOUBLE_QUOTES extends PHP_Token {}
-class PHP_Token_ECHO extends PHP_Token {}
-class PHP_Token_ELSE extends PHP_Token {}
-class PHP_Token_ELSEIF extends PHP_Token {}
-class PHP_Token_EMPTY extends PHP_Token {}
-class PHP_Token_ENCAPSED_AND_WHITESPACE extends PHP_Token {}
-class PHP_Token_ENDDECLARE extends PHP_Token {}
-class PHP_Token_ENDFOR extends PHP_Token {}
-class PHP_Token_ENDFOREACH extends PHP_Token {}
-class PHP_Token_ENDIF extends PHP_Token {}
-class PHP_Token_ENDSWITCH extends PHP_Token {}
-class PHP_Token_ENDWHILE extends PHP_Token {}
-class PHP_Token_END_HEREDOC extends PHP_Token {}
-class PHP_Token_EQUAL extends PHP_Token {}
-class PHP_Token_EVAL extends PHP_Token {}
-class PHP_Token_EXCLAMATION_MARK extends PHP_Token {}
-class PHP_Token_EXIT extends PHP_Token {}
-class PHP_Token_EXTENDS extends PHP_Token {}
-class PHP_Token_FILE extends PHP_Token {}
-class PHP_Token_FINAL extends PHP_Token {}
-class PHP_Token_FOR extends PHP_Token {}
-class PHP_Token_FOREACH extends PHP_Token {}
-class PHP_Token_FUNC_C extends PHP_Token {}
-class PHP_Token_GLOBAL extends PHP_Token {}
-class PHP_Token_GT extends PHP_Token {}
-class PHP_Token_IF extends PHP_Token {}
-class PHP_Token_IMPLEMENTS extends PHP_Token {}
-class PHP_Token_INC extends PHP_Token {}
-class PHP_Token_INCLUDE extends PHP_Token_Includes {}
-class PHP_Token_INCLUDE_ONCE extends PHP_Token_Includes {}
-class PHP_Token_INLINE_HTML extends PHP_Token {}
-class PHP_Token_INSTANCEOF extends PHP_Token {}
-class PHP_Token_INT_CAST extends PHP_Token {}
-class PHP_Token_ISSET extends PHP_Token {}
-class PHP_Token_IS_EQUAL extends PHP_Token {}
-class PHP_Token_IS_GREATER_OR_EQUAL extends PHP_Token {}
-class PHP_Token_IS_IDENTICAL extends PHP_Token {}
-class PHP_Token_IS_NOT_EQUAL extends PHP_Token {}
-class PHP_Token_IS_NOT_IDENTICAL extends PHP_Token {}
-class PHP_Token_IS_SMALLER_OR_EQUAL extends PHP_Token {}
-class PHP_Token_LINE extends PHP_Token {}
-class PHP_Token_LIST extends PHP_Token {}
-class PHP_Token_LNUMBER extends PHP_Token {}
-class PHP_Token_LOGICAL_AND extends PHP_Token {}
-class PHP_Token_LOGICAL_OR extends PHP_Token {}
-class PHP_Token_LOGICAL_XOR extends PHP_Token {}
-class PHP_Token_LT extends PHP_Token {}
-class PHP_Token_METHOD_C extends PHP_Token {}
-class PHP_Token_MINUS extends PHP_Token {}
-class PHP_Token_MINUS_EQUAL extends PHP_Token {}
-class PHP_Token_MOD_EQUAL extends PHP_Token {}
-class PHP_Token_MULT extends PHP_Token {}
-class PHP_Token_MUL_EQUAL extends PHP_Token {}
-class PHP_Token_NEW extends PHP_Token {}
-class PHP_Token_NUM_STRING extends PHP_Token {}
-class PHP_Token_OBJECT_CAST extends PHP_Token {}
-class PHP_Token_OBJECT_OPERATOR extends PHP_Token {}
-class PHP_Token_OPEN_BRACKET extends PHP_Token {}
-class PHP_Token_OPEN_CURLY extends PHP_Token {}
-class PHP_Token_OPEN_SQUARE extends PHP_Token {}
-class PHP_Token_OPEN_TAG extends PHP_Token {}
-class PHP_Token_OPEN_TAG_WITH_ECHO extends PHP_Token {}
-class PHP_Token_OR_EQUAL extends PHP_Token {}
-class PHP_Token_PAAMAYIM_NEKUDOTAYIM extends PHP_Token {}
-class PHP_Token_PERCENT extends PHP_Token {}
-class PHP_Token_PIPE extends PHP_Token {}
-class PHP_Token_PLUS extends PHP_Token {}
-class PHP_Token_PLUS_EQUAL extends PHP_Token {}
-class PHP_Token_PRINT extends PHP_Token {}
-class PHP_Token_PRIVATE extends PHP_Token {}
-class PHP_Token_PROTECTED extends PHP_Token {}
-class PHP_Token_PUBLIC extends PHP_Token {}
-class PHP_Token_QUESTION_MARK extends PHP_Token {}
-class PHP_Token_REQUIRE extends PHP_Token_Includes {}
-class PHP_Token_REQUIRE_ONCE extends PHP_Token_Includes {}
-class PHP_Token_RETURN extends PHP_Token {}
-class PHP_Token_SEMICOLON extends PHP_Token {}
-class PHP_Token_SL extends PHP_Token {}
-class PHP_Token_SL_EQUAL extends PHP_Token {}
-class PHP_Token_SR extends PHP_Token {}
-class PHP_Token_SR_EQUAL extends PHP_Token {}
-class PHP_Token_START_HEREDOC extends PHP_Token {}
-class PHP_Token_STATIC extends PHP_Token {}
-class PHP_Token_STRING extends PHP_Token {}
-class PHP_Token_STRING_CAST extends PHP_Token {}
-class PHP_Token_STRING_VARNAME extends PHP_Token {}
-class PHP_Token_SWITCH extends PHP_Token {}
-class PHP_Token_THROW extends PHP_Token {}
-class PHP_Token_TILDE extends PHP_Token {}
-class PHP_Token_TRY extends PHP_Token {}
-class PHP_Token_UNSET extends PHP_Token {}
-class PHP_Token_UNSET_CAST extends PHP_Token {}
-class PHP_Token_USE extends PHP_Token {}
-class PHP_Token_VAR extends PHP_Token {}
-class PHP_Token_VARIABLE extends PHP_Token {}
-class PHP_Token_WHILE extends PHP_Token {}
-class PHP_Token_WHITESPACE extends PHP_Token {}
-class PHP_Token_XOR_EQUAL extends PHP_Token {}
-
-// Tokens introduced in PHP 5.1
-class PHP_Token_HALT_COMPILER extends PHP_Token {}
-
-// Tokens introduced in PHP 5.3
-class PHP_Token_DIR extends PHP_Token {}
-class PHP_Token_GOTO extends PHP_Token {}
-
-class PHP_Token_NAMESPACE extends PHP_TokenWithScope
-{
-    public function getName()
-    {
-        $tokens    = $this->tokenStream->tokens();
-        $namespace = (string)$tokens[$this->id+2];
-
-        for ($i = $this->id + 3; ; $i += 2) {
-            if (isset($tokens[$i]) &&
-                $tokens[$i] instanceof PHP_Token_NS_SEPARATOR) {
-                $namespace .= '\\' . $tokens[$i+1];
-            } else {
-                break;
-            }
-        }
-
-        return $namespace;
-    }
-}
-
-class PHP_Token_NS_C extends PHP_Token {}
-class PHP_Token_NS_SEPARATOR extends PHP_Token {}
-
-// Tokens introduced in PHP 5.4
-class PHP_Token_CALLABLE extends PHP_Token {}
-class PHP_Token_INSTEADOF extends PHP_Token {}
-class PHP_Token_TRAIT extends PHP_Token_INTERFACE {}
-class PHP_Token_TRAIT_C extends PHP_Token {}
-
-// Tokens introduced in PHP 5.5
-class PHP_Token_FINALLY extends PHP_Token {}
-class PHP_Token_YIELD extends PHP_Token {}
-
-// Tokens introduced in PHP 5.6
-class PHP_Token_ELLIPSIS extends PHP_Token {}
-class PHP_Token_POW extends PHP_Token {}
-class PHP_Token_POW_EQUAL extends PHP_Token {}
-
-
-// Tokens introduced in HackLang
-class PHP_Token_TYPELIST_LT extends PHP_Token {}
-class PHP_Token_TYPELIST_GT extends PHP_Token {}
-class PHP_Token_TYPE extends PHP_Token {}
-class PHP_Token_SHAPE extends PHP_Token {}
-class PHP_Token_LAMBDA_OP extends PHP_Token {}
-class PHP_Token_LAMBDA_CP extends PHP_Token {}
-class PHP_Token_LAMBDA_ARROW extends PHP_Token {}
-class PHP_Token_IN extends PHP_Token {}
-class PHP_Token_JOIN extends PHP_Token {}
diff --git a/core/vendor/phpunit/php-token-stream/src/Token/Stream.php b/core/vendor/phpunit/php-token-stream/src/Token/Stream.php
deleted file mode 100644
index e25cbe2..0000000
--- a/core/vendor/phpunit/php-token-stream/src/Token/Stream.php
+++ /dev/null
@@ -1,594 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A stream of PHP tokens.
- *
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version   Release: @package_version@
- * @link      http://github.com/sebastianbergmann/php-token-stream/tree
- * @since     Class available since Release 1.0.0
- */
-class PHP_Token_Stream implements ArrayAccess, Countable, SeekableIterator
-{
-    /**
-     * @var array
-     */
-    protected static $customTokens = array(
-      '(' => 'PHP_Token_OPEN_BRACKET',
-      ')' => 'PHP_Token_CLOSE_BRACKET',
-      '[' => 'PHP_Token_OPEN_SQUARE',
-      ']' => 'PHP_Token_CLOSE_SQUARE',
-      '{' => 'PHP_Token_OPEN_CURLY',
-      '}' => 'PHP_Token_CLOSE_CURLY',
-      ';' => 'PHP_Token_SEMICOLON',
-      '.' => 'PHP_Token_DOT',
-      ',' => 'PHP_Token_COMMA',
-      '=' => 'PHP_Token_EQUAL',
-      '<' => 'PHP_Token_LT',
-      '>' => 'PHP_Token_GT',
-      '+' => 'PHP_Token_PLUS',
-      '-' => 'PHP_Token_MINUS',
-      '*' => 'PHP_Token_MULT',
-      '/' => 'PHP_Token_DIV',
-      '?' => 'PHP_Token_QUESTION_MARK',
-      '!' => 'PHP_Token_EXCLAMATION_MARK',
-      ':' => 'PHP_Token_COLON',
-      '"' => 'PHP_Token_DOUBLE_QUOTES',
-      '@' => 'PHP_Token_AT',
-      '&' => 'PHP_Token_AMPERSAND',
-      '%' => 'PHP_Token_PERCENT',
-      '|' => 'PHP_Token_PIPE',
-      '$' => 'PHP_Token_DOLLAR',
-      '^' => 'PHP_Token_CARET',
-      '~' => 'PHP_Token_TILDE',
-      '`' => 'PHP_Token_BACKTICK'
-    );
-
-    /**
-     * @var string
-     */
-    protected $filename;
-
-    /**
-     * @var array
-     */
-    protected $tokens = array();
-
-    /**
-     * @var integer
-     */
-    protected $position = 0;
-
-    /**
-     * @var array
-     */
-    protected $linesOfCode = array('loc' => 0, 'cloc' => 0, 'ncloc' => 0);
-
-    /**
-     * @var array
-     */
-    protected $classes;
-
-    /**
-     * @var array
-     */
-    protected $functions;
-
-    /**
-     * @var array
-     */
-    protected $includes;
-
-    /**
-     * @var array
-     */
-    protected $interfaces;
-
-    /**
-     * @var array
-     */
-    protected $traits;
-
-    /**
-     * @var array
-     */
-    protected $lineToFunctionMap = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string $sourceCode
-     */
-    public function __construct($sourceCode)
-    {
-        if (is_file($sourceCode)) {
-            $this->filename = $sourceCode;
-            $sourceCode     = file_get_contents($sourceCode);
-        }
-
-        $this->scan($sourceCode);
-    }
-
-    /**
-     * Destructor.
-     */
-    public function __destruct()
-    {
-        $this->tokens = array();
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        $buffer = '';
-
-        foreach ($this as $token) {
-            $buffer .= $token;
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * @return string
-     * @since  Method available since Release 1.1.0
-     */
-    public function getFilename()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * Scans the source for sequences of characters and converts them into a
-     * stream of tokens.
-     *
-     * @param string $sourceCode
-     */
-    protected function scan($sourceCode)
-    {
-        $line      = 1;
-        $tokens    = token_get_all($sourceCode);
-        $numTokens = count($tokens);
-
-        $lastNonWhitespaceTokenWasDoubleColon = FALSE;
-
-        for ($i = 0; $i < $numTokens; ++$i) {
-            $token = $tokens[$i];
-            unset($tokens[$i]);
-
-            if (is_array($token)) {
-                $name = substr(token_name($token[0]), 2);
-                $text = $token[1];
-
-                if ($lastNonWhitespaceTokenWasDoubleColon && $name == 'CLASS') {
-                    $name = 'CLASS_NAME_CONSTANT';
-                }
-
-                $tokenClass = 'PHP_Token_' . $name;
-            } else {
-                $text       = $token;
-                $tokenClass = self::$customTokens[$token];
-            }
-
-            $this->tokens[] = new $tokenClass($text, $line, $this, $i);
-            $lines          = substr_count($text, "\n");
-            $line          += $lines;
-
-            if ($tokenClass == 'PHP_Token_HALT_COMPILER') {
-                break;
-            }
-
-            else if ($tokenClass == 'PHP_Token_COMMENT' ||
-                $tokenClass == 'PHP_Token_DOC_COMMENT') {
-                $this->linesOfCode['cloc'] += $lines + 1;
-            }
-
-            if ($name == 'DOUBLE_COLON') {
-                $lastNonWhitespaceTokenWasDoubleColon = TRUE;
-            }
-
-            else if ($name != 'WHITESPACE') {
-                $lastNonWhitespaceTokenWasDoubleColon = FALSE;
-            }
-        }
-
-        $this->linesOfCode['loc']   = substr_count($sourceCode, "\n");
-        $this->linesOfCode['ncloc'] = $this->linesOfCode['loc'] -
-                                      $this->linesOfCode['cloc'];
-    }
-
-    /**
-     * @return integer
-     */
-    public function count()
-    {
-        return count($this->tokens);
-    }
-
-    /**
-     * @return PHP_Token[]
-     */
-    public function tokens()
-    {
-        return $this->tokens;
-    }
-
-    /**
-     * @return array
-     */
-    public function getClasses()
-    {
-        if ($this->classes !== NULL) {
-            return $this->classes;
-        }
-
-        $this->parse();
-
-        return $this->classes;
-    }
-
-    /**
-     * @return array
-     */
-    public function getFunctions()
-    {
-        if ($this->functions !== NULL) {
-            return $this->functions;
-        }
-
-        $this->parse();
-
-        return $this->functions;
-    }
-
-    /**
-     * @return array
-     */
-    public function getInterfaces()
-    {
-        if ($this->interfaces !== NULL) {
-            return $this->interfaces;
-        }
-
-        $this->parse();
-
-        return $this->interfaces;
-    }
-
-    /**
-     * @return array
-     * @since  Method available since Release 1.1.0
-     */
-    public function getTraits()
-    {
-        if ($this->traits !== NULL) {
-            return $this->traits;
-        }
-
-        $this->parse();
-
-        return $this->traits;
-    }
-
-    /**
-     * Gets the names of all files that have been included
-     * using include(), include_once(), require() or require_once().
-     *
-     * Parameter $categorize set to TRUE causing this function to return a
-     * multi-dimensional array with categories in the keys of the first dimension
-     * and constants and their values in the second dimension.
-     *
-     * Parameter $category allow to filter following specific inclusion type
-     *
-     * @param bool   $categorize OPTIONAL
-     * @param string $category   OPTIONAL Either 'require_once', 'require',
-     *                                           'include_once', 'include'.
-     * @return array
-     * @since  Method available since Release 1.1.0
-     */
-    public function getIncludes($categorize = FALSE, $category = NULL)
-    {
-        if ($this->includes === NULL) {
-            $this->includes = array(
-              'require_once' => array(),
-              'require'      => array(),
-              'include_once' => array(),
-              'include'      => array()
-            );
-
-            foreach ($this->tokens as $token) {
-                switch (get_class($token)) {
-                    case 'PHP_Token_REQUIRE_ONCE':
-                    case 'PHP_Token_REQUIRE':
-                    case 'PHP_Token_INCLUDE_ONCE':
-                    case 'PHP_Token_INCLUDE': {
-                        $this->includes[$token->getType()][] = $token->getName();
-                    }
-                    break;
-                }
-            }
-        }
-
-        if (isset($this->includes[$category])) {
-            $includes = $this->includes[$category];
-        }
-
-        else if ($categorize === FALSE) {
-            $includes = array_merge(
-              $this->includes['require_once'],
-              $this->includes['require'],
-              $this->includes['include_once'],
-              $this->includes['include']
-            );
-        } else {
-            $includes = $this->includes;
-        }
-
-        return $includes;
-    }
-
-    /**
-     * Returns the name of the function or method a line belongs to.
-     *
-     * @return string or null if the line is not in a function or method
-     * @since  Method available since Release 1.2.0
-     */
-    public function getFunctionForLine($line)
-    {
-        $this->parse();
-
-        if (isset($this->lineToFunctionMap[$line])) {
-            return $this->lineToFunctionMap[$line];
-        }
-    }
-
-    protected function parse()
-    {
-        $this->interfaces = array();
-        $this->classes    = array();
-        $this->traits     = array();
-        $this->functions  = array();
-        $class            = FALSE;
-        $classEndLine     = FALSE;
-        $trait            = FALSE;
-        $traitEndLine     = FALSE;
-        $interface        = FALSE;
-        $interfaceEndLine = FALSE;
-
-        foreach ($this->tokens as $token) {
-            switch (get_class($token)) {
-                case 'PHP_Token_HALT_COMPILER': {
-                    return;
-                }
-                break;
-
-                case 'PHP_Token_INTERFACE': {
-                    $interface        = $token->getName();
-                    $interfaceEndLine = $token->getEndLine();
-
-                    $this->interfaces[$interface] = array(
-                      'methods'   => array(),
-                      'parent'    => $token->getParent(),
-                      'keywords'  => $token->getKeywords(),
-                      'docblock'  => $token->getDocblock(),
-                      'startLine' => $token->getLine(),
-                      'endLine'   => $interfaceEndLine,
-                      'package'   => $token->getPackage(),
-                      'file'      => $this->filename
-                    );
-                }
-                break;
-
-                case 'PHP_Token_CLASS':
-                case 'PHP_Token_TRAIT': {
-                    $tmp = array(
-                      'methods'   => array(),
-                      'parent'    => $token->getParent(),
-                      'interfaces'=> $token->getInterfaces(),
-                      'keywords'  => $token->getKeywords(),
-                      'docblock'  => $token->getDocblock(),
-                      'startLine' => $token->getLine(),
-                      'endLine'   => $token->getEndLine(),
-                      'package'   => $token->getPackage(),
-                      'file'      => $this->filename
-                    );
-
-                    if ($token instanceof PHP_Token_CLASS) {
-                        $class                 = $token->getName();
-                        $classEndLine          = $token->getEndLine();
-                        $this->classes[$class] = $tmp;
-                    } else {
-                        $trait                = $token->getName();
-                        $traitEndLine         = $token->getEndLine();
-                        $this->traits[$trait] = $tmp;
-                    }
-                }
-                break;
-
-                case 'PHP_Token_FUNCTION': {
-                    $name = $token->getName();
-                    $tmp  = array(
-                      'docblock'  => $token->getDocblock(),
-                      'keywords'  => $token->getKeywords(),
-                      'visibility'=> $token->getVisibility(),
-                      'signature' => $token->getSignature(),
-                      'startLine' => $token->getLine(),
-                      'endLine'   => $token->getEndLine(),
-                      'ccn'       => $token->getCCN(),
-                      'file'      => $this->filename
-                    );
-
-                    if ($class === FALSE &&
-                        $trait === FALSE &&
-                        $interface === FALSE) {
-                        $this->functions[$name] = $tmp;
-
-                        $this->addFunctionToMap(
-                          $name, $tmp['startLine'], $tmp['endLine']
-                        );
-                    }
-
-                    else if ($class !== FALSE) {
-                        $this->classes[$class]['methods'][$name] = $tmp;
-
-                        $this->addFunctionToMap(
-                          $class . '::' . $name,
-                          $tmp['startLine'],
-                          $tmp['endLine']
-                        );
-                    }
-
-                    else if ($trait !== FALSE) {
-                        $this->traits[$trait]['methods'][$name] = $tmp;
-
-                        $this->addFunctionToMap(
-                          $trait . '::' . $name,
-                          $tmp['startLine'],
-                          $tmp['endLine']
-                        );
-                    }
-
-                    else {
-                        $this->interfaces[$interface]['methods'][$name] = $tmp;
-                    }
-                }
-                break;
-
-                case 'PHP_Token_CLOSE_CURLY': {
-                    if ($classEndLine !== FALSE &&
-                        $classEndLine == $token->getLine()) {
-                        $class        = FALSE;
-                        $classEndLine = FALSE;
-                    }
-
-                    else if ($traitEndLine !== FALSE &&
-                        $traitEndLine == $token->getLine()) {
-                        $trait        = FALSE;
-                        $traitEndLine = FALSE;
-                    }
-
-                    else if ($interfaceEndLine !== FALSE &&
-                        $interfaceEndLine == $token->getLine()) {
-                        $interface        = FALSE;
-                        $interfaceEndLine = FALSE;
-                    }
-                }
-                break;
-            }
-        }
-    }
-
-    /**
-     * @return array
-     */
-    public function getLinesOfCode()
-    {
-        return $this->linesOfCode;
-    }
-
-    /**
-     */
-    public function rewind()
-    {
-        $this->position = 0;
-    }
-
-    /**
-     * @return boolean
-     */
-    public function valid()
-    {
-        return isset($this->tokens[$this->position]);
-    }
-
-    /**
-     * @return integer
-     */
-    public function key()
-    {
-        return $this->position;
-    }
-
-    /**
-     * @return PHP_Token
-     */
-    public function current()
-    {
-        return $this->tokens[$this->position];
-    }
-
-    /**
-     */
-    public function next()
-    {
-        $this->position++;
-    }
-
-    /**
-     * @param mixed $offset
-     */
-    public function offsetExists($offset)
-    {
-        return isset($this->tokens[$offset]);
-    }
-
-    /**
-     * @param  mixed $offset
-     * @return mixed
-     */
-    public function offsetGet($offset)
-    {
-        return $this->tokens[$offset];
-    }
-
-    /**
-     * @param mixed $offset
-     * @param mixed $value
-     */
-    public function offsetSet($offset, $value)
-    {
-        $this->tokens[$offset] = $value;
-    }
-
-    /**
-     * @param mixed $offset
-     */
-    public function offsetUnset($offset)
-    {
-        unset($this->tokens[$offset]);
-    }
-
-    /**
-     * Seek to an absolute position.
-     *
-     * @param  integer $position
-     * @throws OutOfBoundsException
-     */
-    public function seek($position)
-    {
-        $this->position = $position;
-
-        if (!$this->valid()) {
-            throw new OutOfBoundsException('Invalid seek position');
-        }
-    }
-
-    private function addFunctionToMap($name, $startLine, $endLine)
-    {
-        for ($line = $startLine; $line <= $endLine; $line++) {
-            $this->lineToFunctionMap[$line] = $name;
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php b/core/vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php
deleted file mode 100644
index a80d41a..0000000
--- a/core/vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A caching factory for token stream objects.
- *
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version   Release: @package_version@
- * @link      http://github.com/sebastianbergmann/php-token-stream/tree
- * @since     Class available since Release 1.0.0
- */
-class PHP_Token_Stream_CachingFactory
-{
-    /**
-     * @var array
-     */
-    protected static $cache = array();
-
-    /**
-     * @param  string $filename
-     * @return PHP_Token_Stream
-     */
-    public static function get($filename)
-    {
-        if (!isset(self::$cache[$filename])) {
-            self::$cache[$filename] = new PHP_Token_Stream($filename);
-        }
-
-        return self::$cache[$filename];
-    }
-
-    /**
-     * @param string $filename
-     */
-    public static function clear($filename = NULL)
-    {
-        if (is_string($filename)) {
-            unset(self::$cache[$filename]);
-        } else {
-            self::$cache = array();
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php b/core/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php
deleted file mode 100644
index d2a64b6..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the PHP_Token_CLASS class.
- *
- * @package    PHP_TokenStream
- * @subpackage Tests
- * @author     Laurent Laville <pear@laurent-laville.org>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-token-stream/
- * @since      Class available since Release 1.0.2
- */
-class PHP_Token_ClassTest extends PHPUnit_Framework_TestCase
-{
-    protected $class;
-    protected $function;
-
-    protected function setUp()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'source2.php');
-
-        foreach ($ts as $token) {
-            if ($token instanceof PHP_Token_CLASS) {
-                $this->class = $token;
-            }
-
-            if ($token instanceof PHP_Token_FUNCTION) {
-                $this->function = $token;
-                break;
-            }
-        }
-    }
-
-    /**
-     * @covers PHP_Token_CLASS::getKeywords
-     */
-    public function testGetClassKeywords()
-    {
-        $this->assertEquals('abstract', $this->class->getKeywords());
-    }
-
-    /**
-     * @covers PHP_Token_FUNCTION::getKeywords
-     */
-    public function testGetFunctionKeywords()
-    {
-        $this->assertEquals('abstract,static', $this->function->getKeywords());
-    }
-
-    /**
-     * @covers PHP_Token_FUNCTION::getVisibility
-     */
-    public function testGetFunctionVisibility()
-    {
-        $this->assertEquals('public', $this->function->getVisibility());
-    }
-
-    public function testIssue19()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'issue19.php');
-
-        foreach ($ts as $token) {
-            if ($token instanceof PHP_Token_CLASS) {
-                $this->assertFalse($token->hasInterfaces());
-            }
-        }
-    }
-
-    public function testIssue30()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'issue30.php');
-        $this->assertCount(1, $ts->getClasses());
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php b/core/vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php
deleted file mode 100644
index f1e508c..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the PHP_Token_FUNCTION class.
- *
- * @package    PHP_TokenStream
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-token-stream/
- * @since      Class available since Release 1.0.0
- */
-class PHP_Token_ClosureTest extends PHPUnit_Framework_TestCase
-{
-    protected $functions;
-
-    protected function setUp()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'closure.php');
-
-        foreach ($ts as $token) {
-            if ($token instanceof PHP_Token_FUNCTION) {
-                $this->functions[] = $token;
-            }
-        }
-    }
-
-    /**
-     * @covers PHP_Token_FUNCTION::getArguments
-     */
-    public function testGetArguments()
-    {
-        $this->assertEquals(array('$foo' => null, '$bar' => null), $this->functions[0]->getArguments());
-        $this->assertEquals(array('$foo' => 'Foo', '$bar' => null), $this->functions[1]->getArguments());
-        $this->assertEquals(array('$foo' => null, '$bar' => null, '$baz' => null), $this->functions[2]->getArguments());
-        $this->assertEquals(array('$foo' => 'Foo', '$bar' => null, '$baz' => null), $this->functions[3]->getArguments());
-        $this->assertEquals(array(), $this->functions[4]->getArguments());
-        $this->assertEquals(array(), $this->functions[5]->getArguments());
-    }
-
-    /**
-     * @covers PHP_Token_FUNCTION::getName
-     */
-    public function testGetName()
-    {
-        $this->assertEquals('anonymous function', $this->functions[0]->getName());
-        $this->assertEquals('anonymous function', $this->functions[1]->getName());
-        $this->assertEquals('anonymous function', $this->functions[2]->getName());
-        $this->assertEquals('anonymous function', $this->functions[3]->getName());
-        $this->assertEquals('anonymous function', $this->functions[4]->getName());
-        $this->assertEquals('anonymous function', $this->functions[5]->getName());
-    }
-
-    /**
-     * @covers PHP_Token::getLine
-     */
-    public function testGetLine()
-    {
-        $this->assertEquals(2, $this->functions[0]->getLine());
-        $this->assertEquals(3, $this->functions[1]->getLine());
-        $this->assertEquals(4, $this->functions[2]->getLine());
-        $this->assertEquals(5, $this->functions[3]->getLine());
-    }
-
-    /**
-     * @covers PHP_TokenWithScope::getEndLine
-     */
-    public function testGetEndLine()
-    {
-        $this->assertEquals(2, $this->functions[0]->getLine());
-        $this->assertEquals(3, $this->functions[1]->getLine());
-        $this->assertEquals(4, $this->functions[2]->getLine());
-        $this->assertEquals(5, $this->functions[3]->getLine());
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php b/core/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php
deleted file mode 100644
index 4f23c39..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php
+++ /dev/null
@@ -1,146 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the PHP_Token_FUNCTION class.
- *
- * @package    PHP_TokenStream
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-token-stream/
- * @since      Class available since Release 1.0.0
- */
-class PHP_Token_FunctionTest extends PHPUnit_Framework_TestCase
-{
-    protected $functions;
-
-    protected function setUp()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'source.php');
-
-        foreach ($ts as $token) {
-            if ($token instanceof PHP_Token_FUNCTION) {
-                $this->functions[] = $token;
-            }
-        }
-    }
-
-    /**
-     * @covers PHP_Token_FUNCTION::getArguments
-     */
-    public function testGetArguments()
-    {
-        $this->assertEquals(array(), $this->functions[0]->getArguments());
-
-        $this->assertEquals(
-          array('$baz' => 'Baz'), $this->functions[1]->getArguments()
-        );
-
-        $this->assertEquals(
-          array('$foobar' => 'Foobar'), $this->functions[2]->getArguments()
-        );
-
-        $this->assertEquals(
-          array('$barfoo' => 'Barfoo'), $this->functions[3]->getArguments()
-        );
-
-        $this->assertEquals(array(), $this->functions[4]->getArguments());
-
-        $this->assertEquals(array('$x' => null, '$y' => null), $this->functions[5]->getArguments());
-    }
-
-    /**
-     * @covers PHP_Token_FUNCTION::getName
-     */
-    public function testGetName()
-    {
-        $this->assertEquals('foo', $this->functions[0]->getName());
-        $this->assertEquals('bar', $this->functions[1]->getName());
-        $this->assertEquals('foobar', $this->functions[2]->getName());
-        $this->assertEquals('barfoo', $this->functions[3]->getName());
-        $this->assertEquals('baz', $this->functions[4]->getName());
-    }
-
-    /**
-     * @covers PHP_Token::getLine
-     */
-    public function testGetLine()
-    {
-        $this->assertEquals(5, $this->functions[0]->getLine());
-        $this->assertEquals(10, $this->functions[1]->getLine());
-        $this->assertEquals(17, $this->functions[2]->getLine());
-        $this->assertEquals(21, $this->functions[3]->getLine());
-        $this->assertEquals(29, $this->functions[4]->getLine());
-    }
-
-    /**
-     * @covers PHP_TokenWithScope::getEndLine
-     */
-    public function testGetEndLine()
-    {
-        $this->assertEquals(5, $this->functions[0]->getEndLine());
-        $this->assertEquals(12, $this->functions[1]->getEndLine());
-        $this->assertEquals(19, $this->functions[2]->getEndLine());
-        $this->assertEquals(23, $this->functions[3]->getEndLine());
-        $this->assertEquals(31, $this->functions[4]->getEndLine());
-    }
-
-    /**
-     * @covers PHP_Token_FUNCTION::getDocblock
-     */
-    public function testGetDocblock()
-    {
-        $this->assertNull($this->functions[0]->getDocblock());
-
-        $this->assertEquals(
-          "/**\n     * @param Baz \$baz\n     */",
-          $this->functions[1]->getDocblock()
-        );
-
-        $this->assertEquals(
-          "/**\n     * @param Foobar \$foobar\n     */",
-          $this->functions[2]->getDocblock()
-        );
-
-        $this->assertNull($this->functions[3]->getDocblock());
-        $this->assertNull($this->functions[4]->getDocblock());
-    }
-
-    public function testSignature()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'source5.php');
-        $f  = $ts->getFunctions();
-        $c  = $ts->getClasses();
-        $i  = $ts->getInterfaces();
-
-        $this->assertEquals(
-          'foo($a, array $b, array $c = array())',
-          $f['foo']['signature']
-        );
-
-        $this->assertEquals(
-          'm($a, array $b, array $c = array())',
-          $c['c']['methods']['m']['signature']
-        );
-
-        $this->assertEquals(
-          'm($a, array $b, array $c = array())',
-          $c['a']['methods']['m']['signature']
-        );
-
-        $this->assertEquals(
-          'm($a, array $b, array $c = array())',
-          $i['i']['methods']['m']['signature']
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php b/core/vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php
deleted file mode 100644
index 1e43351..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the PHP_Token_REQUIRE_ONCE, PHP_Token_REQUIRE
- * PHP_Token_INCLUDE_ONCE and PHP_Token_INCLUDE_ONCE classes.
- *
- * @package    PHP_TokenStream
- * @subpackage Tests
- * @author     Laurent Laville <pear@laurent-laville.org>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-token-stream/
- * @since      Class available since Release 1.0.2
- */
-class PHP_Token_IncludeTest extends PHPUnit_Framework_TestCase
-{
-    protected $ts;
-
-    protected function setUp()
-    {
-        $this->ts = new PHP_Token_Stream(TEST_FILES_PATH . 'source3.php');
-    }
-
-    /**
-     * @covers PHP_Token_Includes::getName
-     * @covers PHP_Token_Includes::getType
-     */
-    public function testGetIncludes()
-    {
-        $this->assertSame(
-          array('test4.php', 'test3.php', 'test2.php', 'test1.php'),
-          $this->ts->getIncludes()
-        );
-    }
-
-    /**
-     * @covers PHP_Token_Includes::getName
-     * @covers PHP_Token_Includes::getType
-     */
-    public function testGetIncludesCategorized()
-    {
-        $this->assertSame(
-          array(
-            'require_once' => array('test4.php'),
-            'require'      => array('test3.php'),
-            'include_once' => array('test2.php'),
-            'include'      => array('test1.php')
-          ),
-          $this->ts->getIncludes(TRUE)
-        );
-    }
-
-    /**
-     * @covers PHP_Token_Includes::getName
-     * @covers PHP_Token_Includes::getType
-     */
-    public function testGetIncludesCategory()
-    {
-        $this->assertSame(
-          array('test4.php'),
-          $this->ts->getIncludes(TRUE, 'require_once')
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php b/core/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php
deleted file mode 100644
index 56caede..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php
+++ /dev/null
@@ -1,191 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the PHP_Token_INTERFACE class.
- *
- * @package    PHP_TokenStream
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Laurent Laville <pear@laurent-laville.org>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-token-stream/
- * @since      Class available since Release 1.0.0
- */
-class PHP_Token_InterfaceTest extends PHPUnit_Framework_TestCase
-{
-    protected $class;
-    protected $interfaces;
-
-    protected function setUp()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'source4.php');
-        $i  = 0;
-        foreach ($ts as $token) {
-            if ($token instanceof PHP_Token_CLASS) {
-                $this->class = $token;
-            }
-            elseif ($token instanceof PHP_Token_INTERFACE) {
-                $this->interfaces[$i] = $token;
-                $i++;
-            }
-        }
-    }
-
-    /**
-     * @covers PHP_Token_INTERFACE::getName
-     */
-    public function testGetName()
-    {
-        $this->assertEquals(
-            'iTemplate', $this->interfaces[0]->getName()
-        );
-    }
-
-    /**
-     * @covers PHP_Token_INTERFACE::getParent
-     */
-    public function testGetParentNotExists()
-    {
-        $this->assertFalse(
-            $this->interfaces[0]->getParent()
-        );
-    }
-
-    /**
-     * @covers PHP_Token_INTERFACE::hasParent
-     */
-    public function testHasParentNotExists()
-    {
-        $this->assertFalse(
-            $this->interfaces[0]->hasParent()
-        );
-    }
-
-    /**
-     * @covers PHP_Token_INTERFACE::getParent
-     */
-    public function testGetParentExists()
-    {
-        $this->assertEquals(
-            'a', $this->interfaces[2]->getParent()
-        );
-    }
-
-    /**
-     * @covers PHP_Token_INTERFACE::hasParent
-     */
-    public function testHasParentExists()
-    {
-        $this->assertTrue(
-            $this->interfaces[2]->hasParent()
-        );
-    }
-
-    /**
-     * @covers PHP_Token_INTERFACE::getInterfaces
-     */
-    public function testGetInterfacesExists()
-    {
-        $this->assertEquals(
-            array('b'),
-            $this->class->getInterfaces()
-        );
-    }
-
-    /**
-     * @covers PHP_Token_INTERFACE::hasInterfaces
-     */
-    public function testHasInterfacesExists()
-    {
-        $this->assertTrue(
-            $this->class->hasInterfaces()
-        );
-    }
-    /**
-     * @covers PHP_Token_INTERFACE::getPackage
-     */
-    public function testGetPackageNamespace() {
-        $tokenStream = new PHP_Token_Stream(TEST_FILES_PATH . 'classInNamespace.php');
-        foreach($tokenStream as $token) {
-            if($token instanceOf PHP_Token_INTERFACE) {
-                $package = $token->getPackage();
-                $this->assertSame('Foo\\Bar', $package['namespace']);
-            }
-        }
-    }
-
-
-    public function provideFilesWithClassesWithinMultipleNamespaces() {
-        return array(
-            array(TEST_FILES_PATH . 'multipleNamespacesWithOneClassUsingBraces.php'),
-            array(TEST_FILES_PATH . 'multipleNamespacesWithOneClassUsingNonBraceSyntax.php'),
-        );
-    }
-
-    /**
-     * @dataProvider provideFilesWithClassesWithinMultipleNamespaces
-     * @covers PHP_Token_INTERFACE::getPackage
-     */
-    public function testGetPackageNamespaceForFileWithMultipleNamespaces($filepath) {
-        $tokenStream = new PHP_Token_Stream($filepath);
-        $firstClassFound = false;
-        foreach($tokenStream as $token) {
-            if($firstClassFound === false && $token instanceOf PHP_Token_INTERFACE) {
-                $package = $token->getPackage();
-                $this->assertSame('TestClassInBar', $token->getName());
-                $this->assertSame('Foo\\Bar', $package['namespace']);
-                $firstClassFound = true;
-                continue;
-            }
-            // Secound class
-            if($token instanceOf PHP_Token_INTERFACE) {
-                $package = $token->getPackage();
-                $this->assertSame('TestClassInBaz', $token->getName());
-                $this->assertSame('Foo\\Baz', $package['namespace']);
-                return;
-            }
-        }
-        $this->fail("Seachring for 2 classes failed");
-    }
-
-    public function testGetPackageNamespaceIsEmptyForInterfacesThatAreNotWithinNamespaces() {
-        foreach($this->interfaces as $token) {
-            $package = $token->getPackage();
-            $this->assertSame("", $package['namespace']);
-        }
-    }
-
-    /**
-     * @covers PHP_Token_INTERFACE::getPackage
-     */
-    public function testGetPackageNamespaceWhenExtentingFromNamespaceClass() {
-        $tokenStream = new PHP_Token_Stream(TEST_FILES_PATH . 'classExtendsNamespacedClass.php');
-        $firstClassFound = false;
-        foreach($tokenStream as $token) {
-            if($firstClassFound === false && $token instanceOf PHP_Token_INTERFACE) {
-                $package = $token->getPackage();
-                $this->assertSame('Baz', $token->getName());
-                $this->assertSame('Foo\\Bar', $package['namespace']);
-                $firstClassFound = true;
-                continue;
-            }
-            if($token instanceOf PHP_Token_INTERFACE) {
-                $package = $token->getPackage();
-                $this->assertSame('Extender', $token->getName());
-                $this->assertSame('Other\\Space', $package['namespace']);
-                return;
-            }
-        }
-        $this->fail("Searching for 2 classes failed");
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php b/core/vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php
deleted file mode 100644
index 469f787..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the PHP_Token_NAMESPACE class.
- *
- * @package    PHP_TokenStream
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-token-stream/
- * @since      Class available since Release 1.0.0
- */
-class PHP_Token_NamespaceTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers PHP_Token_NAMESPACE::getName
-     */
-    public function testGetName()
-    {
-        $tokenStream = new PHP_Token_Stream(
-          TEST_FILES_PATH . 'classInNamespace.php'
-        );
-
-        foreach ($tokenStream as $token) {
-            if ($token instanceof PHP_Token_NAMESPACE) {
-                $this->assertSame('Foo\\Bar', $token->getName());
-            }
-        }
-    }
-
-    public function testGetStartLineWithUnscopedNamespace()
-    {
-        $tokenStream = new PHP_Token_Stream(TEST_FILES_PATH . 'classInNamespace.php');
-        foreach($tokenStream as $token) {
-            if($token instanceOf PHP_Token_NAMESPACE) {
-                $this->assertSame(2, $token->getLine());
-            }
-        }
-    }
-
-    public function testGetEndLineWithUnscopedNamespace()
-    {
-        $tokenStream = new PHP_Token_Stream(TEST_FILES_PATH . 'classInNamespace.php');
-        foreach($tokenStream as $token) {
-            if($token instanceOf PHP_Token_NAMESPACE) {
-                $this->assertSame(2, $token->getEndLine());
-            }
-        }
-    }
-    public function testGetStartLineWithScopedNamespace()
-    {
-        $tokenStream = new PHP_Token_Stream(TEST_FILES_PATH . 'classInScopedNamespace.php');
-        foreach($tokenStream as $token) {
-            if($token instanceOf PHP_Token_NAMESPACE) {
-                $this->assertSame(2, $token->getLine());
-            }
-        }
-    }
-
-    public function testGetEndLineWithScopedNamespace()
-    {
-        $tokenStream = new PHP_Token_Stream(TEST_FILES_PATH . 'classInScopedNamespace.php');
-        foreach($tokenStream as $token) {
-            if($token instanceOf PHP_Token_NAMESPACE) {
-                $this->assertSame(8, $token->getEndLine());
-            }
-        }
-    }
-
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/TokenTest.php b/core/vendor/phpunit/php-token-stream/tests/TokenTest.php
deleted file mode 100644
index 67bf79a..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/TokenTest.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the PHP_Token class.
- *
- * @package    PHP_TokenStream
- * @subpackage Tests
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-token-stream/
- * @since      Class available since Release 1.0.0
- */
-class PHP_TokenTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers PHP_Token::__construct
-     * @covers PHP_Token::__toString
-     */
-    public function testToString()
-    {
-        $this->markTestIncomplete();
-    }
-
-    /**
-     * @covers PHP_Token::__construct
-     * @covers PHP_Token::getLine
-     */
-    public function testGetLine()
-    {
-        $this->markTestIncomplete();
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php
deleted file mode 100644
index 560eec9..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-namespace Foo\Bar;
-
-class Baz {}
-
-namespace Other\Space;
-
-class Extender extends \Foo\Bar\Baz {}
-
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/classInNamespace.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/classInNamespace.php
deleted file mode 100644
index 8ade7cd..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/classInNamespace.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-namespace Foo\Bar;
-
-class TestClass
-{
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/classInScopedNamespace.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/classInScopedNamespace.php
deleted file mode 100644
index 1ba475c..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/classInScopedNamespace.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-namespace Foo\BarScoped {
-
-    class TestClass {
-
-    }
-
-}
-
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/closure.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/closure.php
deleted file mode 100644
index a0e3a81..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/closure.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$function1 = function($foo, $bar) use ($var) {};
-$function2 = function(Foo $foo, $bar) use ($var) {};
-$function3 = function ($foo, $bar, $baz) {};
-$function4 = function (Foo $foo, $bar, $baz) {};
-$function5 = function () {};
-$function6 = function() {};
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/issue19.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/issue19.php
deleted file mode 100644
index 91eeb47..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/issue19.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-class TestClass {
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/issue30.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/issue30.php
deleted file mode 100644
index 0d1f6f3..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/issue30.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Foo
-{
-    public function bar()
-    {
-        return Foo::CLASS;
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingBraces.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingBraces.php
deleted file mode 100644
index d3a12e3..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingBraces.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-namespace Foo\Bar;
-
-class TestClassInBar
-{
-}
-
-namespace Foo\Baz;
-
-class TestClassInBaz
-{
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingNonBraceSyntax.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingNonBraceSyntax.php
deleted file mode 100644
index 4ee4f24..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingNonBraceSyntax.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-namespace Foo\Bar
-{
-    class TestClassInBar
-    {
-    }
-}
-
-namespace Foo\Baz
-{
-    class TestClassInBaz
-    {
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/source.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/source.php
deleted file mode 100644
index 0c9b87f..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/source.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/**
- * Some comment
- */
-class Foo{function foo(){}
-
-    /**
-     * @param Baz $baz
-     */
-    public function bar(Baz $baz)
-    {
-    }
-
-    /**
-     * @param Foobar $foobar
-     */
-    static public function foobar(Foobar $foobar)
-    {
-    }
-
-    public function barfoo(Barfoo $barfoo)
-    {
-    }
-
-    /**
-     * This docblock does not belong to the baz function
-     */
-
-    public function baz()
-    {
-    }
-
-    public function blaz($x, $y)
-    {
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/source2.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/source2.php
deleted file mode 100644
index b33dce1..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/source2.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-// short desc
-abstract class A {
-    /* abst meth: */
-    public static  abstract function method();
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/source3.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/source3.php
deleted file mode 100644
index 7e42b60..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/source3.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-// This file is example#1
-// from http://www.php.net/manual/en/function.get-included-files.php
-
-include 'test1.php';
-include_once 'test2.php';
-require 'test3.php';
-require_once 'test4.php';
-
-$included_files = get_included_files();
-
-foreach ($included_files as $filename) {
-    echo "$filename\n";
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/source4.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/source4.php
deleted file mode 100644
index 6b064fc..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/source4.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-// Declare the interface 'iTemplate'
-interface iTemplate
-{
-    public function setVariable($name, $var);
-    public function
-        getHtml($template);
-}
-
-interface a
-{
-    public function foo();
-}
-
-interface b extends a
-{
-    public function baz(Baz $baz);
-}
-
-// short desc for class that implement a unique interface
-class c implements b
-{
-    public function foo()
-    {
-    }
-
-    public function baz(Baz $baz)
-    {
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/source5.php b/core/vendor/phpunit/php-token-stream/tests/_fixture/source5.php
deleted file mode 100644
index ef7d474..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/_fixture/source5.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-function foo($a, array $b, array $c = array()) {}
-interface i { public function m($a, array $b, array $c = array()); }
-abstract class a { abstract public function m($a, array $b, array $c = array()); }
-class c { public function m($a, array $b, array $c = array()) {} }
diff --git a/core/vendor/phpunit/php-token-stream/tests/bootstrap.php b/core/vendor/phpunit/php-token-stream/tests/bootstrap.php
deleted file mode 100644
index f92b7df..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/bootstrap.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-require __DIR__ . '/../vendor/autoload.php';
-
-define(
-    'TEST_FILES_PATH',
-    __DIR__ . DIRECTORY_SEPARATOR . '_fixture' . DIRECTORY_SEPARATOR
-);
diff --git a/core/vendor/phpunit/phpunit-mock-objects/.gitattributes b/core/vendor/phpunit/phpunit-mock-objects/.gitattributes
deleted file mode 100644
index 461090b..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.php diff=php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/.gitignore b/core/vendor/phpunit/phpunit-mock-objects/.gitignore
deleted file mode 100644
index b17f73f..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-build/coverage
-build/logs
-cache.properties
-phpunit.xml
-/vendor
-/composer.lock
-/composer.phar
-/.idea
diff --git a/core/vendor/phpunit/phpunit-mock-objects/.travis.yml b/core/vendor/phpunit/phpunit-mock-objects/.travis.yml
deleted file mode 100644
index 127bb65..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/.travis.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-language: php
-
-before_script:
-  - composer self-update
-  - composer install --no-interaction --prefer-source --dev
-
-script: ./vendor/bin/phpunit --configuration ./build/travis-ci.xml
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - 7.0
-  - hhvm
-
-notifications:
-  email: false
-  webhooks:
-    urls:
-      - https://webhooks.gitter.im/e/6668f52f3dd4e3f81960
-    on_success: always
-    on_failure: always
-    on_start: false
-
diff --git a/core/vendor/phpunit/phpunit-mock-objects/CONTRIBUTING.md b/core/vendor/phpunit/phpunit-mock-objects/CONTRIBUTING.md
deleted file mode 100644
index b290539..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/CONTRIBUTING.md
+++ /dev/null
@@ -1,5 +0,0 @@
-Pull Requests for bug fixes should be made against the current release branch (1.2). 
-
-Pull Requests for new features should be made against master.
-
-For further notes please refer to [https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md)
diff --git a/core/vendor/phpunit/phpunit-mock-objects/LICENSE b/core/vendor/phpunit/phpunit-mock-objects/LICENSE
deleted file mode 100644
index 3705d2b..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-PHPUnit_MockObject
-
-Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/phpunit/phpunit-mock-objects/README.md b/core/vendor/phpunit/phpunit-mock-objects/README.md
deleted file mode 100644
index cb855a8..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-[![Latest Stable Version](https://poser.pugx.org/phpunit/phpunit-mock-objects/v/stable.png)](https://packagist.org/packages/phpunit/phpunit-mock-objects)
-[![Build Status](https://travis-ci.org/sebastianbergmann/phpunit-mock-objects.png?branch=master)](https://travis-ci.org/sebastianbergmann/phpunit-mock-objects)
-
-# PHPUnit_MockObject
-
-**PHPUnit_MockObject** is the default mock object library for PHPUnit.
-
-## Requirements
-
-* PHP 5.3.3 is required but using the latest version of PHP is highly recommended
-
-## Installation
-
-To add PHPUnit_MockObject as a local, per-project dependency to your project, simply add a dependency on `phpunit/phpunit-mock-objects` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on PHPUnit_MockObject 2.0:
-
-    {
-        "require": {
-            "phpunit/phpunit-mock-objects": "2.1.*"
-        }
-    }
-
diff --git a/core/vendor/phpunit/phpunit-mock-objects/build.xml b/core/vendor/phpunit/phpunit-mock-objects/build.xml
deleted file mode 100644
index c93503e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/build.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="PHPUnit_MockObjects">
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/vendor"/>
-  <delete file="${basedir}/composer.lock"/>
-
-  <delete>
-   <fileset dir="${basedir}/build">
-    <include name="**/*.phar" />
-   </fileset>
-  </delete>
- </target>
-
- <target name="composer" depends="clean" description="Install dependencies with Composer">
-  <tstamp>
-   <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
-  </tstamp>
-  <delete>
-   <fileset dir="${basedir}">
-    <include name="composer.phar" />
-    <date datetime="${thirty.days.ago}" when="before"/>
-   </fileset>
-  </delete>
-
-  <get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="install"/>
-  </exec>
- </target>
-
- <target name="phpcs" description="Find coding standard violations using PHP_CodeSniffer">
-  <exec executable="phpcs">
-   <arg value="--standard=PSR2" />
-   <arg value="--extensions=php" />
-   <arg path="${basedir}/src" />
-   <arg path="${basedir}/tests" />
-  </exec>
- </target>
-</project>
-
diff --git a/core/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml b/core/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml
deleted file mode 100644
index b8498fb..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.2/phpunit.xsd"
-         bootstrap="../tests/bootstrap.php"
-         backupGlobals="false"
-         verbose="true">
-  <testsuite name="PHPUnit Mock Objects">
-    <directory suffix="Test.php">../tests</directory>
-    <directory suffix=".phpt">../tests</directory>
-  </testsuite>
-</phpunit>
-
diff --git a/core/vendor/phpunit/phpunit-mock-objects/composer.json b/core/vendor/phpunit/phpunit-mock-objects/composer.json
deleted file mode 100644
index 7cbf442..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/composer.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-    "name": "phpunit/phpunit-mock-objects",
-    "description": "Mock Object library for PHPUnit",
-    "type": "library",
-    "keywords": [
-        "xunit",
-        "mock"
-    ],
-    "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sb@sebastian-bergmann.de",
-            "role": "lead"
-        }
-    ],
-    "support": {
-        "issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues",
-        "irc": "irc://irc.freenode.net/phpunit"
-    },
-    "require": {
-        "php": ">=5.3.3",
-        "phpunit/php-text-template": "~1.2",
-        "doctrine/instantiator": "~1.0,>=1.0.2"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4.4"
-    },
-    "suggest": {
-        "ext-soap": "*"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "autoload-dev": {
-        "classmap": [
-            "tests/_fixture/"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.3.x-dev"
-        }
-    }
-}
-
diff --git a/core/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist b/core/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist
deleted file mode 100644
index e2186ea..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.2/phpunit.xsd"
-         bootstrap="tests/bootstrap.php"
-         backupGlobals="false"
-         verbose="true">
-  <testsuite name="PHPUnit Mock Objects">
-    <directory suffix="Test.php">tests</directory>
-    <directory suffix=".phpt">tests</directory>
-  </testsuite>
-
-  <logging>
-    <log type="coverage-html" target="build/coverage"/>
-  </logging>
-
-  <filter>
-    <whitelist processUncoveredFilesFromWhitelist="true">
-      <directory suffix=".php">src</directory>
-    </whitelist>
-  </filter>
-</phpunit>
-
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php
deleted file mode 100644
index c963a79..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder interface for unique identifiers.
- *
- * Defines the interface for recording unique identifiers. The identifiers
- * can be used to define the invocation order of expectations. The expectation
- * is recorded using id() and then defined in order using
- * PHPUnit_Framework_MockObject_Builder_Match::after().
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_Identity
-{
-    /**
-     * Sets the identification of the expectation to $id.
-     *
-     * @note The identifier is unique per mock object.
-     * @param string $id Unique identifiation of expectation.
-     */
-    public function id($id);
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php
deleted file mode 100644
index 4a5be92..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php
+++ /dev/null
@@ -1,260 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder for mocked or stubbed invocations.
- *
- * Provides methods for building expectations without having to resort to
- * instantiating the various matchers manually. These methods also form a
- * more natural way of reading the expectation. This class should be together
- * with the test case PHPUnit_Framework_MockObject_TestCase.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Builder_InvocationMocker implements PHPUnit_Framework_MockObject_Builder_MethodNameMatch
-{
-    /**
-     * @var PHPUnit_Framework_MockObject_Stub_MatcherCollection
-     */
-    protected $collection;
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher
-     */
-    protected $matcher;
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Stub_MatcherCollection $collection
-     * @param PHPUnit_Framework_MockObject_Matcher_Invocation     $invocationMatcher
-     */
-    public function __construct(PHPUnit_Framework_MockObject_Stub_MatcherCollection $collection, PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher)
-    {
-        $this->collection = $collection;
-        $this->matcher    = new PHPUnit_Framework_MockObject_Matcher(
-          $invocationMatcher
-        );
-
-        $this->collection->addMatcher($this->matcher);
-    }
-
-    /**
-     * @return PHPUnit_Framework_MockObject_Matcher
-     */
-    public function getMatcher()
-    {
-        return $this->matcher;
-    }
-
-    /**
-     * @param  mixed                                                 $id
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function id($id)
-    {
-        $this->collection->registerId($id, $this);
-
-        return $this;
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Stub                     $stub
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function will(PHPUnit_Framework_MockObject_Stub $stub)
-    {
-        $this->matcher->stub = $stub;
-
-        return $this;
-    }
-
-    /**
-     * @param  mixed                                                 $value
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturn($value)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_Return(
-          $value
-        );
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param  array                                                 $valueMap
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnMap(array $valueMap)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_ReturnValueMap(
-          $valueMap
-        );
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param  mixed                                                 $argumentIndex
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnArgument($argumentIndex)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_ReturnArgument(
-          $argumentIndex
-        );
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param  callable                                              $callback
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnCallback($callback)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_ReturnCallback(
-          $callback
-        );
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnSelf()
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_ReturnSelf();
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param  mixed                                                 $value, ...
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnOnConsecutiveCalls()
-    {
-        $args = func_get_args();
-
-        $stub = new PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls($args);
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param  Exception                                             $exception
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willThrowException(Exception $exception)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_Exception($exception);
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param  mixed                                                 $id
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function after($id)
-    {
-        $this->matcher->afterMatchBuilderId = $id;
-
-        return $this;
-    }
-
-    /**
-     * Validate that a parameters matcher can be defined, throw exceptions otherwise.
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    private function canDefineParameters()
-    {
-        if ($this->matcher->methodNameMatcher === NULL) {
-            throw new PHPUnit_Framework_Exception(
-              'Method name matcher is not defined, cannot define parameter ' .
-              ' matcher without one'
-            );
-        }
-
-        if ($this->matcher->parametersMatcher !== NULL) {
-            throw new PHPUnit_Framework_Exception(
-              'Parameter matcher is already defined, cannot redefine'
-            );
-        }
-    }
-
-    /**
-     * @param  mixed                                                 $argument, ...
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function with()
-    {
-        $args = func_get_args();
-
-        $this->canDefineParameters();
-
-        $this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_Parameters($args);
-
-        return $this;
-    }
-
-    /**
-     * @param  mixed ...$argument
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function withConsecutive() {
-
-        $args = func_get_args();
-
-        $this->canDefineParameters();
-
-        $this->matcher->parametersMatcher =
-          new PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters($args);
-
-        return $this;
-    }
-
-    /**
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function withAnyParameters()
-    {
-        $this->canDefineParameters();
-
-        $this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_AnyParameters;
-
-        return $this;
-    }
-
-    /**
-     * @param  PHPUnit_Framework_Constraint|string                   $constraint
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function method($constraint)
-    {
-        if ($this->matcher->methodNameMatcher !== NULL) {
-            throw new PHPUnit_Framework_Exception(
-              'Method name matcher is already defined, cannot redefine'
-            );
-        }
-
-        $this->matcher->methodNameMatcher = new PHPUnit_Framework_MockObject_Matcher_MethodName($constraint);
-
-        return $this;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php
deleted file mode 100644
index 4bc48d5..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder interface for invocation order matches.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_Match extends PHPUnit_Framework_MockObject_Builder_Stub
-{
-    /**
-     * Defines the expectation which must occur before the current is valid.
-     *
-     * @param  string                                    $id The identification of the expectation that should
-     *                                                       occur before this one.
-     * @return PHPUnit_Framework_MockObject_Builder_Stub
-     */
-    public function after($id);
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php
deleted file mode 100644
index f41c65e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder interface for matcher of method names.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_MethodNameMatch extends PHPUnit_Framework_MockObject_Builder_ParametersMatch
-{
-    /**
-     * Adds a new method name match and returns the parameter match object for
-     * further matching possibilities.
-     *
-     * @param  PHPUnit_Framework_Constraint                         $name
-     *                                                                    Constraint for matching method, if a string is passed it will use
-     *                                                                    the PHPUnit_Framework_Constraint_IsEqual.
-     * @return PHPUnit_Framework_MockObject_Builder_ParametersMatch
-     */
-    public function method($name);
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php
deleted file mode 100644
index 83db918..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for builders which can register builders with a given identification.
- *
- * This interface relates to PHPUnit_Framework_MockObject_Builder_Identity.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_Namespace
-{
-    /**
-     * Looks up the match builder with identification $id and returns it.
-     *
-     * @param  string                                     $id The identifiction of the match builder.
-     * @return PHPUnit_Framework_MockObject_Builder_Match
-     */
-    public function lookupId($id);
-
-    /**
-     * Registers the match builder $builder with the identification $id. The
-     * builder can later be looked up using lookupId() to figure out if it
-     * has been invoked.
-     *
-     * @param string                                     $id
-     *                                                            The identification of the match builder.
-     * @param PHPUnit_Framework_MockObject_Builder_Match $builder
-     *                                                            The builder which is being registered.
-     */
-    public function registerId($id, PHPUnit_Framework_MockObject_Builder_Match $builder);
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php
deleted file mode 100644
index a9b406c..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder interface for parameter matchers.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_ParametersMatch extends PHPUnit_Framework_MockObject_Builder_Match
-{
-    /**
-     * Sets the parameters to match for, each parameter to this funtion will
-     * be part of match. To perform specific matches or constraints create a
-     * new PHPUnit_Framework_Constraint and use it for the parameter.
-     * If the parameter value is not a constraint it will use the
-     * PHPUnit_Framework_Constraint_IsEqual for the value.
-     *
-     * Some examples:
-     * <code>
-     * // match first parameter with value 2
-     * $b->with(2);
-     * // match first parameter with value 'smock' and second identical to 42
-     * $b->with('smock', new PHPUnit_Framework_Constraint_IsEqual(42));
-     * </code>
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_ParametersMatch
-     */
-    public function with();
-
-    /**
-     * Sets a matcher which allows any kind of parameters.
-     *
-     * Some examples:
-     * <code>
-     * // match any number of parameters
-     * $b->withAnyParamers();
-     * </code>
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_AnyParameters
-     */
-    public function withAnyParameters();
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php
deleted file mode 100644
index 89c08c6..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder interface for stubs which are actions replacing an invocation.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_Stub extends PHPUnit_Framework_MockObject_Builder_Identity
-{
-    /**
-     * Stubs the matching method with the stub object $stub. Any invocations of
-     * the matched method will now be handled by the stub instead.
-     *
-     * @param  PHPUnit_Framework_MockObject_Stub             $stub The stub object.
-     * @return PHPUnit_Framework_MockObject_Builder_Identity
-     */
-    public function will(PHPUnit_Framework_MockObject_Stub $stub);
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php
deleted file mode 100644
index 2e34156..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 2.0.6
- */
-class PHPUnit_Framework_MockObject_BadMethodCallException extends BadMethodCallException implements PHPUnit_Framework_MockObject_Exception
-{
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php
deleted file mode 100644
index 4a3edb4..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for exceptions used by PHPUnit_MockObject.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 2.0.6
- */
-interface PHPUnit_Framework_MockObject_Exception
-{
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php
deleted file mode 100644
index 3516fc0..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 2.0.6
- */
-class PHPUnit_Framework_MockObject_RuntimeException extends RuntimeException implements PHPUnit_Framework_MockObject_Exception
-{
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
deleted file mode 100644
index 7b18cd0..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
+++ /dev/null
@@ -1,1096 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Doctrine\Instantiator\Instantiator;
-use Doctrine\Instantiator\Exception\InvalidArgumentException as InstantiatorInvalidArgumentException;
-use Doctrine\Instantiator\Exception\UnexpectedValueException as InstantiatorUnexpectedValueException;
-
-if (!function_exists('trait_exists')) {
-    function trait_exists($traitname, $autoload = true)
-    {
-        return false;
-    }
-}
-
-/**
- * Mock Object Code Generator
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Generator
-{
-    /**
-     * @var array
-     */
-    private static $cache = array();
-
-    /**
-     * @var array
-     */
-    protected $blacklistedMethodNames = array(
-      '__CLASS__' => TRUE,
-      '__DIR__' => TRUE,
-      '__FILE__' => TRUE,
-      '__FUNCTION__' => TRUE,
-      '__LINE__' => TRUE,
-      '__METHOD__' => TRUE,
-      '__NAMESPACE__' => TRUE,
-      '__TRAIT__' => TRUE,
-      '__clone' => TRUE,
-      '__halt_compiler' => TRUE,
-      'abstract' => TRUE,
-      'and' => TRUE,
-      'array' => TRUE,
-      'as' => TRUE,
-      'break' => TRUE,
-      'callable' => TRUE,
-      'case' => TRUE,
-      'catch' => TRUE,
-      'class' => TRUE,
-      'clone' => TRUE,
-      'const' => TRUE,
-      'continue' => TRUE,
-      'declare' => TRUE,
-      'default' => TRUE,
-      'die' => TRUE,
-      'do' => TRUE,
-      'echo' => TRUE,
-      'else' => TRUE,
-      'elseif' => TRUE,
-      'empty' => TRUE,
-      'enddeclare' => TRUE,
-      'endfor' => TRUE,
-      'endforeach' => TRUE,
-      'endif' => TRUE,
-      'endswitch' => TRUE,
-      'endwhile' => TRUE,
-      'eval' => TRUE,
-      'exit' => TRUE,
-      'expects' => TRUE,
-      'extends' => TRUE,
-      'final' => TRUE,
-      'for' => TRUE,
-      'foreach' => TRUE,
-      'function' => TRUE,
-      'global' => TRUE,
-      'goto' => TRUE,
-      'if' => TRUE,
-      'implements' => TRUE,
-      'include' => TRUE,
-      'include_once' => TRUE,
-      'instanceof' => TRUE,
-      'insteadof' => TRUE,
-      'interface' => TRUE,
-      'isset' => TRUE,
-      'list' => TRUE,
-      'namespace' => TRUE,
-      'new' => TRUE,
-      'or' => TRUE,
-      'print' => TRUE,
-      'private' => TRUE,
-      'protected' => TRUE,
-      'public' => TRUE,
-      'require' => TRUE,
-      'require_once' => TRUE,
-      'return' => TRUE,
-      'static' => TRUE,
-      'switch' => TRUE,
-      'throw' => TRUE,
-      'trait' => TRUE,
-      'try' => TRUE,
-      'unset' => TRUE,
-      'use' => TRUE,
-      'var' => TRUE,
-      'while' => TRUE,
-      'xor' => TRUE
-    );
-
-    /**
-     * @var boolean
-     */
-    protected $soapLoaded = NULL;
-
-    /**
-     * Returns a mock object for the specified class.
-     *
-     * @param  array|string                $type
-     * @param  array                       $methods
-     * @param  array                       $arguments
-     * @param  string                      $mockClassName
-     * @param  boolean                     $callOriginalConstructor
-     * @param  boolean                     $callOriginalClone
-     * @param  boolean                     $callAutoload
-     * @param  boolean                     $cloneArguments
-     * @param  boolean                     $callOriginalMethods
-     * @param  object                      $proxyTarget
-     * @return object
-     * @throws InvalidArgumentException
-     * @throws PHPUnit_Framework_Exception
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     * @since  Method available since Release 1.0.0
-     */
-    public function getMock($type, $methods = array(), array $arguments = array(), $mockClassName = '', $callOriginalConstructor = TRUE, $callOriginalClone = TRUE, $callAutoload = TRUE, $cloneArguments = TRUE, $callOriginalMethods = FALSE, $proxyTarget = NULL)
-    {
-        if (!is_array($type) && !is_string($type)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'array or string');
-        }
-
-        if (!is_string($mockClassName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(4, 'string');
-        }
-
-        if (!is_array($methods) && !is_null($methods)) {
-            throw new InvalidArgumentException;
-        }
-
-        if ($type === 'Traversable' || $type === '\\Traversable') {
-            $type = 'Iterator';
-        }
-
-        if (is_array($type)) {
-            $type = array_unique(array_map(
-              function ($type) {
-                  if ($type === 'Traversable' ||
-                      $type === '\\Traversable' ||
-                      $type === '\\Iterator') {
-                      return 'Iterator';
-                  }
-
-                  return $type;
-              },
-              $type
-            ));
-        }
-
-        if (NULL !== $methods) {
-            foreach ($methods as $method) {
-                if (!preg_match('~[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*~', $method)) {
-                    throw new PHPUnit_Framework_Exception(
-                      sprintf(
-                        'Cannot stub or mock method with invalid name "%s"',
-                        $method
-                      )
-                    );
-                }
-            }
-
-            if ($methods != array_unique($methods)) {
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                  sprintf(
-                    'Cannot stub or mock using a method list that contains duplicates: "%s"',
-                    implode(', ', $methods)
-                  )
-                );
-            }
-        }
-
-        if ($mockClassName != '' && class_exists($mockClassName, FALSE)) {
-            $reflect = new ReflectionClass($mockClassName);
-
-            if (!$reflect->implementsInterface("PHPUnit_Framework_MockObject_MockObject")) {
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                  sprintf(
-                    'Class "%s" already exists.',
-                    $mockClassName
-                  )
-                );
-            }
-        }
-
-        $mock = $this->generate(
-          $type,
-          $methods,
-          $mockClassName,
-          $callOriginalClone,
-          $callAutoload,
-          $cloneArguments,
-          $callOriginalMethods
-        );
-
-        return $this->getObject(
-          $mock['code'],
-          $mock['mockClassName'],
-          $type,
-          $callOriginalConstructor,
-          $callAutoload,
-          $arguments,
-          $callOriginalMethods,
-          $proxyTarget
-        );
-    }
-
-    /**
-     * @param  string       $code
-     * @param  string       $className
-     * @param  array|string $type
-     * @param  boolean      $callOriginalConstructor
-     * @param  boolean      $callAutoload
-     * @param  array        $arguments
-     * @param  boolean      $callOriginalMethods
-     * @param  object       $proxyTarget
-     * @return object
-     */
-    protected function getObject($code, $className, $type = '', $callOriginalConstructor = FALSE, $callAutoload = FALSE, array $arguments = array(), $callOriginalMethods = FALSE, $proxyTarget = NULL)
-    {
-        $this->evalClass($code, $className);
-
-        if ($callOriginalConstructor &&
-            is_string($type) &&
-            !interface_exists($type, $callAutoload)) {
-            if (count($arguments) == 0) {
-                $object = new $className;
-            } else {
-                $class  = new ReflectionClass($className);
-                $object = $class->newInstanceArgs($arguments);
-            }
-        } else {
-            try {
-                $instantiator = new Instantiator;
-                $object       = $instantiator->instantiate($className);
-            } catch (InstantiatorUnexpectedValueException $exception) {
-                if($exception->getPrevious()) {
-                    $exception = $exception->getPrevious();
-                }
-
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                  $exception->getMessage()
-                );
-            } catch (InstantiatorInvalidArgumentException $exception) {
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                  $exception->getMessage()
-                );
-            }
-        }
-
-        if ($callOriginalMethods) {
-            if (!is_object($proxyTarget)) {
-                if (count($arguments) == 0) {
-                    $proxyTarget = new $type;
-                } else {
-                    $class       = new ReflectionClass($type);
-                    $proxyTarget = $class->newInstanceArgs($arguments);
-                }
-            }
-
-            $object->__phpunit_setOriginalObject($proxyTarget);
-        }
-
-        return $object;
-    }
-
-    /**
-     * @param string $code
-     * @param string $className
-     */
-    protected function evalClass($code, $className)
-    {
-        if (!class_exists($className, FALSE)) {
-            eval($code);
-        }
-    }
-
-    /**
-     * Returns a mock object for the specified abstract class with all abstract
-     * methods of the class mocked. Concrete methods to mock can be specified with
-     * the last parameter
-     *
-     * @param  string                      $originalClassName
-     * @param  array                       $arguments
-     * @param  string                      $mockClassName
-     * @param  boolean                     $callOriginalConstructor
-     * @param  boolean                     $callOriginalClone
-     * @param  boolean                     $callAutoload
-     * @param  array                       $mockedMethods
-     * @param  boolean                     $cloneArguments
-     * @return object
-     * @since  Method available since Release 1.0.0
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function getMockForAbstractClass($originalClassName, array $arguments = array(), $mockClassName = '', $callOriginalConstructor = TRUE, $callOriginalClone = TRUE, $callAutoload = TRUE, $mockedMethods = array(), $cloneArguments = TRUE)
-    {
-        if (!is_string($originalClassName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($mockClassName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'string');
-        }
-
-        if (class_exists($originalClassName, $callAutoload) ||
-            interface_exists($originalClassName, $callAutoload)) {
-            $reflector = new ReflectionClass($originalClassName);
-            $methods   = $mockedMethods;
-
-            foreach ($reflector->getMethods(ReflectionMethod::IS_ABSTRACT) as $method) {
-                if (!in_array($method->getName(), $methods)) {
-                    $methods[] = $method->getName();
-                }
-            }
-
-            if (empty($methods)) {
-                $methods = NULL;
-            }
-
-            return $this->getMock(
-              $originalClassName,
-              $methods,
-              $arguments,
-              $mockClassName,
-              $callOriginalConstructor,
-              $callOriginalClone,
-              $callAutoload,
-              $cloneArguments
-            );
-        } else {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-              sprintf('Class "%s" does not exist.', $originalClassName)
-            );
-        }
-    }
-
-    /**
-     * Returns a mock object for the specified trait with all abstract methods
-     * of the trait mocked. Concrete methods to mock can be specified with the
-     * `$mockedMethods` parameter.
-     *
-     * @param  string                   $traitName
-     * @param  array                    $arguments
-     * @param  string                   $mockClassName
-     * @param  boolean                  $callOriginalConstructor
-     * @param  boolean                  $callOriginalClone
-     * @param  boolean                  $callAutoload
-     * @param  array                    $mockedMethods
-     * @param  boolean                  $cloneArguments
-     * @return object
-     * @since  Method available since Release 1.2.3
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function getMockForTrait($traitName, array $arguments = array(), $mockClassName = '', $callOriginalConstructor = TRUE, $callOriginalClone = TRUE, $callAutoload = TRUE, $mockedMethods = array(), $cloneArguments = TRUE)
-    {
-        if (!is_string($traitName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($mockClassName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'string');
-        }
-
-        if (!trait_exists($traitName, $callAutoload)) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-              sprintf(
-                'Trait "%s" does not exist.',
-                $traitName
-              )
-            );
-        }
-
-        $className = $this->generateClassName(
-          $traitName, '', 'Trait_'
-        );
-
-        $templateDir   = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Generator' .
-                         DIRECTORY_SEPARATOR;
-        $classTemplate = new Text_Template(
-                           $templateDir . 'trait_class.tpl'
-                         );
-
-        $classTemplate->setVar(
-          array(
-            'prologue'   => 'abstract ',
-            'class_name' => $className['className'],
-            'trait_name' => $traitName
-          )
-        );
-
-        $this->evalClass(
-          $classTemplate->render(),
-          $className['className']
-        );
-
-        return $this->getMockForAbstractClass($className['className'], $arguments, $mockClassName, $callOriginalConstructor, $callOriginalClone, $callAutoload, $mockedMethods, $cloneArguments);
-    }
-
-    /**
-     * Returns an object for the specified trait.
-     *
-     * @param  string                      $traitName
-     * @param  array                       $arguments
-     * @param  string                      $traitClassName
-     * @param  boolean                     $callOriginalConstructor
-     * @param  boolean                     $callOriginalClone
-     * @param  boolean                     $callAutoload
-     * @return object
-     * @since  Method available since Release 1.1.0
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function getObjectForTrait($traitName, array $arguments = array(), $traitClassName = '', $callOriginalConstructor = TRUE, $callOriginalClone = TRUE, $callAutoload = TRUE)
-    {
-        if (!is_string($traitName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($traitClassName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'string');
-        }
-
-        if (!trait_exists($traitName, $callAutoload)) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-              sprintf(
-                'Trait "%s" does not exist.',
-                $traitName
-              )
-            );
-        }
-
-        $className = $this->generateClassName(
-          $traitName, $traitClassName, 'Trait_'
-        );
-
-        $templateDir   = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Generator' .
-                         DIRECTORY_SEPARATOR;
-        $classTemplate = new Text_Template(
-                           $templateDir . 'trait_class.tpl'
-                         );
-
-        $classTemplate->setVar(
-          array(
-            'prologue'   => '',
-            'class_name' => $className['className'],
-            'trait_name' => $traitName
-          )
-        );
-
-        return $this->getObject(
-          $classTemplate->render(),
-          $className['className']
-        );
-    }
-
-    /**
-     * @param  array|string $type
-     * @param  array        $methods
-     * @param  string       $mockClassName
-     * @param  boolean      $callOriginalClone
-     * @param  boolean      $callAutoload
-     * @param  boolean      $cloneArguments
-     * @param  boolean      $callOriginalMethods
-     * @return array
-     */
-    public function generate($type, array $methods = NULL, $mockClassName = '', $callOriginalClone = TRUE, $callAutoload = TRUE, $cloneArguments = TRUE, $callOriginalMethods = FALSE)
-    {
-        if (is_array($type)) {
-            sort($type);
-        }
-
-        if ($mockClassName == '') {
-            $key = md5(
-              is_array($type) ? join('_', $type) : $type .
-              serialize($methods) .
-              serialize($callOriginalClone) .
-              serialize($cloneArguments) .
-              serialize($callOriginalMethods)
-            );
-
-            if (isset(self::$cache[$key])) {
-                return self::$cache[$key];
-            }
-        }
-
-        $mock = $this->generateMock(
-          $type,
-          $methods,
-          $mockClassName,
-          $callOriginalClone,
-          $callAutoload,
-          $cloneArguments,
-          $callOriginalMethods
-        );
-
-        if (isset($key)) {
-            self::$cache[$key] = $mock;
-        }
-
-        return $mock;
-    }
-
-    /**
-     * @param  string                      $wsdlFile
-     * @param  string                      $className
-     * @param  array                       $methods
-     * @param  array                       $options
-     * @return string
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     */
-    public function generateClassFromWsdl($wsdlFile, $className, array $methods = array(), array $options = array())
-    {
-        if ($this->soapLoaded === NULL) {
-            $this->soapLoaded = extension_loaded('soap');
-        }
-
-        if ($this->soapLoaded) {
-            $options = array_merge($options, array('cache_wsdl' => WSDL_CACHE_NONE));
-            $client   = new SoapClient($wsdlFile, $options);
-            $_methods = array_unique($client->__getFunctions());
-            unset($client);
-
-            sort($_methods);
-
-            $templateDir    = dirname(__FILE__) . DIRECTORY_SEPARATOR .
-                              'Generator' . DIRECTORY_SEPARATOR;
-            $methodTemplate = new Text_Template(
-                                $templateDir . 'wsdl_method.tpl'
-                              );
-            $methodsBuffer  = '';
-
-            foreach ($_methods as $method) {
-                $nameStart = strpos($method, ' ') + 1;
-                $nameEnd   = strpos($method, '(');
-                $name      = substr($method, $nameStart, $nameEnd - $nameStart);
-
-                if (empty($methods) || in_array($name, $methods)) {
-                    $args    = explode(
-                                 ',',
-                                 substr(
-                                   $method,
-                                   $nameEnd + 1,
-                                   strpos($method, ')') - $nameEnd - 1
-                                 )
-                               );
-                    $numArgs = count($args);
-
-                    for ($i = 0; $i < $numArgs; $i++) {
-                        $args[$i] = substr($args[$i], strpos($args[$i], '$'));
-                    }
-
-                    $methodTemplate->setVar(
-                      array(
-                        'method_name' => $name,
-                        'arguments'   => join(', ', $args)
-                      )
-                    );
-
-                    $methodsBuffer .= $methodTemplate->render();
-                }
-            }
-
-            $optionsBuffer = 'array(';
-
-            foreach ($options as $key => $value) {
-                $optionsBuffer .= $key . ' => ' . $value;
-            }
-
-            $optionsBuffer .= ')';
-
-            $classTemplate = new Text_Template(
-              $templateDir . 'wsdl_class.tpl'
-            );
-
-            $namespace = '';
-
-            if (strpos($className, '\\') !== FALSE) {
-                $parts     = explode('\\', $className);
-                $className = array_pop($parts);
-                $namespace = 'namespace ' . join('\\', $parts) . ';' . "\n\n";
-            }
-
-            $classTemplate->setVar(
-              array(
-                'namespace'  => $namespace,
-                'class_name' => $className,
-                'wsdl'       => $wsdlFile,
-                'options'    => $optionsBuffer,
-                'methods'    => $methodsBuffer
-              )
-            );
-
-            return $classTemplate->render();
-        } else {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-              'The SOAP extension is required to generate a mock object ' .
-              'from WSDL.'
-            );
-        }
-    }
-
-    /**
-     * @param  array|string                $type
-     * @param  array|null                  $methods
-     * @param  string                      $mockClassName
-     * @param  boolean                     $callOriginalClone
-     * @param  boolean                     $callAutoload
-     * @param  boolean                     $cloneArguments
-     * @param  boolean                     $callOriginalMethods
-     * @return array
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function generateMock($type, $methods, $mockClassName, $callOriginalClone, $callAutoload, $cloneArguments, $callOriginalMethods)
-    {
-        $templateDir   = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Generator' .
-                         DIRECTORY_SEPARATOR;
-        $classTemplate = new Text_Template(
-                           $templateDir . 'mocked_class.tpl'
-                         );
-
-        $additionalInterfaces = array();
-        $cloneTemplate        = '';
-        $isClass              = FALSE;
-        $isInterface          = FALSE;
-
-        $mockClassName = $this->generateClassName(
-          $type, $mockClassName, 'Mock_'
-        );
-
-        if (is_array($type)) {
-            foreach ($type as $_type) {
-                if (!interface_exists($_type, $callAutoload)) {
-                    throw new PHPUnit_Framework_Exception(
-                      sprintf(
-                        'Interface "%s" does not exist.', $_type
-                      )
-                    );
-                }
-
-                $additionalInterfaces[] = $_type;
-
-                foreach (get_class_methods($_type) as $method) {
-                    if (in_array($method, $methods)) {
-                        throw new PHPUnit_Framework_Exception(
-                          sprintf(
-                            'Duplicate method "%s" not allowed.', $method
-                          )
-                        );
-                    }
-
-                    $methods[] = $method;
-                }
-            }
-        }
-
-        if (class_exists($mockClassName['fullClassName'], $callAutoload)) {
-            $isClass = TRUE;
-        } else {
-            if (interface_exists($mockClassName['fullClassName'], $callAutoload)) {
-                $isInterface = TRUE;
-            }
-        }
-
-        if (!class_exists($mockClassName['fullClassName'], $callAutoload) &&
-            !interface_exists($mockClassName['fullClassName'], $callAutoload)) {
-            $prologue = 'class ' . $mockClassName['originalClassName'] . "\n{\n}\n\n";
-
-            if (!empty($mockClassName['namespaceName'])) {
-                $prologue = 'namespace ' . $mockClassName['namespaceName'] .
-                            " {\n\n" . $prologue . "}\n\n" .
-                            "namespace {\n\n";
-
-                $epilogue = "\n\n}";
-            }
-
-            $cloneTemplate = new Text_Template(
-              $templateDir . 'mocked_clone.tpl'
-            );
-        } else {
-            $class = new ReflectionClass($mockClassName['fullClassName']);
-
-            if ($class->isFinal()) {
-                throw new PHPUnit_Framework_Exception(
-                  sprintf(
-                    'Class "%s" is declared "final" and cannot be mocked.',
-                    $mockClassName['fullClassName']
-                  )
-                );
-            }
-
-            if ($class->hasMethod('__clone')) {
-                $cloneMethod = $class->getMethod('__clone');
-
-                if (!$cloneMethod->isFinal()) {
-                    if ($callOriginalClone && !$isInterface) {
-                        $cloneTemplate = new Text_Template(
-                          $templateDir . 'unmocked_clone.tpl'
-                        );
-                    } else {
-                        $cloneTemplate = new Text_Template(
-                          $templateDir . 'mocked_clone.tpl'
-                        );
-                    }
-                }
-            } else {
-                $cloneTemplate = new Text_Template(
-                  $templateDir . 'mocked_clone.tpl'
-                );
-            }
-        }
-
-        if (is_object($cloneTemplate)) {
-            $cloneTemplate = $cloneTemplate->render();
-        }
-
-        if (is_array($methods) && empty($methods) &&
-            ($isClass || $isInterface)) {
-            $methods = get_class_methods($mockClassName['fullClassName']);
-        }
-
-        if (!is_array($methods)) {
-            $methods = array();
-        }
-
-        $mockedMethods = '';
-
-        if (isset($class)) {
-            // https://github.com/sebastianbergmann/phpunit-mock-objects/issues/103
-            if ($isInterface && $class->implementsInterface('Traversable') &&
-                !$class->implementsInterface('Iterator') &&
-                !$class->implementsInterface('IteratorAggregate')) {
-                $additionalInterfaces[] = 'Iterator';
-                $methods = array_merge($methods, get_class_methods('Iterator'));
-            }
-
-            foreach ($methods as $methodName) {
-                try {
-                    $method = $class->getMethod($methodName);
-
-                    if ($this->canMockMethod($method)) {
-                        $mockedMethods .= $this->generateMockedMethodDefinitionFromExisting(
-                          $templateDir,
-                          $method,
-                          $cloneArguments,
-                          $callOriginalMethods
-                        );
-                    }
-                } catch (ReflectionException $e) {
-                    $mockedMethods .= $this->generateMockedMethodDefinition(
-                      $templateDir, $mockClassName['fullClassName'], $methodName, $cloneArguments
-                    );
-                }
-            }
-        } else {
-            foreach ($methods as $methodName) {
-                $mockedMethods .= $this->generateMockedMethodDefinition(
-                  $templateDir, $mockClassName['fullClassName'], $methodName, $cloneArguments
-                );
-            }
-        }
-
-        $method = '';
-
-        if (!in_array('method', $methods)) {
-            $methodTemplate = new Text_Template(
-                $templateDir . 'mocked_class_method.tpl'
-            );
-
-            $method = $methodTemplate->render();
-        }
-
-        $classTemplate->setVar(
-          array(
-            'prologue'          => isset($prologue) ? $prologue : '',
-            'epilogue'          => isset($epilogue) ? $epilogue : '',
-            'class_declaration' => $this->generateMockClassDeclaration(
-                                     $mockClassName,
-                                     $isInterface,
-                                     $additionalInterfaces
-                                   ),
-            'clone'             => $cloneTemplate,
-            'mock_class_name'   => $mockClassName['className'],
-            'mocked_methods'    => $mockedMethods,
-            'method'            => $method
-          )
-        );
-
-        return array(
-          'code'          => $classTemplate->render(),
-          'mockClassName' => $mockClassName['className']
-        );
-    }
-
-    /**
-     * @param  array|string $type
-     * @param  string       $className
-     * @param  string       $prefix
-     * @return array
-     */
-    protected function generateClassName($type, $className, $prefix)
-    {
-        if (is_array($type)) {
-            $type = join('_', $type);
-        }
-
-        if ($type[0] == '\\') {
-            $type = substr($type, 1);
-        }
-
-        $classNameParts = explode('\\', $type);
-
-        if (count($classNameParts) > 1) {
-            $type          = array_pop($classNameParts);
-            $namespaceName = join('\\', $classNameParts);
-            $fullClassName = $namespaceName . '\\' . $type;
-        } else {
-            $namespaceName = '';
-            $fullClassName = $type;
-        }
-
-        if ($className == '') {
-            do {
-                $className = $prefix . $type . '_' .
-                             substr(md5(microtime()), 0, 8);
-            } while (class_exists($className, FALSE));
-        }
-
-        return array(
-          'className'         => $className,
-          'originalClassName' => $type,
-          'fullClassName'     => $fullClassName,
-          'namespaceName'     => $namespaceName
-        );
-    }
-
-    /**
-     * @param  array   $mockClassName
-     * @param  boolean $isInterface
-     * @param  array   $additionalInterfaces
-     * @return array
-     */
-    protected function generateMockClassDeclaration(array $mockClassName, $isInterface, array $additionalInterfaces = array())
-    {
-        $buffer = 'class ';
-
-        $additionalInterfaces[] = 'PHPUnit_Framework_MockObject_MockObject';
-        $interfaces = implode(', ', $additionalInterfaces);
-
-        if ($isInterface) {
-            $buffer .= sprintf(
-              "%s implements %s",
-              $mockClassName['className'],
-              $interfaces
-            );
-
-            if (!in_array($mockClassName['originalClassName'], $additionalInterfaces)) {
-                $buffer .= ', ';
-
-                if (!empty($mockClassName['namespaceName'])) {
-                    $buffer .= $mockClassName['namespaceName'] . '\\';
-                }
-
-                $buffer .= $mockClassName['originalClassName'];
-            }
-        } else {
-            $buffer .= sprintf(
-              "%s extends %s%s implements %s",
-              $mockClassName['className'],
-              !empty($mockClassName['namespaceName']) ? $mockClassName['namespaceName'] . '\\' : '',
-              $mockClassName['originalClassName'],
-              $interfaces
-            );
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * @param  string           $templateDir
-     * @param  ReflectionMethod $method
-     * @param  boolean          $cloneArguments
-     * @param  boolean          $callOriginalMethods
-     * @return string
-     */
-    protected function generateMockedMethodDefinitionFromExisting($templateDir, ReflectionMethod $method, $cloneArguments, $callOriginalMethods)
-    {
-        if ($method->isPrivate()) {
-            $modifier = 'private';
-        } elseif ($method->isProtected()) {
-            $modifier = 'protected';
-        } else {
-            $modifier = 'public';
-        }
-
-        if ($method->isStatic()) {
-            $modifier .= ' static';
-        }
-
-        if ($method->returnsReference()) {
-            $reference = '&';
-        } else {
-            $reference = '';
-        }
-
-        return $this->generateMockedMethodDefinition(
-          $templateDir,
-          $method->getDeclaringClass()->getName(),
-          $method->getName(),
-          $cloneArguments,
-          $modifier,
-          $this->getMethodParameters($method),
-          $this->getMethodParameters($method, TRUE),
-          $reference,
-          $callOriginalMethods,
-          $method->isStatic()
-        );
-    }
-
-    /**
-     * @param  string  $templateDir
-     * @param  string  $className
-     * @param  string  $methodName
-     * @param  boolean $cloneArguments
-     * @param  string  $modifier
-     * @param  string  $arguments_decl
-     * @param  string  $arguments_call
-     * @param  string  $reference
-     * @param  boolean $callOriginalMethods
-     * @param  boolean $static
-     * @return string
-     */
-    protected function generateMockedMethodDefinition($templateDir, $className, $methodName, $cloneArguments = TRUE, $modifier = 'public', $arguments_decl = '', $arguments_call = '', $reference = '', $callOriginalMethods = FALSE, $static = FALSE)
-    {
-        if ($static) {
-            $templateFile = 'mocked_static_method.tpl';
-        } else {
-            $templateFile = sprintf(
-              '%s_method.tpl',
-              $callOriginalMethods ? 'proxied' : 'mocked'
-            );
-        }
-
-        $template = new Text_Template($templateDir . $templateFile);
-
-        $template->setVar(
-          array(
-            'arguments_decl'  => $arguments_decl,
-            'arguments_call'  => $arguments_call,
-            'arguments_count' => !empty($arguments_call) ? count(explode(',', $arguments_call)) : 0,
-            'class_name'      => $className,
-            'method_name'     => $methodName,
-            'modifier'        => $modifier,
-            'reference'       => $reference,
-            'clone_arguments' => $cloneArguments ? 'TRUE' : 'FALSE'
-          )
-        );
-
-        return $template->render();
-    }
-
-    /**
-     * @param  ReflectionMethod $method
-     * @return boolean
-     */
-    protected function canMockMethod(ReflectionMethod $method)
-    {
-        if ($method->isConstructor() ||
-            $method->isFinal() ||
-            isset($this->blacklistedMethodNames[$method->getName()])) {
-            return FALSE;
-        }
-
-        return TRUE;
-    }
-
-    /**
-     * Returns the parameters of a function or method.
-     *
-     * @param  ReflectionMethod $method
-     * @param  boolean          $forCall
-     * @return string
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     * @since  Method available since Release 2.0.0
-     */
-    protected function getMethodParameters(ReflectionMethod $method, $forCall = FALSE)
-    {
-        $parameters = array();
-
-        foreach ($method->getParameters() as $i => $parameter) {
-            $name = '$' . $parameter->getName();
-
-            /* Note: PHP extensions may use empty names for reference arguments
-             * or "..." for methods taking a variable number of arguments.
-             */
-            if ($name === '$' || $name === '$...') {
-                $name = '$arg' . $i;
-            }
-
-            if ($this->isVariadic($parameter)) {
-                if ($forCall) {
-                    continue;
-                } else {
-                    $name = '...' . $name;
-                }
-            }
-
-            $default   = '';
-            $reference = '';
-            $typeHint  = '';
-
-            if (!$forCall) {
-                if ($parameter->isArray()) {
-                    $typeHint = 'array ';
-                } elseif ((defined('HHVM_VERSION') || version_compare(PHP_VERSION, '5.4.0', '>='))
-                          && $parameter->isCallable()) {
-                    $typeHint = 'callable ';
-                } else {
-                    try {
-                        $class = $parameter->getClass();
-                    } catch (ReflectionException $e) {
-                        throw new PHPUnit_Framework_MockObject_RuntimeException(
-                          sprintf(
-                            'Cannot mock %s::%s() because a class or ' .
-                            'interface used in the signature is not loaded',
-                            $method->getDeclaringClass()->getName(),
-                            $method->getName()
-                          ),
-                          0,
-                          $e
-                        );
-                    }
-
-                    if ($class !== NULL) {
-                        $typeHint = $class->getName() . ' ';
-                    }
-                }
-
-                if (!$this->isVariadic($parameter)) {
-                    if ($parameter->isDefaultValueAvailable()) {
-                        $value = $parameter->getDefaultValue();
-                        $default = ' = ' . var_export($value, TRUE);
-                    } elseif ($parameter->isOptional()) {
-                        $default = ' = null';
-                    }
-                }
-            }
-
-            if ($parameter->isPassedByReference()) {
-                $reference = '&';
-            }
-
-            $parameters[] = $typeHint . $reference . $name . $default;
-        }
-
-        return join(', ', $parameters);
-    }
-
-    /**
-     * @param  ReflectionParameter $parameter
-     * @return boolean
-     * @since  Method available since Release 2.2.1
-     */
-    private function isVariadic(ReflectionParameter $parameter)
-    {
-        return method_exists('ReflectionParameter', 'isVariadic') && $parameter->isVariadic();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class.tpl.dist b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class.tpl.dist
deleted file mode 100644
index a9a94cd..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class.tpl.dist
+++ /dev/null
@@ -1,36 +0,0 @@
-{prologue}{class_declaration}
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-{clone}{mocked_methods}
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-{method}
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}{epilogue}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist
deleted file mode 100644
index 9e29c0d..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist
+++ /dev/null
@@ -1,7 +0,0 @@
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_clone.tpl.dist b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_clone.tpl.dist
deleted file mode 100644
index bd846de..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_clone.tpl.dist
+++ /dev/null
@@ -1,4 +0,0 @@
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_method.tpl.dist b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_method.tpl.dist
deleted file mode 100644
index e2f55d9..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_method.tpl.dist
+++ /dev/null
@@ -1,22 +0,0 @@
-
-    {modifier} function {reference}{method_name}({arguments_decl})
-    {
-        $arguments = array({arguments_call});
-        $count     = func_num_args();
-
-        if ($count > {arguments_count}) {
-            $_arguments = func_get_args();
-
-            for ($i = {arguments_count}; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            '{class_name}', '{method_name}', $arguments, $this, {clone_arguments}
-          )
-        );
-
-        return $result;
-    }
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist
deleted file mode 100644
index 5454b2f..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist
+++ /dev/null
@@ -1,5 +0,0 @@
-
-    {modifier} function {reference}{method_name}({arguments_decl})
-    {
-        throw new PHPUnit_Framework_MockObject_BadMethodCallException;
-    }
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/proxied_method.tpl.dist b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/proxied_method.tpl.dist
deleted file mode 100644
index 15e89bd..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/proxied_method.tpl.dist
+++ /dev/null
@@ -1,22 +0,0 @@
-
-    {modifier} function {reference}{method_name}({arguments_decl})
-    {
-        $arguments = array({arguments_call});
-        $count     = func_num_args();
-
-        if ($count > {arguments_count}) {
-            $_arguments = func_get_args();
-
-            for ($i = {arguments_count}; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            '{class_name}', '{method_name}', $arguments, $this, {clone_arguments}
-          )
-        );
-
-        return call_user_func_array(array($this->__phpunit_originalObject, "{method_name}"), $arguments);
-    }
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/trait_class.tpl.dist b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/trait_class.tpl.dist
deleted file mode 100644
index 4143b0f..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/trait_class.tpl.dist
+++ /dev/null
@@ -1,4 +0,0 @@
-{prologue}class {class_name}
-{
-    use {trait_name};
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist
deleted file mode 100644
index fa0e70a..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist
+++ /dev/null
@@ -1,5 +0,0 @@
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-        parent::__clone();
-    }
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_class.tpl.dist b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_class.tpl.dist
deleted file mode 100644
index cc69fd3..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_class.tpl.dist
+++ /dev/null
@@ -1,7 +0,0 @@
-{namespace}class {class_name} extends \SoapClient
-{
-    public function __construct($wsdl, array $options)
-    {
-        parent::__construct('{wsdl}', $options);
-    }
-{methods}}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_method.tpl.dist b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_method.tpl.dist
deleted file mode 100644
index bb16e76..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_method.tpl.dist
+++ /dev/null
@@ -1,4 +0,0 @@
-
-    public function {method_name}({arguments})
-    {
-    }
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php
deleted file mode 100644
index 9fe998c..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for invocations.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Invocation
-{
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php
deleted file mode 100644
index a8fdfd1..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a non-static invocation.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Invocation_Object extends PHPUnit_Framework_MockObject_Invocation_Static
-{
-    /**
-     * @var object
-     */
-    public $object;
-
-    /**
-     * @param string $className
-     * @param string $methodname
-     * @param array  $parameters
-     * @param object $object
-     * @param object $cloneObjects
-     */
-    public function __construct($className, $methodName, array $parameters, $object, $cloneObjects = FALSE)
-    {
-        parent::__construct($className, $methodName, $parameters, $cloneObjects);
-        $this->object = $object;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php
deleted file mode 100644
index 6b570e6..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Exporter\Exporter;
-
-/**
- * Represents a static invocation.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Invocation_Static implements PHPUnit_Framework_MockObject_Invocation, PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * @var array
-     */
-    protected static $uncloneableExtensions = array(
-      'mysqli' => TRUE,
-      'SQLite' => TRUE,
-      'sqlite3' => TRUE,
-      'tidy' => TRUE,
-      'xmlwriter' => TRUE,
-      'xsl' => TRUE
-    );
-
-    /**
-     * @var array
-     */
-    protected static $uncloneableClasses = array(
-      'Closure',
-      'COMPersistHelper',
-      'IteratorIterator',
-      'RecursiveIteratorIterator',
-      'SplFileObject',
-      'PDORow',
-      'ZipArchive'
-    );
-
-    /**
-     * @var string
-     */
-    public $className;
-
-    /**
-     * @var string
-     */
-    public $methodName;
-
-    /**
-     * @var array
-     */
-    public $parameters;
-
-    /**
-     * @param string  $className
-     * @param string  $methodname
-     * @param array   $parameters
-     * @param boolean $cloneObjects
-     */
-    public function __construct($className, $methodName, array $parameters, $cloneObjects = FALSE)
-    {
-        $this->className  = $className;
-        $this->methodName = $methodName;
-        $this->parameters = $parameters;
-
-        if (!$cloneObjects) {
-            return;
-        }
-
-        foreach ($this->parameters as $key => $value) {
-            if (is_object($value)) {
-                $this->parameters[$key] = $this->cloneObject($value);
-            }
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        $exporter = new Exporter;
-
-        return sprintf(
-          "%s::%s(%s)",
-
-          $this->className,
-          $this->methodName,
-          join(
-            ', ',
-            array_map(
-              array($exporter, 'shortenedExport'),
-              $this->parameters
-            )
-          )
-        );
-    }
-
-    /**
-     * @param  object $original
-     * @return object
-     */
-    protected function cloneObject($original)
-    {
-        $cloneable = NULL;
-        $object    = new ReflectionObject($original);
-
-        // Check the blacklist before asking PHP reflection to work around
-        // https://bugs.php.net/bug.php?id=53967
-        if ($object->isInternal() &&
-            isset(self::$uncloneableExtensions[$object->getExtensionName()])) {
-            $cloneable = FALSE;
-        }
-
-        if ($cloneable === NULL) {
-            foreach (self::$uncloneableClasses as $class) {
-                if ($original instanceof $class) {
-                    $cloneable = FALSE;
-                    break;
-                }
-            }
-        }
-
-        if ($cloneable === NULL && method_exists($object, 'isCloneable')) {
-            $cloneable = $object->isCloneable();
-        }
-
-        if ($cloneable === NULL && $object->hasMethod('__clone')) {
-            $method    = $object->getMethod('__clone');
-            $cloneable = $method->isPublic();
-        }
-
-        if ($cloneable === NULL) {
-            $cloneable = TRUE;
-        }
-
-        if ($cloneable) {
-            try {
-                return clone $original;
-            } catch (Exception $e) {
-                return $original;
-            }
-        } else {
-            return $original;
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php
deleted file mode 100644
index e6627e1..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php
+++ /dev/null
@@ -1,161 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Mocker for invocations which are sent from
- * PHPUnit_Framework_MockObject_MockObject objects.
- *
- * Keeps track of all expectations and stubs as well as registering
- * identifications for builders.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_InvocationMocker implements PHPUnit_Framework_MockObject_Stub_MatcherCollection, PHPUnit_Framework_MockObject_Invokable, PHPUnit_Framework_MockObject_Builder_Namespace
-{
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher_Invocation[]
-     */
-    protected $matchers = array();
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Builder_Match[]
-     */
-    protected $builderMap = array();
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
-     */
-    public function addMatcher(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        $this->matchers[] = $matcher;
-    }
-
-    /**
-     * @since Method available since Release 1.1.0
-     */
-    public function hasMatchers()
-    {
-        foreach ($this->matchers as $matcher) {
-            if ($matcher->hasMatchers()) {
-                return TRUE;
-            }
-        }
-
-        return FALSE;
-    }
-
-    /**
-     * @param  mixed        $id
-     * @return boolean|null
-     */
-    public function lookupId($id)
-    {
-        if (isset($this->builderMap[$id])) {
-            return $this->builderMap[$id];
-        }
-
-        return NULL;
-    }
-
-    /**
-     * @param  mixed                                      $id
-     * @param  PHPUnit_Framework_MockObject_Builder_Match $builder
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function registerId($id, PHPUnit_Framework_MockObject_Builder_Match $builder)
-    {
-        if (isset($this->builderMap[$id])) {
-            throw new PHPUnit_Framework_Exception(
-              'Match builder with id <' . $id . '> is already registered.'
-            );
-        }
-
-        $this->builderMap[$id] = $builder;
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Matcher_Invocation       $matcher
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return new PHPUnit_Framework_MockObject_Builder_InvocationMocker(
-          $this, $matcher
-        );
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     * @return mixed
-     */
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $exception      = NULL;
-        $hasReturnValue = FALSE;
-
-        if (strtolower($invocation->methodName) == '__tostring') {
-            $returnValue = '';
-        } else {
-            $returnValue = NULL;
-        }
-
-        foreach ($this->matchers as $match) {
-            try {
-                if ($match->matches($invocation)) {
-                    $value = $match->invoked($invocation);
-
-                    if (!$hasReturnValue) {
-                        $returnValue    = $value;
-                        $hasReturnValue = TRUE;
-                    }
-                }
-            } catch (Exception $e) {
-                $exception = $e;
-            }
-        }
-
-        if ($exception !== NULL) {
-            throw $exception;
-        }
-
-        return $returnValue;
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     * @return boolean
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        foreach ($this->matchers as $matcher) {
-            if (!$matcher->matches($invocation)) {
-                return FALSE;
-            }
-        }
-
-        return TRUE;
-    }
-
-    /**
-     * @return boolean
-     */
-    public function verify()
-    {
-        foreach ($this->matchers as $matcher) {
-            $matcher->verify();
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php
deleted file mode 100644
index 30da9b7..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for classes which can be invoked.
- *
- * The invocation will be taken from a mock object and passed to an object
- * of this class.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Invokable extends PHPUnit_Framework_MockObject_Verifiable
-{
-    /**
-     * Invokes the invocation object $invocation so that it can be checked for
-     * expectations or matched against stubs.
-     *
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     *                                                             The invocation object passed from mock object.
-     * @return object
-     */
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation);
-
-    /**
-     * Checks if the invocation matches.
-     *
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     *                                                             The invocation object passed from mock object.
-     * @return boolean
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation);
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php
deleted file mode 100644
index 0443501..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php
+++ /dev/null
@@ -1,282 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Main matcher which defines a full expectation using method, parameter and
- * invocation matchers.
- * This matcher encapsulates all the other matchers and allows the builder to
- * set the specific matchers when the appropriate methods are called (once(),
- * where() etc.).
- *
- * All properties are public so that they can easily be accessed by the builder.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher implements PHPUnit_Framework_MockObject_Matcher_Invocation
-{
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher_Invocation
-     */
-    public $invocationMatcher;
-
-    /**
-     * @var mixed
-     */
-    public $afterMatchBuilderId = NULL;
-
-    /**
-     * @var boolean
-     */
-    public $afterMatchBuilderIsInvoked = FALSE;
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher_MethodName
-     */
-    public $methodNameMatcher = NULL;
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher_Parameters
-     */
-    public $parametersMatcher = NULL;
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Stub
-     */
-    public $stub = NULL;
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher
-     */
-    public function __construct(PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher)
-    {
-        $this->invocationMatcher = $invocationMatcher;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        $list = array();
-
-        if ($this->invocationMatcher !== NULL) {
-            $list[] = $this->invocationMatcher->toString();
-        }
-
-        if ($this->methodNameMatcher !== NULL) {
-            $list[] = 'where ' . $this->methodNameMatcher->toString();
-        }
-
-        if ($this->parametersMatcher !== NULL) {
-            $list[] = 'and ' . $this->parametersMatcher->toString();
-        }
-
-        if ($this->afterMatchBuilderId !== NULL) {
-            $list[] = 'after ' . $this->afterMatchBuilderId;
-        }
-
-        if ($this->stub !== NULL) {
-            $list[] = 'will ' . $this->stub->toString();
-        }
-
-        return join(' ', $list);
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     * @return mixed
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        if ($this->invocationMatcher === NULL) {
-            throw new PHPUnit_Framework_Exception(
-              'No invocation matcher is set'
-            );
-        }
-
-        if ($this->methodNameMatcher === NULL) {
-            throw new PHPUnit_Framework_Exception('No method matcher is set');
-        }
-
-        if ($this->afterMatchBuilderId !== NULL) {
-            $builder = $invocation->object
-                                  ->__phpunit_getInvocationMocker()
-                                  ->lookupId($this->afterMatchBuilderId);
-
-            if (!$builder) {
-                throw new PHPUnit_Framework_Exception(
-                  sprintf(
-                    'No builder found for match builder identification <%s>',
-
-                    $this->afterMatchBuilderId
-                  )
-                );
-            }
-
-            $matcher = $builder->getMatcher();
-
-            if ($matcher && $matcher->invocationMatcher->hasBeenInvoked()) {
-                $this->afterMatchBuilderIsInvoked = TRUE;
-            }
-        }
-
-        $this->invocationMatcher->invoked($invocation);
-
-        try {
-            if ( $this->parametersMatcher !== NULL &&
-                !$this->parametersMatcher->matches($invocation)) {
-                $this->parametersMatcher->verify();
-            }
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-              sprintf(
-                "Expectation failed for %s when %s\n%s",
-
-                $this->methodNameMatcher->toString(),
-                $this->invocationMatcher->toString(),
-                $e->getMessage()
-              ),
-              $e->getComparisonFailure()
-            );
-        }
-
-        if ($this->stub) {
-            return $this->stub->invoke($invocation);
-        }
-
-        return NULL;
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     * @return boolean
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        if ($this->afterMatchBuilderId !== NULL) {
-            $builder = $invocation->object
-                                  ->__phpunit_getInvocationMocker()
-                                  ->lookupId($this->afterMatchBuilderId);
-
-            if (!$builder) {
-                throw new PHPUnit_Framework_Exception(
-                  sprintf(
-                    'No builder found for match builder identification <%s>',
-
-                    $this->afterMatchBuilderId
-                  )
-                );
-            }
-
-            $matcher = $builder->getMatcher();
-
-            if (!$matcher) {
-                return FALSE;
-            }
-
-            if (!$matcher->invocationMatcher->hasBeenInvoked()) {
-                return FALSE;
-            }
-        }
-
-        if ($this->invocationMatcher === NULL) {
-            throw new PHPUnit_Framework_Exception(
-              'No invocation matcher is set'
-            );
-        }
-
-        if ($this->methodNameMatcher === NULL) {
-            throw new PHPUnit_Framework_Exception('No method matcher is set');
-        }
-
-        if (!$this->invocationMatcher->matches($invocation)) {
-            return FALSE;
-        }
-
-        try {
-            if (!$this->methodNameMatcher->matches($invocation)) {
-                return FALSE;
-            }
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-              sprintf(
-                "Expectation failed for %s when %s\n%s",
-
-                $this->methodNameMatcher->toString(),
-                $this->invocationMatcher->toString(),
-                $e->getMessage()
-              ),
-              $e->getComparisonFailure()
-            );
-        }
-
-        return TRUE;
-    }
-
-    /**
-     * @throws PHPUnit_Framework_Exception
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        if ($this->invocationMatcher === NULL) {
-            throw new PHPUnit_Framework_Exception(
-              'No invocation matcher is set'
-            );
-        }
-
-        if ($this->methodNameMatcher === NULL) {
-            throw new PHPUnit_Framework_Exception('No method matcher is set');
-        }
-
-        try {
-            $this->invocationMatcher->verify();
-
-            if ($this->parametersMatcher === NULL) {
-                $this->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_AnyParameters;
-            }
-
-            $invocationIsAny = get_class($this->invocationMatcher) === 'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount';
-            $invocationIsNever = get_class($this->invocationMatcher) === 'PHPUnit_Framework_MockObject_Matcher_InvokedCount' && $this->invocationMatcher->isNever();
-            if (!$invocationIsAny && !$invocationIsNever) {
-                $this->parametersMatcher->verify();
-            }
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-              sprintf(
-                "Expectation failed for %s when %s.\n%s",
-
-                $this->methodNameMatcher->toString(),
-                $this->invocationMatcher->toString(),
-                PHPUnit_Framework_TestFailure::exceptionToString($e)
-              )
-            );
-        }
-    }
-
-    /**
-     * @since Method available since Release 1.2.4
-     */
-    public function hasMatchers()
-    {
-        if ($this->invocationMatcher !== NULL &&
-            !$this->invocationMatcher instanceof PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount) {
-            return TRUE;
-        }
-
-        return FALSE;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php
deleted file mode 100644
index 8d0b00e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method has been invoked zero or more
- * times. This matcher will always match.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
-{
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked zero or more times';
-    }
-
-    /**
-     */
-    public function verify()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php
deleted file mode 100644
index ae6cc25..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which allows any parameters to a method.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_AnyParameters extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
-{
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'with any parameters';
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     * @return boolean
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        return TRUE;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php
deleted file mode 100644
index e7b577c..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which looks for sets of specific parameters in the invocations.
- *
- * Checks the parameters of the incoming invocations, the parameter list is
- * checked against the defined constraints in $parameters. If the constraint
- * is met it will return true in matches().
- *
- * It takes a list of match groups and and increases a call index after each invocation.
- * So the first invocation uses the first group of constraints, the second the next and so on.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- */
-class PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters
-  extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
-{
-
-  /**
-   * @var array
-   */
-  private $_parameterGroups = array();
-
-  /**
-   * @var array
-   */
-  private $_invocations = array();
-
-  /**
-   * @param array $parameterGroups
-   */
-  public function __construct(array $parameterGroups)
-  {
-      foreach ($parameterGroups as $index => $parameters) {
-          foreach ($parameters as $parameter) {
-              if (!($parameter instanceof \PHPUnit_Framework_Constraint))
-              {
-                  $parameter = new \PHPUnit_Framework_Constraint_IsEqual($parameter);
-              }
-              $this->_parameterGroups[$index][] = $parameter;
-          }
-      }
-  }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        $text = 'with consecutive parameters';
-
-        return $text;
-    }
-
-  /**
-   * @param PHPUnit_Framework_MockObject_Invocation $invocation
-   * @return bool
-   */
-  public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-  {
-      $this->_invocations[] = $invocation;
-      $callIndex = count($this->_invocations) - 1;
-      $this->verifyInvocation($invocation, $callIndex);
-      return FALSE;
-  }
-
-  public function verify()
-  {
-      foreach ($this->_invocations as $callIndex => $invocation) {
-        $this->verifyInvocation($invocation, $callIndex);
-      }
-  }
-
-  /**
-   * Verify a single invocation
-   *
-   * @param PHPUnit_Framework_MockObject_Invocation $invocation
-   * @param int $callIndex
-   * @throws PHPUnit_Framework_ExpectationFailedException
-   */
-  private function verifyInvocation(PHPUnit_Framework_MockObject_Invocation $invocation, $callIndex)
-  {
-
-      if (isset($this->_parameterGroups[$callIndex])) {
-          $parameters = $this->_parameterGroups[$callIndex];
-      } else {
-        // no parameter assertion for this call index
-        return;
-      }
-
-      if ($invocation === NULL) {
-          throw new PHPUnit_Framework_ExpectationFailedException(
-            'Mocked method does not exist.'
-          );
-      }
-
-      if (count($invocation->parameters) < count($parameters)) {
-          throw new PHPUnit_Framework_ExpectationFailedException(
-              sprintf(
-                'Parameter count for invocation %s is too low.',
-                $invocation->toString()
-              )
-          );
-      }
-
-      foreach ($parameters as $i => $parameter) {
-          $parameter->evaluate(
-              $invocation->parameters[$i],
-              sprintf(
-                'Parameter %s for invocation #%d %s does not match expected ' .
-                'value.',
-                $i,
-                $callIndex,
-                $invocation->toString()
-              )
-          );
-      }
-  }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php
deleted file mode 100644
index 470cb29..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for classes which matches an invocation based on its
- * method name, argument, order or call count.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Matcher_Invocation extends PHPUnit_Framework_SelfDescribing, PHPUnit_Framework_MockObject_Verifiable
-{
-    /**
-     * Registers the invocation $invocation in the object as being invoked.
-     * This will only occur after matches() returns true which means the
-     * current invocation is the correct one.
-     *
-     * The matcher can store information from the invocation which can later
-     * be checked in verify(), or it can check the values directly and throw
-     * and exception if an expectation is not met.
-     *
-     * If the matcher is a stub it will also have a return value.
-     *
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     *                                                             Object containing information on a mocked or stubbed method which
-     *                                                             was invoked.
-     * @return mixed
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation);
-
-    /**
-     * Checks if the invocation $invocation matches the current rules. If it does
-     * the matcher will get the invoked() method called which should check if an
-     * expectation is met.
-     *
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     *                                                             Object containing information on a mocked or stubbed method which
-     *                                                             was invoked.
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation);
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php
deleted file mode 100644
index a4ffe2a..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method was invoked at a certain index.
- *
- * If the expected index number does not match the current invocation index it
- * will not match which means it skips all method and parameter matching. Only
- * once the index is reached will the method and parameter start matching and
- * verifying.
- *
- * If the index is never reached it will throw an exception in index.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex implements PHPUnit_Framework_MockObject_Matcher_Invocation
-{
-    /**
-     * @var integer
-     */
-    protected $sequenceIndex;
-
-    /**
-     * @var integer
-     */
-    protected $currentIndex = -1;
-
-    /**
-     * @param integer $sequenceIndex
-     */
-    public function __construct($sequenceIndex)
-    {
-        $this->sequenceIndex = $sequenceIndex;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked at sequence index ' . $this->sequenceIndex;
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     * @return boolean
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $this->currentIndex++;
-
-        return $this->currentIndex == $this->sequenceIndex;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-    }
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        if ($this->currentIndex < $this->sequenceIndex) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-              sprintf(
-                'The expected invocation at index %s was never reached.',
-
-                $this->sequenceIndex
-              )
-            );
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php
deleted file mode 100644
index b8caca3..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method has been invoked at least
- * N times.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 2.2.0
- */
-class PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
-{
-    /**
-     * @var integer
-     */
-    private $requiredInvocations;
-
-    /**
-     * @param integer $requiredInvocations
-     */
-    public function __construct($requiredInvocations)
-    {
-        $this->requiredInvocations = $requiredInvocations;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked at least ' . $this->requiredInvocations . ' times';
-    }
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        $count = $this->getInvocationCount();
-
-        if ($count < $this->requiredInvocations) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                'Expected invocation at least ' . $this->requiredInvocations .
-                ' times but it occured ' . $count . ' time(s).'
-            );
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php
deleted file mode 100644
index a2a9301..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method has been invoked at least one
- * time.
- *
- * If the number of invocations is 0 it will throw an exception in verify.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
-{
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked at least once';
-    }
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        $count = $this->getInvocationCount();
-
-        if ($count < 1) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-              'Expected invocation at least once but it never occured.'
-            );
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php
deleted file mode 100644
index 3a01596..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method has been invoked at least
- * N times.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 2.2.0
- */
-class PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
-{
-    /**
-     * @var integer
-     */
-    private $allowedInvocations;
-
-    /**
-     * @param integer $allowedInvocations
-     */
-    public function __construct($allowedInvocations)
-    {
-        $this->allowedInvocations = $allowedInvocations;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked at most ' . $this->allowedInvocations . ' times';
-    }
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        $count = $this->getInvocationCount();
-
-        if ($count > $this->allowedInvocations) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                'Expected invocation at most ' . $this->allowedInvocations .
-                ' times but it occured ' . $count . ' time(s).'
-            );
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php
deleted file mode 100644
index d98eb76..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method has been invoked a certain amount
- * of times.
- * If the number of invocations exceeds the value it will immediately throw an
- * exception,
- * If the number is less it will later be checked in verify() and also throw an
- * exception.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_InvokedCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
-{
-    /**
-     * @var integer
-     */
-    protected $expectedCount;
-
-    /**
-     * @param integer $expectedCount
-     */
-    public function __construct($expectedCount)
-    {
-        $this->expectedCount = $expectedCount;
-    }
-
-    /**
-     * @return boolean
-     */
-    public function isNever()
-    {
-        return $this->expectedCount == 0;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked ' . $this->expectedCount . ' time(s)';
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation      $invocation
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        parent::invoked($invocation);
-
-        $count = $this->getInvocationCount();
-
-        if ($count > $this->expectedCount) {
-            $message = $invocation->toString() . ' ';
-
-            switch ($this->expectedCount) {
-                case 0: {
-                    $message .= 'was not expected to be called.';
-                }
-                break;
-
-                case 1: {
-                    $message .= 'was not expected to be called more than once.';
-                }
-                break;
-
-                default: {
-                    $message .= sprintf(
-                      'was not expected to be called more than %d times.',
-
-                      $this->expectedCount
-                    );
-                }
-            }
-
-            throw new PHPUnit_Framework_ExpectationFailedException($message);
-        }
-    }
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        $count = $this->getInvocationCount();
-
-        if ($count !== $this->expectedCount) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-              sprintf(
-                'Method was expected to be called %d times, ' .
-                'actually called %d times.',
-
-                $this->expectedCount,
-                $count
-              )
-            );
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php
deleted file mode 100644
index 1548ab3..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Records invocations and provides convenience methods for checking them later
- * on.
- * This abstract class can be implemented by matchers which needs to check the
- * number of times an invocation has occured.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- * @abstract
- */
-abstract class PHPUnit_Framework_MockObject_Matcher_InvokedRecorder implements PHPUnit_Framework_MockObject_Matcher_Invocation
-{
-    /**
-     * @var PHPUnit_Framework_MockObject_Invocation[]
-     */
-    protected $invocations = array();
-
-    /**
-     * @return integer
-     */
-    public function getInvocationCount()
-    {
-        return count($this->invocations);
-    }
-
-    /**
-     * @return PHPUnit_Framework_MockObject_Invocation[]
-     */
-    public function getInvocations()
-    {
-        return $this->invocations;
-    }
-
-    /**
-     * @return boolean
-     */
-    public function hasBeenInvoked()
-    {
-        return count($this->invocations) > 0;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $this->invocations[] = $invocation;
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     * @return boolean
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        return TRUE;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php
deleted file mode 100644
index 11fc499..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which looks for a specific method name in the invocations.
- *
- * Checks the method name all incoming invocations, the name is checked against
- * the defined constraint $constraint. If the constraint is met it will return
- * true in matches().
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_MethodName extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
-{
-    /**
-     * @var PHPUnit_Framework_Constraint
-     */
-    protected $constraint;
-
-    /**
-     * @param  PHPUnit_Framework_Constraint|string
-     * @throws PHPUnit_Framework_Constraint
-     */
-    public function __construct($constraint)
-    {
-        if (!$constraint instanceof PHPUnit_Framework_Constraint) {
-            if (!is_string($constraint)) {
-                throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-            }
-
-            $constraint = new PHPUnit_Framework_Constraint_IsEqual(
-              $constraint, 0, 10, FALSE, TRUE
-            );
-        }
-
-        $this->constraint = $constraint;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'method name ' . $this->constraint->toString();
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     * @return boolean
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        return $this->constraint->evaluate($invocation->methodName, '', TRUE);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php
deleted file mode 100644
index 4922e62..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which looks for specific parameters in the invocations.
- *
- * Checks the parameters of all incoming invocations, the parameter list is
- * checked against the defined constraints in $parameters. If the constraint
- * is met it will return true in matches().
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_Parameters extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
-{
-    /**
-     * @var array
-     */
-    protected $parameters = array();
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Invocation
-     */
-    protected $invocation;
-
-    /**
-     * @param array $parameters
-     */
-    public function __construct(array $parameters)
-    {
-        foreach ($parameters as $parameter) {
-            if (!($parameter instanceof PHPUnit_Framework_Constraint)) {
-                $parameter = new PHPUnit_Framework_Constraint_IsEqual(
-                  $parameter
-                );
-            }
-
-            $this->parameters[] = $parameter;
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        $text = 'with parameter';
-
-        foreach ($this->parameters as $index => $parameter) {
-            if ($index > 0) {
-                $text .= ' and';
-            }
-
-            $text .= ' ' . $index . ' ' . $parameter->toString();
-        }
-
-        return $text;
-    }
-
-    /**
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     * @return boolean
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $this->invocation = $invocation;
-        return $this->verify();
-    }
-
-    /**
-     * Checks if the invocation $invocation matches the current rules. If it
-     * does the matcher will get the invoked() method called which should check
-     * if an expectation is met.
-     *
-     * @param  PHPUnit_Framework_MockObject_Invocation      $invocation
-     *                                                                  Object containing information on a mocked or stubbed method which
-     *                                                                  was invoked.
-     * @return bool
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        if ($this->invocation === NULL) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-              'Mocked method does not exist.'
-            );
-        }
-
-        if (count($this->invocation->parameters) < count($this->parameters)) {
-            $message = 'Parameter count for invocation %s is too low.';
-
-            // The user called `->with($this->anything())`, but may have meant
-            // `->withAnyParameters()`.
-            //
-            // @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/199
-            if (count($this->parameters) === 1 &&
-                get_class($this->parameters[0]) === 'PHPUnit_Framework_Constraint_IsAnything') {
-                $message .= "\nTo allow 0 or more parameters with any value, omit ->with() or use ->withAnyParameters() instead.";
-            }
-
-            throw new PHPUnit_Framework_ExpectationFailedException(
-              sprintf($message, $this->invocation->toString())
-            );
-        }
-
-        foreach ($this->parameters as $i => $parameter) {
-            $parameter->evaluate(
-              $this->invocation->parameters[$i],
-              sprintf(
-                'Parameter %s for invocation %s does not match expected ' .
-                'value.',
-
-                $i,
-                $this->invocation->toString()
-              )
-            );
-        }
-
-        return true;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php
deleted file mode 100644
index fd8fa7a..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which does not care about previous state from earlier
- * invocations.
- *
- * This abstract class can be implemented by matchers which does not care about
- * state but only the current run-time value of the invocation itself.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- * @abstract
- */
-abstract class PHPUnit_Framework_MockObject_Matcher_StatelessInvocation implements PHPUnit_Framework_MockObject_Matcher_Invocation
-{
-    /**
-     * Registers the invocation $invocation in the object as being invoked.
-     * This will only occur after matches() returns true which means the
-     * current invocation is the correct one.
-     *
-     * The matcher can store information from the invocation which can later
-     * be checked in verify(), or it can check the values directly and throw
-     * and exception if an expectation is not met.
-     *
-     * If the matcher is a stub it will also have a return value.
-     *
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     *                                                             Object containing information on a mocked or stubbed method which
-     *                                                             was invoked.
-     * @return mixed
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-    }
-
-    /**
-     * Checks if the invocation $invocation matches the current rules. If it does
-     * the matcher will get the invoked() method called which should check if an
-     * expectation is met.
-     *
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     *                                                             Object containing information on a mocked or stubbed method which
-     *                                                             was invoked.
-     * @return bool
-     */
-    public function verify()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php
deleted file mode 100644
index f59c23d..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php
+++ /dev/null
@@ -1,328 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Implementation of the Builder pattern for Mock objects.
- *
- * @package    PHPUnit_MockObject
- * @author     Giorgio Sironi <piccoloprincipeazzurro@gmail.com>
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      File available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_MockBuilder
-{
-    /**
-     * @var PHPUnit_Framework_TestCase
-     */
-    private $testCase;
-
-    /**
-     * @var string
-     */
-    private $type;
-
-    /**
-     * @var array
-     */
-    private $methods = array();
-
-    /**
-     * @var string
-     */
-    private $mockClassName = '';
-
-    /**
-     * @var array
-     */
-    private $constructorArgs = array();
-
-    /**
-     * @var boolean
-     */
-    private $originalConstructor = TRUE;
-
-    /**
-     * @var boolean
-     */
-    private $originalClone = TRUE;
-
-    /**
-     * @var boolean
-     */
-    private $autoload = TRUE;
-
-    /**
-     * @var boolean
-     */
-    private $cloneArguments = FALSE;
-
-    /**
-     * @var boolean
-     */
-    private $callOriginalMethods = FALSE;
-
-    /**
-     * @var object
-     */
-    private $proxyTarget = NULL;
-
-    /**
-     * @param PHPUnit_Framework_TestCase $testCase
-     * @param array|string               $type
-     */
-    public function __construct(PHPUnit_Framework_TestCase $testCase, $type)
-    {
-        $this->testCase = $testCase;
-        $this->type     = $type;
-    }
-
-    /**
-     * Creates a mock object using a fluent interface.
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     */
-    public function getMock()
-    {
-        return $this->testCase->getMock(
-          $this->type,
-          $this->methods,
-          $this->constructorArgs,
-          $this->mockClassName,
-          $this->originalConstructor,
-          $this->originalClone,
-          $this->autoload,
-          $this->cloneArguments,
-          $this->callOriginalMethods,
-          $this->proxyTarget
-        );
-    }
-
-    /**
-     * Creates a mock object for an abstract class using a fluent interface.
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     */
-    public function getMockForAbstractClass()
-    {
-        return $this->testCase->getMockForAbstractClass(
-          $this->type,
-          $this->constructorArgs,
-          $this->mockClassName,
-          $this->originalConstructor,
-          $this->originalClone,
-          $this->autoload,
-          $this->methods,
-          $this->cloneArguments
-        );
-    }
-
-    /**
-     * Creates a mock object for a trait using a fluent interface.
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     */
-    public function getMockForTrait()
-    {
-        return $this->testCase->getMockForTrait(
-          $this->type,
-          $this->constructorArgs,
-          $this->mockClassName,
-          $this->originalConstructor,
-          $this->originalClone,
-          $this->autoload,
-          $this->methods,
-          $this->cloneArguments
-        );
-    }
-
-    /**
-     * Specifies the subset of methods to mock. Default is to mock all of them.
-     *
-     * @param  array|null                               $methods
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function setMethods($methods)
-    {
-        $this->methods = $methods;
-
-        return $this;
-    }
-
-    /**
-     * Specifies the arguments for the constructor.
-     *
-     * @param  array                                    $args
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function setConstructorArgs(array $args)
-    {
-        $this->constructorArgs = $args;
-
-        return $this;
-    }
-
-    /**
-     * Specifies the name for the mock class.
-     *
-     * @param  string                                   $name
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function setMockClassName($name)
-    {
-        $this->mockClassName = $name;
-
-        return $this;
-    }
-
-    /**
-     * Disables the invocation of the original constructor.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function disableOriginalConstructor()
-    {
-        $this->originalConstructor = FALSE;
-
-        return $this;
-    }
-
-    /**
-     * Enables the invocation of the original constructor.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     * @since  Method available since Release 1.2.0
-     */
-    public function enableOriginalConstructor()
-    {
-        $this->originalConstructor = TRUE;
-
-        return $this;
-    }
-
-    /**
-     * Disables the invocation of the original clone constructor.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function disableOriginalClone()
-    {
-        $this->originalClone = FALSE;
-
-        return $this;
-    }
-
-    /**
-     * Enables the invocation of the original clone constructor.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     * @since  Method available since Release 1.2.0
-     */
-    public function enableOriginalClone()
-    {
-        $this->originalClone = TRUE;
-
-        return $this;
-    }
-
-    /**
-     * Disables the use of class autoloading while creating the mock object.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function disableAutoload()
-    {
-        $this->autoload = FALSE;
-
-        return $this;
-    }
-
-    /**
-     * Enables the use of class autoloading while creating the mock object.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     * @since  Method available since Release 1.2.0
-     */
-    public function enableAutoload()
-    {
-        $this->autoload = TRUE;
-
-        return $this;
-    }
-
-    /**
-     * Disables the cloning of arguments passed to mocked methods.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     * @since  Method available since Release 1.2.0
-     */
-    public function disableArgumentCloning()
-    {
-        $this->cloneArguments = FALSE;
-
-        return $this;
-    }
-
-    /**
-     * Enables the cloning of arguments passed to mocked methods.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     * @since  Method available since Release 1.2.0
-     */
-    public function enableArgumentCloning()
-    {
-        $this->cloneArguments = TRUE;
-
-        return $this;
-    }
-
-    /**
-     * Enables the invocation of the original methods.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     * @since  Method available since Release 2.0.0
-     */
-    public function enableProxyingToOriginalMethods()
-    {
-        $this->callOriginalMethods = TRUE;
-
-        return $this;
-    }
-
-    /**
-     * Disables the invocation of the original methods.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     * @since  Method available since Release 2.0.0
-     */
-    public function disableProxyingToOriginalMethods()
-    {
-        $this->callOriginalMethods = FALSE;
-        $this->proxyTarget         = NULL;
-
-        return $this;
-    }
-
-    /**
-     * Sets the proxy target.
-     *
-     * @param  object                                   $object
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     * @since  Method available since Release 2.0.0
-     */
-    public function setProxyTarget($object)
-    {
-        $this->proxyTarget = $object;
-
-        return $this;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php
deleted file mode 100644
index 5501762..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for all mock objects which are generated by
- * PHPUnit_Framework_MockObject_MockBuilder.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_MockObject /*extends PHPUnit_Framework_MockObject_Verifiable*/
-{
-    /**
-     * Registers a new expectation in the mock object and returns the match
-     * object which can be infused with further details.
-     *
-     * @param  PHPUnit_Framework_MockObject_Matcher_Invocation       $matcher
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher);
-
-    /**
-     * @return PHPUnit_Framework_MockObject_InvocationMocker
-     * @since  Method available since Release 2.0.0
-     */
-    public function __phpunit_setOriginalObject($originalObject);
-
-    /**
-     * @return PHPUnit_Framework_MockObject_InvocationMocker
-     */
-    public function __phpunit_getInvocationMocker();
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function __phpunit_verify();
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php
deleted file mode 100644
index 4e3d06e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An object that stubs the process of a normal method for a mock object.
- *
- * The stub object will replace the code for the stubbed method and return a
- * specific value instead of the original value.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Stub extends PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * Fakes the processing of the invocation $invocation by returning a
-     * specific value.
-     *
-     * @param  PHPUnit_Framework_MockObject_Invocation $invocation
-     *                                                             The invocation which was mocked and matched by the current method
-     *                                                             and argument matchers.
-     * @return mixed
-     */
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation);
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php
deleted file mode 100644
index 05c0faa..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning a user-defined stack of values.
- *
- * @package    PHPUnit_MockObject
- * @author     Patrick Müller <elias0@gmx.net>
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls implements PHPUnit_Framework_MockObject_Stub
-{
-    protected $stack;
-    protected $value;
-
-    public function __construct($stack)
-    {
-        $this->stack = $stack;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $this->value = array_shift($this->stack);
-
-        if ($this->value instanceof PHPUnit_Framework_MockObject_Stub) {
-            $this->value = $this->value->invoke($invocation);
-        }
-
-        return $this->value;
-    }
-
-    public function toString()
-    {
-        return sprintf(
-          'return user-specified value %s',
-
-          PHPUnit_Util_Type::export($this->value)
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php
deleted file mode 100644
index 9203365..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by raising a user-defined exception.
- *
- * @package    PHPUnit_MockObject
- * @author     Oliver Schlicht <o.schlicht@bitExpert.de>
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Stub_Exception implements PHPUnit_Framework_MockObject_Stub
-{
-    protected $exception;
-
-    public function __construct(Exception $exception)
-    {
-        $this->exception = $exception;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        throw $this->exception;
-    }
-
-    public function toString()
-    {
-        return sprintf(
-          'raise user-specified exception %s',
-
-          PHPUnit_Util_Type::export($this->exception)
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php
deleted file mode 100644
index 254c164..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning a user-defined value.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Stub_MatcherCollection
-{
-    /**
-     * Adds a new matcher to the collection which can be used as an expectation
-     * or a stub.
-     *
-     * @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
-     *                                                                 Matcher for invocations to mock objects.
-     */
-    public function addMatcher(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher);
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php
deleted file mode 100644
index 9aea78e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning a user-defined value.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Stub_Return implements PHPUnit_Framework_MockObject_Stub
-{
-    protected $value;
-
-    public function __construct($value)
-    {
-        $this->value = $value;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        return $this->value;
-    }
-
-    public function toString()
-    {
-        return sprintf(
-          'return user-specified value %s',
-
-          PHPUnit_Util_Type::export($this->value)
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php
deleted file mode 100644
index c84f962..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning an argument that was passed to the mocked method.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Stub_ReturnArgument extends PHPUnit_Framework_MockObject_Stub_Return
-{
-    protected $argumentIndex;
-
-    public function __construct($argumentIndex)
-    {
-        $this->argumentIndex = $argumentIndex;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        if (isset($invocation->parameters[$this->argumentIndex])) {
-            return $invocation->parameters[$this->argumentIndex];
-        } else {
-            return NULL;
-        }
-    }
-
-    public function toString()
-    {
-        return sprintf('return argument #%d', $this->argumentIndex);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php
deleted file mode 100644
index 34318e6..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Stub_ReturnCallback implements PHPUnit_Framework_MockObject_Stub
-{
-    protected $callback;
-
-    public function __construct($callback)
-    {
-        $this->callback = $callback;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        return call_user_func_array($this->callback, $invocation->parameters);
-    }
-
-    public function toString()
-    {
-        if (is_array($this->callback)) {
-            if (is_object($this->callback[0])) {
-                $class = get_class($this->callback[0]);
-                $type  = '->';
-            } else {
-                $class = $this->callback[0];
-                $type  = '::';
-            }
-
-            return sprintf(
-              'return result of user defined callback %s%s%s() with the ' .
-              'passed arguments',
-
-              $class,
-              $type,
-              $this->callback[1]
-            );
-        } else {
-            return 'return result of user defined callback ' . $this->callback .
-                   ' with the passed arguments';
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php
deleted file mode 100644
index 8cc3473..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning the current object.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Kris Wallsmith <kris.wallsmith@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.1.0
- */
-class PHPUnit_Framework_MockObject_Stub_ReturnSelf implements PHPUnit_Framework_MockObject_Stub
-{
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        if (!$invocation instanceof PHPUnit_Framework_MockObject_Invocation_Object) {
-            throw new PHPUnit_Framework_Exception(
-                'The current object can only be returned when mocking an ' .
-                'object, not a static class.'
-            );
-        }
-
-        return $invocation->object;
-    }
-
-    public function toString()
-    {
-        return 'return the current object';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php
deleted file mode 100644
index ddda8e5..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning a value from a map.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Class available since Release 1.1.0
- */
-class PHPUnit_Framework_MockObject_Stub_ReturnValueMap implements PHPUnit_Framework_MockObject_Stub
-{
-    protected $valueMap;
-
-    public function __construct(array $valueMap)
-    {
-        $this->valueMap = $valueMap;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $parameterCount = count($invocation->parameters);
-
-        foreach ($this->valueMap as $map) {
-            if (!is_array($map) || $parameterCount != count($map) - 1) {
-                continue;
-            }
-
-            $return = array_pop($map);
-            if ($invocation->parameters === $map) {
-                return $return;
-            }
-        }
-
-        return NULL;
-    }
-
-    public function toString()
-    {
-        return 'return value from a map';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php b/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php
deleted file mode 100644
index 376b7fe..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for classes which must verify a given expectation.
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Verifiable
-{
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify();
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php b/core/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php
deleted file mode 100644
index 8c0a08e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-class Framework_MockObject_GeneratorTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var PHPUnit_Framework_MockObject_Generator
-     */
-    protected $generator;
-
-    protected function setUp()
-    {
-        $this->generator = new PHPUnit_Framework_MockObject_Generator;
-    }
-
-    /**
-     * @covers PHPUnit_Framework_MockObject_Generator::getMock
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetMockFailsWhenInvalidFunctionNameIsPassedInAsAFunctionToMock()
-    {
-        $this->generator->getMock('StdClass', array(0));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_MockObject_Generator::getMock
-     */
-    public function testGetMockCanCreateNonExistingFunctions()
-    {
-        $mock = $this->generator->getMock('StdClass', array('testFunction'));
-        $this->assertTrue(method_exists($mock, 'testFunction'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_MockObject_Generator::getMock
-     * @expectedException PHPUnit_Framework_MockObject_RuntimeException
-     * @expectedExceptionMessage duplicates: "foo, foo"
-     */
-    public function testGetMockGeneratorFails()
-    {
-        $mock = $this->generator->getMock('StdClass', array('foo', 'foo'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_MockObject_Generator::getMockForAbstractClass
-     */
-    public function testGetMockForAbstractClassDoesNotFailWhenFakingInterfaces()
-    {
-        $mock = $this->generator->getMockForAbstractClass('Countable');
-        $this->assertTrue(method_exists($mock, 'count'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_MockObject_Generator::getMockForAbstractClass
-     */
-    public function testGetMockForAbstractClassStubbingAbstractClass()
-    {
-        $mock = $this->generator->getMockForAbstractClass('AbstractMockTestClass');
-        $this->assertTrue(method_exists($mock, 'doSomething'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_MockObject_Generator::getMockForAbstractClass
-     */
-    public function testGetMockForAbstractClassWithNonExistentMethods()
-    {
-        $mock = $this->generator->getMockForAbstractClass(
-            'AbstractMockTestClass', array(), '',  true,
-            true, true, array('nonexistentMethod')
-        );
-
-        $this->assertTrue(method_exists($mock, 'nonexistentMethod'));
-        $this->assertTrue(method_exists($mock, 'doSomething'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_MockObject_Generator::getMockForAbstractClass
-     */
-    public function testGetMockForAbstractClassShouldCreateStubsOnlyForAbstractMethodWhenNoMethodsWereInformed()
-    {
-        $mock = $this->generator->getMockForAbstractClass('AbstractMockTestClass');
-
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->willReturn('testing');
-
-        $this->assertEquals('testing', $mock->doSomething());
-        $this->assertEquals(1, $mock->returnAnything());
-    }
-
-    /**
-     * @dataProvider getMockForAbstractClassExpectsInvalidArgumentExceptionDataprovider
-     * @covers PHPUnit_Framework_MockObject_Generator::getMockForAbstractClass
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetMockForAbstractClassExpectingInvalidArgumentException($className, $mockClassName)
-    {
-        $mock = $this->generator->getMockForAbstractClass($className, array(), $mockClassName);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_MockObject_Generator::getMockForAbstractClass
-     * @expectedException PHPUnit_Framework_MockObject_RuntimeException
-     */
-    public function testGetMockForAbstractClassAbstractClassDoesNotExist()
-    {
-        $mock = $this->generator->getMockForAbstractClass('Tux');
-    }
-
-    /**
-     * Dataprovider for test "testGetMockForAbstractClassExpectingInvalidArgumentException"
-     */
-    public static function getMockForAbstractClassExpectsInvalidArgumentExceptionDataprovider()
-    {
-        return array(
-            'className not a string' => array(array(), ''),
-            'mockClassName not a string' => array('Countable', new StdClass),
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_MockObject_Generator::getMockForTrait
-     * @requires PHP 5.4.0
-     */
-    public function testGetMockForTraitWithNonExistentMethodsAndNonAbstractMethods()
-    {
-        $mock = $this->generator->getMockForTrait(
-            'AbstractTrait', array(), '',  true,
-            true, true, array('nonexistentMethod')
-        );
-
-        $this->assertTrue(method_exists($mock, 'nonexistentMethod'));
-        $this->assertTrue(method_exists($mock, 'doSomething'));
-        $this->assertTrue($mock->mockableMethod());
-        $this->assertTrue($mock->anotherMockableMethod());
-    }
-
-    /**
-     * @covers   PHPUnit_Framework_MockObject_Generator::getMockForTrait
-     * @requires PHP 5.4.0
-     */
-    public function testGetMockForTraitStubbingAbstractMethod()
-    {
-        $mock = $this->generator->getMockForTrait('AbstractTrait');
-        $this->assertTrue(method_exists($mock, 'doSomething'));
-    }
-
-    /**
-     * @requires PHP 5.4.0
-     */
-    public function testGetMockForSingletonWithReflectionSuccess()
-    {
-        // Probably, this should be moved to tests/autoload.php
-        require_once __DIR__ . '/_fixture/SingletonClass.php';
-
-        $mock = $this->generator->getMock('SingletonClass', array('doSomething'), array(), '', false);
-        $this->assertInstanceOf('SingletonClass', $mock);
-    }
-
-    /**
-     * Same as "testGetMockForSingletonWithReflectionSuccess", but we expect
-     * warning for PHP < 5.4.0 since PHPUnit will try to execute private __wakeup
-     * on unserialize
-     */
-    public function testGetMockForSingletonWithUnserializeFail()
-    {
-        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
-            $this->markTestSkipped('Only for PHP < 5.4.0');
-        }
-
-        $this->setExpectedException('PHPUnit_Framework_MockObject_RuntimeException');
-
-        // Probably, this should be moved to tests/autoload.php
-        require_once __DIR__ . '/_fixture/SingletonClass.php';
-
-        $mock = $this->generator->getMock('SingletonClass', array('doSomething'), array(), '', false);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php b/core/vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php
deleted file mode 100644
index b5a6bb9..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit_MockObject
- * @author     Giorgio Sironi <piccoloprincipeazzurro@gmail.com>
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://github.com/sebastianbergmann/phpunit-mock-objects
- * @since      File available since Release 1.0.0
- */
-class Framework_MockBuilderTest extends PHPUnit_Framework_TestCase
-{
-    public function testMockBuilderRequiresClassName()
-    {
-        $spec = $this->getMockBuilder('Mockable');
-        $mock = $spec->getMock();
-        $this->assertTrue($mock instanceof Mockable);
-    }
-
-    public function testByDefaultMocksAllMethods()
-    {
-        $spec = $this->getMockBuilder('Mockable');
-        $mock = $spec->getMock();
-        $this->assertNull($mock->mockableMethod());
-        $this->assertNull($mock->anotherMockableMethod());
-    }
-
-    public function testMethodsToMockCanBeSpecified()
-    {
-        $spec = $this->getMockBuilder('Mockable');
-        $spec->setMethods(array('mockableMethod'));
-        $mock = $spec->getMock();
-        $this->assertNull($mock->mockableMethod());
-        $this->assertTrue($mock->anotherMockableMethod());
-    }
-
-    public function testByDefaultDoesNotPassArgumentsToTheConstructor()
-    {
-        $spec = $this->getMockBuilder('Mockable');
-        $mock = $spec->getMock();
-        $this->assertEquals(array(NULL, NULL), $mock->constructorArgs);
-    }
-
-    public function testMockClassNameCanBeSpecified()
-    {
-        $spec = $this->getMockBuilder('Mockable');
-        $spec->setMockClassName('ACustomClassName');
-        $mock = $spec->getMock();
-        $this->assertTrue($mock instanceof ACustomClassName);
-    }
-
-    public function testConstructorArgumentsCanBeSpecified()
-    {
-        $spec = $this->getMockBuilder('Mockable');
-        $spec->setConstructorArgs($expected = array(23, 42));
-        $mock = $spec->getMock();
-        $this->assertEquals($expected, $mock->constructorArgs);
-    }
-
-    public function testOriginalConstructorCanBeDisabled()
-    {
-        $spec = $this->getMockBuilder('Mockable');
-        $spec->disableOriginalConstructor();
-        $mock = $spec->getMock();
-        $this->assertNull($mock->constructorArgs);
-    }
-
-    public function testByDefaultOriginalCloneIsPreserved()
-    {
-        $spec = $this->getMockBuilder('Mockable');
-        $mock = $spec->getMock();
-        $cloned = clone $mock;
-        $this->assertTrue($cloned->cloned);
-    }
-
-    public function testOriginalCloneCanBeDisabled()
-    {
-        $spec = $this->getMockBuilder('Mockable');
-        $spec->disableOriginalClone();
-        $mock = $spec->getMock();
-        $mock->cloned = FALSE;
-        $cloned = clone $mock;
-        $this->assertFalse($cloned->cloned);
-    }
-
-    public function testCallingAutoloadCanBeDisabled()
-    {
-        // it is not clear to me how to test this nor the difference
-        // between calling it or not
-        $this->markTestIncomplete();
-    }
-
-    public function testProvidesAFluentInterface()
-    {
-        $spec = $this->getMockBuilder('Mockable')
-                     ->setMethods(array('mockableMethod'))
-                     ->setConstructorArgs(array())
-                     ->setMockClassName('DummyClassName')
-                     ->disableOriginalConstructor()
-                     ->disableOriginalClone()
-                     ->disableAutoload();
-        $this->assertTrue($spec instanceof PHPUnit_Framework_MockObject_MockBuilder);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/ObjectTest.php b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/ObjectTest.php
deleted file mode 100644
index 110ee75..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/ObjectTest.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-class Framework_MockObject_Invocation_ObjectTest extends PHPUnit_Framework_TestCase
-{
-    public function testConstructorRequiresClassAndMethodAndParametersAndObject()
-    {
-        new PHPUnit_Framework_MockObject_Invocation_Object(
-            'FooClass',
-            'FooMethod',
-            array('an_argument'),
-            new StdClass);
-    }
-
-    public function testAllowToGetClassNameSetInConstructor()
-    {
-        $invocation = new PHPUnit_Framework_MockObject_Invocation_Object(
-            'FooClass',
-            'FooMethod',
-            array('an_argument'),
-            new StdClass);
-
-        $this->assertSame('FooClass', $invocation->className);
-    }
-
-    public function testAllowToGetMethodNameSetInConstructor()
-    {
-        $invocation = new PHPUnit_Framework_MockObject_Invocation_Object(
-            'FooClass',
-            'FooMethod',
-            array('an_argument'),
-            new StdClass);
-
-        $this->assertSame('FooMethod', $invocation->methodName);
-    }
-
-    public function testAllowToGetObjectSetInConstructor()
-    {
-        $expectedObject = new StdClass;
-
-        $invocation = new PHPUnit_Framework_MockObject_Invocation_Object(
-            'FooClass',
-            'FooMethod',
-            array('an_argument'),
-            $expectedObject);
-
-        $this->assertSame($expectedObject, $invocation->object);
-    }
-
-    public function testAllowToGetMethodParametersSetInConstructor()
-    {
-        $expectedParameters = array(
-          'foo', 5, array('a', 'b'), new StdClass, NULL, FALSE
-        );
-
-        $invocation = new PHPUnit_Framework_MockObject_Invocation_Object(
-          'FooClass',
-          'FooMethod',
-          $expectedParameters,
-          new StdClass
-        );
-
-        $this->assertSame($expectedParameters, $invocation->parameters);
-    }
-
-    public function testConstructorAllowToSetFlagCloneObjectsInParameters()
-    {
-        $parameters   = array(new StdClass);
-        $cloneObjects = TRUE;
-
-        $invocation = new PHPUnit_Framework_MockObject_Invocation_Object(
-          'FooClass',
-          'FooMethod',
-          $parameters,
-          new StdClass,
-          $cloneObjects
-        );
-
-        $this->assertEquals($parameters, $invocation->parameters);
-        $this->assertNotSame($parameters, $invocation->parameters);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/StaticTest.php b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/StaticTest.php
deleted file mode 100644
index 09e6e3c..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/StaticTest.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-class Framework_MockObject_Invocation_StaticTest extends PHPUnit_Framework_TestCase
-{
-    public function testConstructorRequiresClassAndMethodAndParameters()
-    {
-        new PHPUnit_Framework_MockObject_Invocation_Static('FooClass', 'FooMethod', array('an_argument'));
-    }
-
-    public function testAllowToGetClassNameSetInConstructor()
-    {
-        $invocation = new PHPUnit_Framework_MockObject_Invocation_Static('FooClass', 'FooMethod', array('an_argument'));
-
-        $this->assertSame('FooClass', $invocation->className);
-    }
-
-    public function testAllowToGetMethodNameSetInConstructor()
-    {
-        $invocation = new PHPUnit_Framework_MockObject_Invocation_Static('FooClass', 'FooMethod', array('an_argument'));
-
-        $this->assertSame('FooMethod', $invocation->methodName);
-    }
-
-    public function testAllowToGetMethodParametersSetInConstructor()
-    {
-        $expectedParameters = array(
-          'foo', 5, array('a', 'b'), new StdClass, NULL, FALSE
-        );
-
-        $invocation = new PHPUnit_Framework_MockObject_Invocation_Static(
-          'FooClass', 'FooMethod', $expectedParameters
-        );
-
-        $this->assertSame($expectedParameters, $invocation->parameters);
-    }
-
-    public function testConstructorAllowToSetFlagCloneObjectsInParameters()
-    {
-        $parameters = array(new StdClass);
-        $cloneObjects = TRUE;
-
-        $invocation = new PHPUnit_Framework_MockObject_Invocation_Static(
-          'FooClass',
-          'FooMethod',
-          $parameters,
-          $cloneObjects
-        );
-
-        $this->assertEquals($parameters, $invocation->parameters);
-        $this->assertNotSame($parameters, $invocation->parameters);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php
deleted file mode 100644
index e7d02e7..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-class Framework_MockObject_Matcher_ConsecutiveParametersTest extends PHPUnit_Framework_TestCase
-{
-    public function testIntegration()
-    {
-        $mock = $this->getMock('stdClass', array('foo'));
-        $mock
-            ->expects($this->any())
-            ->method('foo')
-            ->withConsecutive(
-                array('bar'),
-                array(21, 42)
-            );
-        $mock->foo('bar');
-        $mock->foo(21, 42);
-    }
-
-    public function testIntegrationWithLessAssertionsThenMethodCalls()
-    {
-        $mock = $this->getMock('stdClass', array('foo'));
-        $mock
-            ->expects($this->any())
-            ->method('foo')
-            ->withConsecutive(
-              array('bar')
-            );
-        $mock->foo('bar');
-        $mock->foo(21, 42);
-    }
-
-    public function testIntegrationExpectingException()
-    {
-        $mock = $this->getMock('stdClass', array('foo'));
-        $mock
-            ->expects($this->any())
-            ->method('foo')
-            ->withConsecutive(
-                array('bar'),
-                array(21, 42)
-            );
-        $mock->foo('bar');
-        $this->setExpectedException('PHPUnit_Framework_ExpectationFailedException');
-        $mock->foo('invalid');
-    }
-}
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class.phpt
deleted file mode 100644
index 2e40328..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class.phpt
+++ /dev/null
@@ -1,121 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE, TRUE)
---FILE--
-<?php
-class Foo
-{
-    public function bar(Foo $foo)
-    {
-    }
-
-    public function baz(Foo $foo)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array(),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function bar(Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'Foo', 'bar', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function baz(Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'Foo', 'baz', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_clone.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_clone.phpt
deleted file mode 100644
index 0f91a98..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_clone.phpt
+++ /dev/null
@@ -1,73 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE)
---FILE--
-<?php
-class Foo
-{
-    public function __clone()
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array(),
-  'MockFoo',
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-        parent::__clone();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_constructor.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_constructor.phpt
deleted file mode 100644
index 6f037ee..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_constructor.phpt
+++ /dev/null
@@ -1,72 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE)
---FILE--
-<?php
-class Foo
-{
-    public function __construct()
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array(),
-  'MockFoo',
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_clone.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_clone.phpt
deleted file mode 100644
index dc82938..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_clone.phpt
+++ /dev/null
@@ -1,72 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', FALSE)
---FILE--
-<?php
-class Foo
-{
-    public function __clone()
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array(),
-  'MockFoo',
-  FALSE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_constructor.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_constructor.phpt
deleted file mode 100644
index 6f037ee..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_constructor.phpt
+++ /dev/null
@@ -1,72 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE)
---FILE--
-<?php
-class Foo
-{
-    public function __construct()
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array(),
-  'MockFoo',
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_call_parent_constructor.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_call_parent_constructor.phpt
deleted file mode 100644
index cfc43d8..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_call_parent_constructor.phpt
+++ /dev/null
@@ -1,77 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE)
---FILE--
-<?php
-interface IFoo
-{
-    public function __construct($bar);
-}
-
-class Foo implements IFoo
-{
-    public function __construct($bar)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array(),
-  'MockFoo',
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_dont_call_parent_constructor.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_dont_call_parent_constructor.phpt
deleted file mode 100644
index cfc43d8..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_dont_call_parent_constructor.phpt
+++ /dev/null
@@ -1,77 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE)
---FILE--
-<?php
-interface IFoo
-{
-    public function __construct($bar);
-}
-
-class Foo implements IFoo
-{
-    public function __construct($bar)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array(),
-  'MockFoo',
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_partial.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_partial.phpt
deleted file mode 100644
index b8332ae..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_partial.phpt
+++ /dev/null
@@ -1,99 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array('bar'), 'MockFoo', TRUE, TRUE)
---FILE--
-<?php
-class Foo
-{
-    public function bar(Foo $foo)
-    {
-    }
-
-    public function baz(Foo $foo)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array('bar'),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function bar(Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'Foo', 'bar', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_named_method.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_named_method.phpt
deleted file mode 100644
index 6e1ddf6..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_named_method.phpt
+++ /dev/null
@@ -1,88 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE, TRUE)
---FILE--
-<?php
-class Foo
-{
-    public function method()
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array(),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function method()
-    {
-        $arguments = array();
-        $count     = func_num_args();
-
-        if ($count > 0) {
-            $_arguments = func_get_args();
-
-            for ($i = 0; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'Foo', 'method', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt
deleted file mode 100644
index 8fb9a3c..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt
+++ /dev/null
@@ -1,99 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('ClassWithMethodWithVariadicArguments', array(), 'MockFoo', TRUE, TRUE)
---SKIPIF--
-<?php
-if (version_compare(PHP_VERSION, '5.6.0', '<')) print 'skip: PHP >= 5.6.0 required';
-?>
---FILE--
-<?php
-class ClassWithMethodWithVariadicArguments
-{
-    public function methodWithVariadicArguments($a, ...$parameters)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'ClassWithMethodWithVariadicArguments',
-  array(),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends ClassWithMethodWithVariadicArguments implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function methodWithVariadicArguments($a, ...$parameters)
-    {
-        $arguments = array($a);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'ClassWithMethodWithVariadicArguments', 'methodWithVariadicArguments', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/interface.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/interface.phpt
deleted file mode 100644
index 2d38209..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/interface.phpt
+++ /dev/null
@@ -1,93 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE, TRUE)
---FILE--
-<?php
-interface Foo
-{
-    public function bar(Foo $foo);
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array(),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo implements PHPUnit_Framework_MockObject_MockObject, Foo
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function bar(Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'Foo', 'bar', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/invocation_object_clone_object.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/invocation_object_clone_object.phpt
deleted file mode 100644
index 87a979e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/invocation_object_clone_object.phpt
+++ /dev/null
@@ -1,122 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE, TRUE, TRUE)
---FILE--
-<?php
-class Foo
-{
-    public function bar(Foo $foo)
-    {
-    }
-
-    public function baz(Foo $foo)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo',
-  array(),
-  'MockFoo',
-  TRUE,
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function bar(Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'Foo', 'bar', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function baz(Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'Foo', 'baz', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class.phpt
deleted file mode 100644
index e30bddc..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class.phpt
+++ /dev/null
@@ -1,123 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', TRUE, TRUE)
---FILE--
-<?php
-namespace NS;
-
-class Foo
-{
-    public function bar(Foo $foo)
-    {
-    }
-
-    public function baz(Foo $foo)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new \PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NS\Foo',
-  array(),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function bar(NS\Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'NS\Foo', 'bar', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function baz(NS\Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'NS\Foo', 'baz', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_clone.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_clone.phpt
deleted file mode 100644
index 3dee9c9..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_clone.phpt
+++ /dev/null
@@ -1,75 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', TRUE)
---FILE--
-<?php
-namespace NS;
-
-class Foo
-{
-    public function __clone()
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new \PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NS\Foo',
-  array(),
-  'MockFoo',
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-        parent::__clone();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_constructor.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_constructor.phpt
deleted file mode 100644
index 105a372..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_constructor.phpt
+++ /dev/null
@@ -1,74 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', TRUE)
---FILE--
-<?php
-namespace NS;
-
-class Foo
-{
-    public function __construct()
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new \PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NS\Foo',
-  array(),
-  'MockFoo',
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_clone.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_clone.phpt
deleted file mode 100644
index 1de9253..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_clone.phpt
+++ /dev/null
@@ -1,74 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', FALSE)
---FILE--
-<?php
-namespace NS;
-
-class Foo
-{
-    public function __clone()
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new \PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NS\Foo',
-  array(),
-  'MockFoo',
-  FALSE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_constructor.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_constructor.phpt
deleted file mode 100644
index 105a372..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_constructor.phpt
+++ /dev/null
@@ -1,74 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', TRUE)
---FILE--
-<?php
-namespace NS;
-
-class Foo
-{
-    public function __construct()
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new \PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NS\Foo',
-  array(),
-  'MockFoo',
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_call_parent_constructor.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_call_parent_constructor.phpt
deleted file mode 100644
index 6b9f6bc..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_call_parent_constructor.phpt
+++ /dev/null
@@ -1,79 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', TRUE)
---FILE--
-<?php
-namespace NS;
-
-interface IFoo
-{
-    public function __construct($bar);
-}
-
-class Foo implements IFoo
-{
-    public function __construct($bar)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new \PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NS\Foo',
-  array(),
-  'MockFoo',
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt
deleted file mode 100644
index 6b9f6bc..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt
+++ /dev/null
@@ -1,79 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', TRUE)
---FILE--
-<?php
-namespace NS;
-
-interface IFoo
-{
-    public function __construct($bar);
-}
-
-class Foo implements IFoo
-{
-    public function __construct($bar)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new \PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NS\Foo',
-  array(),
-  'MockFoo',
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_partial.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_partial.phpt
deleted file mode 100644
index 86fee1c..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_partial.phpt
+++ /dev/null
@@ -1,101 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array('bar'), 'MockFoo', TRUE, TRUE)
---FILE--
-<?php
-namespace NS;
-
-class Foo
-{
-    public function bar(Foo $foo)
-    {
-    }
-
-    public function baz(Foo $foo)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new \PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NS\Foo',
-  array('bar'),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function bar(NS\Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'NS\Foo', 'bar', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_interface.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_interface.phpt
deleted file mode 100644
index 8048646..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_interface.phpt
+++ /dev/null
@@ -1,95 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', TRUE, TRUE)
---FILE--
-<?php
-namespace NS;
-
-interface Foo
-{
-    public function bar(Foo $foo);
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new \PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NS\Foo',
-  array(),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class MockFoo implements PHPUnit_Framework_MockObject_MockObject, NS\Foo
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function bar(NS\Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'NS\Foo', 'bar', $arguments, $this, TRUE
-          )
-        );
-
-        return $result;
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt
deleted file mode 100644
index 8c01de0..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt
+++ /dev/null
@@ -1,70 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('NonExistentClass', array(), 'MockFoo', TRUE, TRUE)
---FILE--
-<?php
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NonExistentClass',
-  array(),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class NonExistentClass
-{
-}
-
-class MockFoo extends NonExistentClass implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace.phpt
deleted file mode 100644
index 7868977..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace.phpt
+++ /dev/null
@@ -1,78 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE, TRUE)
---FILE--
-<?php
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'NS\Foo',
-  array(),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-namespace NS {
-
-class Foo
-{
-}
-
-}
-
-namespace {
-
-class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
-
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace_starting_with_separator.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace_starting_with_separator.phpt
deleted file mode 100644
index b59d1dd..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace_starting_with_separator.phpt
+++ /dev/null
@@ -1,78 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE, TRUE)
---FILE--
-<?php
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  '\NS\Foo',
-  array(),
-  'MockFoo',
-  TRUE,
-  TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-namespace NS {
-
-class Foo
-{
-}
-
-}
-
-namespace {
-
-class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
-
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/proxy.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/proxy.phpt
deleted file mode 100644
index f31bf3f..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/proxy.phpt
+++ /dev/null
@@ -1,117 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generate('Foo', NULL, 'ProxyFoo', TRUE, TRUE, TRUE, TRUE)
---FILE--
-<?php
-class Foo
-{
-    public function bar(Foo $foo)
-    {
-    }
-
-    public function baz(Foo $foo)
-    {
-    }
-}
-
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-$mock = $generator->generate(
-  'Foo', array(), 'ProxyFoo', TRUE, TRUE, TRUE, TRUE
-);
-
-print $mock['code'];
-?>
---EXPECTF--
-class ProxyFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    public function bar(Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'Foo', 'bar', $arguments, $this, TRUE
-          )
-        );
-
-        return call_user_func_array(array($this->__phpunit_originalObject, "bar"), $arguments);
-    }
-
-    public function baz(Foo $foo)
-    {
-        $arguments = array($foo);
-        $count     = func_num_args();
-
-        if ($count > 1) {
-            $_arguments = func_get_args();
-
-            for ($i = 1; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $this->__phpunit_getInvocationMocker()->invoke(
-          new PHPUnit_Framework_MockObject_Invocation_Object(
-            'Foo', 'baz', $arguments, $this, TRUE
-          )
-        );
-
-        return call_user_func_array(array($this->__phpunit_originalObject, "baz"), $arguments);
-    }
-
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === NULL) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify()
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-        $this->__phpunit_invocationMocker = NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt
deleted file mode 100644
index 06b255f..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generateClassFromWsdl('GoogleSearch.wsdl', 'GoogleSearch')
---SKIPIF--
-<?php
-if (!extension_loaded('soap')) echo 'skip: SOAP extension is required';
-?>
---FILE--
-<?php
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-print $generator->generateClassFromWsdl(
-  dirname(dirname(__FILE__)) . '/_fixture/GoogleSearch.wsdl',
-  'GoogleSearch'
-);
-?>
---EXPECTF--
-class GoogleSearch extends \SoapClient
-{
-    public function __construct($wsdl, array $options)
-    {
-        parent::__construct('%s/GoogleSearch.wsdl', $options);
-    }
-
-    public function doGoogleSearch($key, $q, $start, $maxResults, $filter, $restrict, $safeSearch, $lr, $ie, $oe)
-    {
-    }
-
-    public function doGetCachedPage($key, $url)
-    {
-    }
-
-    public function doSpellingSuggestion($key, $phrase)
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt
deleted file mode 100644
index 9460e6b..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt
+++ /dev/null
@@ -1,39 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generateClassFromWsdl('GoogleSearch.wsdl', 'GoogleSearch')
---SKIPIF--
-<?php
-if (!extension_loaded('soap')) echo 'skip: SOAP extension is required';
-?>
---FILE--
-<?php
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-print $generator->generateClassFromWsdl(
-  dirname(dirname(__FILE__)) . '/_fixture/GoogleSearch.wsdl',
-  'My\\Space\\GoogleSearch'
-);
-?>
---EXPECTF--
-namespace My\Space;
-
-class GoogleSearch extends \SoapClient
-{
-    public function __construct($wsdl, array $options)
-    {
-        parent::__construct('%s/GoogleSearch.wsdl', $options);
-    }
-
-    public function doGoogleSearch($key, $q, $start, $maxResults, $filter, $restrict, $safeSearch, $lr, $ie, $oe)
-    {
-    }
-
-    public function doGetCachedPage($key, $url)
-    {
-    }
-
-    public function doSpellingSuggestion($key, $phrase)
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt
deleted file mode 100644
index fc814bd..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-PHPUnit_Framework_MockObject_Generator::generateClassFromWsdl('GoogleSearch.wsdl', 'GoogleSearch', array('doGoogleSearch'))
---SKIPIF--
-<?php
-if (!extension_loaded('soap')) echo 'skip: SOAP extension is required';
-?>
---FILE--
-<?php
-require __DIR__ . '/../../vendor/autoload.php';
-
-$generator = new PHPUnit_Framework_MockObject_Generator;
-
-print $generator->generateClassFromWsdl(
-  dirname(dirname(__FILE__)) . '/_fixture/GoogleSearch.wsdl',
-  'GoogleSearch',
-  array('doGoogleSearch')
-);
-?>
---EXPECTF--
-class GoogleSearch extends \SoapClient
-{
-    public function __construct($wsdl, array $options)
-    {
-        parent::__construct('%s/GoogleSearch.wsdl', $options);
-    }
-
-    public function doGoogleSearch($key, $q, $start, $maxResults, $filter, $restrict, $safeSearch, $lr, $ie, $oe)
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php b/core/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php
deleted file mode 100644
index 6ad3fd0..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php
+++ /dev/null
@@ -1,850 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Patrick Mueller <elias0@gmx.net>
- * @author     Frank Kleine <mikey@stubbles.net>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class Framework_MockObjectTest extends PHPUnit_Framework_TestCase
-{
-    public function testMockedMethodIsNeverCalled()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->never())
-             ->method('doSomething');
-    }
-
-    public function testMockedMethodIsNeverCalledWithParameter()
-    {
-        $mock = $this->getMock('SomeClass');
-        $mock->expects($this->never())
-            ->method('doSomething')
-            ->with('someArg');
-    }
-
-    public function testMockedMethodIsNotCalledWhenExpectsAnyWithParameter()
-    {
-        $mock = $this->getMock('SomeClass');
-        $mock->expects($this->any())
-             ->method('doSomethingElse')
-             ->with('someArg');
-    }
-
-    public function testMockedMethodIsNotCalledWhenMethodSpecifiedDirectlyWithParameter()
-    {
-        $mock = $this->getMock('SomeClass');
-        $mock->method('doSomethingElse')
-            ->with('someArg');
-    }
-
-    public function testMockedMethodIsCalledAtLeastOnce()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->atLeastOnce())
-             ->method('doSomething');
-
-        $mock->doSomething();
-    }
-
-    public function testMockedMethodIsCalledAtLeastOnce2()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->atLeastOnce())
-             ->method('doSomething');
-
-        $mock->doSomething();
-        $mock->doSomething();
-    }
-
-    public function testMockedMethodIsCalledAtLeastTwice()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->atLeast(2))
-             ->method('doSomething');
-
-        $mock->doSomething();
-        $mock->doSomething();
-    }
-
-    public function testMockedMethodIsCalledAtLeastTwice2()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->atLeast(2))
-             ->method('doSomething');
-
-        $mock->doSomething();
-        $mock->doSomething();
-        $mock->doSomething();
-    }
-
-    public function testMockedMethodIsCalledAtMostTwice()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->atMost(2))
-             ->method('doSomething');
-
-        $mock->doSomething();
-        $mock->doSomething();
-    }
-
-    public function testMockedMethodIsCalledAtMosttTwice2()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->atMost(2))
-             ->method('doSomething');
-
-        $mock->doSomething();
-    }
-
-    public function testMockedMethodIsCalledOnce()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->once())
-             ->method('doSomething');
-
-        $mock->doSomething();
-    }
-
-    public function testMockedMethodIsCalledOnceWithParameter()
-    {
-        $mock = $this->getMock('SomeClass');
-        $mock->expects($this->once())
-             ->method('doSomethingElse')
-             ->with($this->equalTo('something'));
-
-        $mock->doSomethingElse('something');
-    }
-
-    public function testMockedMethodIsCalledExactly()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->exactly(2))
-             ->method('doSomething');
-
-        $mock->doSomething();
-        $mock->doSomething();
-    }
-
-    public function testStubbedException()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->will($this->throwException(new Exception));
-
-        try {
-            $mock->doSomething();
-        } catch (Exception $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    public function testStubbedWillThrowException()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->willThrowException(new Exception);
-
-        try {
-            $mock->doSomething();
-        } catch (Exception $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    public function testStubbedReturnValue()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->will($this->returnValue('something'));
-
-        $this->assertEquals('something', $mock->doSomething());
-
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->willReturn('something');
-
-        $this->assertEquals('something', $mock->doSomething());
-    }
-
-    public function testStubbedReturnValueMap()
-    {
-        $map = array(
-            array('a', 'b', 'c', 'd'),
-            array('e', 'f', 'g', 'h')
-        );
-
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->will($this->returnValueMap($map));
-
-        $this->assertEquals('d', $mock->doSomething('a', 'b', 'c'));
-        $this->assertEquals('h', $mock->doSomething('e', 'f', 'g'));
-        $this->assertEquals(NULL, $mock->doSomething('foo', 'bar'));
-
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->willReturnMap($map);
-
-        $this->assertEquals('d', $mock->doSomething('a', 'b', 'c'));
-        $this->assertEquals('h', $mock->doSomething('e', 'f', 'g'));
-        $this->assertEquals(NULL, $mock->doSomething('foo', 'bar'));
-    }
-
-    public function testStubbedReturnArgument()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->will($this->returnArgument(1));
-
-        $this->assertEquals('b', $mock->doSomething('a', 'b'));
-
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->willReturnArgument(1);
-
-        $this->assertEquals('b', $mock->doSomething('a', 'b'));
-    }
-
-    public function testFunctionCallback()
-    {
-        $mock = $this->getMock('SomeClass', array('doSomething'), array(), '', FALSE);
-        $mock->expects($this->once())
-             ->method('doSomething')
-             ->will($this->returnCallback('functionCallback'));
-
-        $this->assertEquals('pass', $mock->doSomething('foo', 'bar'));
-
-        $mock = $this->getMock('SomeClass', array('doSomething'), array(), '', FALSE);
-        $mock->expects($this->once())
-             ->method('doSomething')
-             ->willReturnCallback('functionCallback');
-
-        $this->assertEquals('pass', $mock->doSomething('foo', 'bar'));
-    }
-
-    public function testStubbedReturnSelf()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->will($this->returnSelf());
-
-        $this->assertEquals($mock, $mock->doSomething());
-
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->willReturnSelf();
-
-        $this->assertEquals($mock, $mock->doSomething());
-    }
-
-    public function testStubbedReturnOnConsecutiveCalls()
-    {
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->will($this->onConsecutiveCalls('a', 'b', 'c'));
-
-        $this->assertEquals('a', $mock->doSomething());
-        $this->assertEquals('b', $mock->doSomething());
-        $this->assertEquals('c', $mock->doSomething());
-
-        $mock = $this->getMock('AnInterface');
-        $mock->expects($this->any())
-             ->method('doSomething')
-             ->willReturnOnConsecutiveCalls('a', 'b', 'c');
-
-        $this->assertEquals('a', $mock->doSomething());
-        $this->assertEquals('b', $mock->doSomething());
-        $this->assertEquals('c', $mock->doSomething());
-    }
-
-    public function testStaticMethodCallback()
-    {
-        $mock = $this->getMock('SomeClass', array('doSomething'), array(), '', FALSE);
-        $mock->expects($this->once())
-             ->method('doSomething')
-             ->will($this->returnCallback(array('MethodCallback', 'staticCallback')));
-
-        $this->assertEquals('pass', $mock->doSomething('foo', 'bar'));
-    }
-
-    public function testPublicMethodCallback()
-    {
-        $mock = $this->getMock('SomeClass', array('doSomething'), array(), '', FALSE);
-        $mock->expects($this->once())
-             ->method('doSomething')
-             ->will($this->returnCallback(array(new MethodCallback, 'nonStaticCallback')));
-
-        $this->assertEquals('pass', $mock->doSomething('foo', 'bar'));
-    }
-
-    public function testMockClassOnlyGeneratedOnce()
-    {
-        $mock1 = $this->getMock('AnInterface');
-        $mock2 = $this->getMock('AnInterface');
-
-        $this->assertEquals(get_class($mock1), get_class($mock2));
-    }
-
-    public function testMockClassDifferentForPartialMocks()
-    {
-        $mock1 = $this->getMock('PartialMockTestClass');
-        $mock2 = $this->getMock('PartialMockTestClass', array('doSomething'));
-        $mock3 = $this->getMock('PartialMockTestClass', array('doSomething'));
-        $mock4 = $this->getMock('PartialMockTestClass', array('doAnotherThing'));
-        $mock5 = $this->getMock('PartialMockTestClass', array('doAnotherThing'));
-
-        $this->assertNotEquals(get_class($mock1), get_class($mock2));
-        $this->assertNotEquals(get_class($mock1), get_class($mock3));
-        $this->assertNotEquals(get_class($mock1), get_class($mock4));
-        $this->assertNotEquals(get_class($mock1), get_class($mock5));
-        $this->assertEquals(get_class($mock2), get_class($mock3));
-        $this->assertNotEquals(get_class($mock2), get_class($mock4));
-        $this->assertNotEquals(get_class($mock2), get_class($mock5));
-        $this->assertEquals(get_class($mock4), get_class($mock5));
-    }
-
-    public function testMockClassStoreOverrulable()
-    {
-        $mock1 = $this->getMock('PartialMockTestClass');
-        $mock2 = $this->getMock('PartialMockTestClass', array(), array(), 'MyMockClassNameForPartialMockTestClass1');
-        $mock3 = $this->getMock('PartialMockTestClass');
-        $mock4 = $this->getMock('PartialMockTestClass', array('doSomething'), array(), 'AnotherMockClassNameForPartialMockTestClass');
-        $mock5 = $this->getMock('PartialMockTestClass', array(), array(), 'MyMockClassNameForPartialMockTestClass2');
-
-        $this->assertNotEquals(get_class($mock1), get_class($mock2));
-        $this->assertEquals(get_class($mock1), get_class($mock3));
-        $this->assertNotEquals(get_class($mock1), get_class($mock4));
-        $this->assertNotEquals(get_class($mock2), get_class($mock3));
-        $this->assertNotEquals(get_class($mock2), get_class($mock4));
-        $this->assertNotEquals(get_class($mock2), get_class($mock5));
-        $this->assertNotEquals(get_class($mock3), get_class($mock4));
-        $this->assertNotEquals(get_class($mock3), get_class($mock5));
-        $this->assertNotEquals(get_class($mock4), get_class($mock5));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_MockObject_Generator::getMock
-     */
-    public function testGetMockWithFixedClassNameCanProduceTheSameMockTwice()
-    {
-        $mock = $this->getMockBuilder('StdClass')->setMockClassName('FixedName')->getMock();
-        $mock = $this->getMockBuilder('StdClass')->setMockClassName('FixedName')->getMock();
-        $this->assertInstanceOf('StdClass', $mock);
-    }
-
-    public function testOriginalConstructorSettingConsidered()
-    {
-        $mock1 = $this->getMock('PartialMockTestClass');
-        $mock2 = $this->getMock('PartialMockTestClass', array(), array(), '', FALSE);
-
-        $this->assertTrue($mock1->constructorCalled);
-        $this->assertFalse($mock2->constructorCalled);
-    }
-
-    public function testOriginalCloneSettingConsidered()
-    {
-        $mock1 = $this->getMock('PartialMockTestClass');
-        $mock2 = $this->getMock('PartialMockTestClass', array(), array(), '', TRUE, FALSE);
-
-        $this->assertNotEquals(get_class($mock1), get_class($mock2));
-    }
-
-    public function testGetMockForAbstractClass()
-    {
-        $mock = $this->getMock('AbstractMockTestClass');
-        $mock->expects($this->never())
-             ->method('doSomething');
-    }
-
-    public function traversableProvider()
-    {
-        return array(
-          array('Traversable'),
-          array('\Traversable'),
-          array('TraversableMockTestInterface'),
-          array(array('Traversable')),
-          array(array('Iterator','Traversable')),
-          array(array('\Iterator','\Traversable'))
-        );
-    }
-
-    /**
-     * @dataProvider traversableProvider
-     */
-    public function testGetMockForTraversable($type)
-    {
-        $mock = $this->getMock($type);
-        $this->assertInstanceOf('Traversable', $mock);
-    }
-
-    public function testMultipleInterfacesCanBeMockedInSingleObject()
-    {
-        $mock = $this->getMock(array('AnInterface', 'AnotherInterface'));
-        $this->assertInstanceOf('AnInterface', $mock);
-        $this->assertInstanceOf('AnotherInterface', $mock);
-    }
-
-    /**
-     * @requires PHP 5.4.0
-     */
-    public function testGetMockForTrait()
-    {
-        $mock = $this->getMockForTrait('AbstractTrait');
-        $mock->expects($this->never())->method('doSomething');
-
-        $parent = get_parent_class($mock);
-        $traits = class_uses($parent, FALSE);
-
-        $this->assertContains('AbstractTrait', $traits);
-    }
-
-    public function testClonedMockObjectShouldStillEqualTheOriginal()
-    {
-        $a = $this->getMock('stdClass');
-        $b = clone $a;
-        $this->assertEquals($a, $b);
-    }
-
-    public function testMockObjectsConstructedIndepentantlyShouldBeEqual()
-    {
-        $a = $this->getMock('stdClass');
-        $b = $this->getMock('stdClass');
-        $this->assertEquals($a, $b);
-    }
-
-    public function testMockObjectsConstructedIndepentantlyShouldNotBeTheSame()
-    {
-        $a = $this->getMock('stdClass');
-        $b = $this->getMock('stdClass');
-        $this->assertNotSame($a, $b);
-    }
-
-    public function testClonedMockObjectCanBeUsedInPlaceOfOriginalOne()
-    {
-        $x = $this->getMock('stdClass');
-        $y = clone $x;
-
-        $mock = $this->getMock('stdClass', array('foo'));
-        $mock->expects($this->once())->method('foo')->with($this->equalTo($x));
-        $mock->foo($y);
-    }
-
-    public function testClonedMockObjectIsNotIdenticalToOriginalOne()
-    {
-        $x = $this->getMock('stdClass');
-        $y = clone $x;
-
-        $mock = $this->getMock('stdClass', array('foo'));
-        $mock->expects($this->once())->method('foo')->with($this->logicalNot($this->identicalTo($x)));
-        $mock->foo($y);
-    }
-
-    public function testObjectMethodCallWithArgumentCloningEnabled()
-    {
-        $expectedObject = new StdClass;
-
-        $mock = $this->getMockBuilder('SomeClass')
-                     ->setMethods(array('doSomethingElse'))
-                     ->enableArgumentCloning()
-                     ->getMock();
-
-        $actualArguments = array();
-
-        $mock->expects($this->any())
-        ->method('doSomethingElse')
-        ->will($this->returnCallback(function () use (&$actualArguments) {
-            $actualArguments = func_get_args();
-        }));
-
-        $mock->doSomethingElse($expectedObject);
-
-        $this->assertEquals(1, count($actualArguments));
-        $this->assertEquals($expectedObject, $actualArguments[0]);
-        $this->assertNotSame($expectedObject, $actualArguments[0]);
-    }
-
-    public function testObjectMethodCallWithArgumentCloningDisabled()
-    {
-        $expectedObject = new StdClass;
-
-        $mock = $this->getMockBuilder('SomeClass')
-                     ->setMethods(array('doSomethingElse'))
-                     ->disableArgumentCloning()
-                     ->getMock();
-
-        $actualArguments = array();
-
-        $mock->expects($this->any())
-        ->method('doSomethingElse')
-        ->will($this->returnCallback(function () use (&$actualArguments) {
-            $actualArguments = func_get_args();
-        }));
-
-        $mock->doSomethingElse($expectedObject);
-
-        $this->assertEquals(1, count($actualArguments));
-        $this->assertSame($expectedObject, $actualArguments[0]);
-    }
-
-    public function testArgumentCloningOptionGeneratesUniqueMock()
-    {
-        $mockWithCloning = $this->getMockBuilder('SomeClass')
-                                ->setMethods(array('doSomethingElse'))
-                                ->enableArgumentCloning()
-                                ->getMock();
-
-        $mockWithoutCloning = $this->getMockBuilder('SomeClass')
-                                   ->setMethods(array('doSomethingElse'))
-                                   ->disableArgumentCloning()
-                                   ->getMock();
-
-        $this->assertNotEquals($mockWithCloning, $mockWithoutCloning);
-    }
-
-    public function testVerificationOfMethodNameFailsWithoutParameters()
-    {
-        $mock = $this->getMock('SomeClass', array('right', 'wrong'), array(), '', TRUE, TRUE, TRUE);
-        $mock->expects($this->once())
-             ->method('right');
-
-        $mock->wrong();
-        try {
-            $mock->__phpunit_verify();
-            $this->fail('Expected exception');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertSame(
-                "Expectation failed for method name is equal to <string:right> when invoked 1 time(s).\n"
-                . "Method was expected to be called 1 times, actually called 0 times.\n",
-                $e->getMessage()
-            );
-        }
-
-        $this->resetMockObjects();
-    }
-
-    public function testVerificationOfMethodNameFailsWithParameters()
-    {
-        $mock = $this->getMock('SomeClass', array('right', 'wrong'), array(), '', TRUE, TRUE, TRUE);
-        $mock->expects($this->once())
-             ->method('right');
-
-        $mock->wrong();
-        try {
-            $mock->__phpunit_verify();
-            $this->fail('Expected exception');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertSame(
-                "Expectation failed for method name is equal to <string:right> when invoked 1 time(s).\n"
-                . "Method was expected to be called 1 times, actually called 0 times.\n",
-                $e->getMessage()
-            );
-        }
-
-        $this->resetMockObjects();
-    }
-
-    public function testVerificationOfMethodNameFailsWithWrongParameters()
-    {
-        $mock = $this->getMock('SomeClass', array('right', 'wrong'), array(), '', TRUE, TRUE, TRUE);
-        $mock->expects($this->once())
-             ->method('right')
-             ->with(array('first', 'second'));
-
-        try {
-            $mock->right(array('second'));
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertSame(
-                "Expectation failed for method name is equal to <string:right> when invoked 1 time(s)\n"
-                . "Parameter 0 for invocation SomeClass::right(Array (...)) does not match expected value.\n"
-                . "Failed asserting that two arrays are equal.",
-                $e->getMessage()
-            );
-        }
-
-        try {
-            $mock->__phpunit_verify();
-            $this->fail('Expected exception');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertSame(
-                "Expectation failed for method name is equal to <string:right> when invoked 1 time(s).\n"
-                . "Parameter 0 for invocation SomeClass::right(Array (...)) does not match expected value.\n"
-                . "Failed asserting that two arrays are equal.\n"
-                . "--- Expected\n"
-                . "+++ Actual\n"
-                . "@@ @@\n"
-                . " Array (\n"
-                . "-    0 => 'first'\n"
-                . "-    1 => 'second'\n"
-                . "+    0 => 'second'\n"
-                . " )\n",
-                $e->getMessage()
-            );
-        }
-
-        $this->resetMockObjects();
-    }
-
-    public function testVerificationOfNeverFailsWithEmptyParameters()
-    {
-        $mock = $this->getMock('SomeClass', array('right', 'wrong'), array(), '', TRUE, TRUE, TRUE);
-        $mock->expects($this->never())
-             ->method('right')
-             ->with();
-
-        try {
-            $mock->right();
-            $this->fail('Expected exception');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertSame(
-                'SomeClass::right() was not expected to be called.',
-                $e->getMessage()
-            );
-        }
-
-        $this->resetMockObjects();
-    }
-
-    public function testVerificationOfNeverFailsWithAnyParameters()
-    {
-        $mock = $this->getMock('SomeClass', array('right', 'wrong'), array(), '', TRUE, TRUE, TRUE);
-        $mock->expects($this->never())
-             ->method('right')
-             ->withAnyParameters();
-
-        try {
-            $mock->right();
-            $this->fail('Expected exception');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertSame(
-                'SomeClass::right() was not expected to be called.',
-                $e->getMessage()
-            );
-        }
-
-        $this->resetMockObjects();
-    }
-
-    /**
-     * @ticket 199
-     */
-    public function testWithAnythingInsteadOfWithAnyParameters()
-    {
-        $mock = $this->getMock('SomeClass', array('right'), array(), '', TRUE, TRUE, TRUE);
-        $mock->expects($this->once())
-             ->method('right')
-             ->with($this->anything());
-
-        try {
-            $mock->right();
-            $this->fail('Expected exception');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertSame(
-                "Expectation failed for method name is equal to <string:right> when invoked 1 time(s)\n" .
-                "Parameter count for invocation SomeClass::right() is too low.\n" .
-                "To allow 0 or more parameters with any value, omit ->with() or use ->withAnyParameters() instead.",
-                $e->getMessage()
-            );
-        }
-
-        $this->resetMockObjects();
-    }
-
-    /**
-     * See https://github.com/sebastianbergmann/phpunit-mock-objects/issues/81
-     */
-    public function testMockArgumentsPassedByReference()
-    {
-        $foo = $this->getMockBuilder('MethodCallbackByReference')
-                    ->setMethods(array('bar'))
-                    ->disableOriginalConstructor()
-                    ->disableArgumentCloning()
-                    ->getMock();
-
-        $foo->expects($this->any())
-            ->method('bar')
-            ->will($this->returnCallback(array($foo, 'callback')));
-
-        $a = $b = $c = 0;
-
-        $foo->bar($a, $b, $c);
-
-        $this->assertEquals(1, $b);
-    }
-
-    /**
-     * See https://github.com/sebastianbergmann/phpunit-mock-objects/issues/81
-     */
-    public function testMockArgumentsPassedByReference2()
-    {
-        $foo = $this->getMockBuilder('MethodCallbackByReference')
-                    ->disableOriginalConstructor()
-                    ->disableArgumentCloning()
-                    ->getMock();
-
-        $foo->expects($this->any())
-            ->method('bar')
-            ->will($this->returnCallback(
-            function (&$a, &$b, $c) {
-                $b = 1;
-            }
-            ));
-
-        $a = $b = $c = 0;
-
-        $foo->bar($a, $b, $c);
-
-        $this->assertEquals(1, $b);
-    }
-
-    /**
-     * https://github.com/sebastianbergmann/phpunit-mock-objects/issues/116
-     */
-    public function testMockArgumentsPassedByReference3()
-    {
-        $foo = $this->getMockBuilder('MethodCallbackByReference')
-                    ->setMethods(array('bar'))
-                    ->disableOriginalConstructor()
-                    ->disableArgumentCloning()
-                    ->getMock();
-
-        $a = new stdClass();
-        $b = $c = 0;
-
-        $foo->expects($this->any())
-            ->method('bar')
-            ->with($a, $b, $c)
-            ->will($this->returnCallback(array($foo, 'callback')));
-
-        $foo->bar($a, $b, $c);
-    }
-
-    /**
-     * https://github.com/sebastianbergmann/phpunit/issues/796
-     */
-    public function testMockArgumentsPassedByReference4()
-    {
-        $foo = $this->getMockBuilder('MethodCallbackByReference')
-                    ->setMethods(array('bar'))
-                    ->disableOriginalConstructor()
-                    ->disableArgumentCloning()
-                    ->getMock();
-
-        $a = new stdClass();
-        $b = $c = 0;
-
-        $foo->expects($this->any())
-            ->method('bar')
-            ->with($this->isInstanceOf("stdClass"), $b, $c)
-            ->will($this->returnCallback(array($foo, 'callback')));
-
-        $foo->bar($a, $b, $c);
-    }
-
-    /**
-     * @requires extension soap
-     */
-    public function testCreateMockFromWsdl()
-    {
-        $mock = $this->getMockFromWsdl(__DIR__ . '/_fixture/GoogleSearch.wsdl', 'WsdlMock');
-        $this->assertStringStartsWith(
-            'Mock_WsdlMock_',
-            get_class($mock)
-        );
-    }
-
-    /**
-     * @requires extension soap
-     */
-    public function testCreateNamespacedMockFromWsdl()
-    {
-        $mock = $this->getMockFromWsdl(__DIR__ . '/_fixture/GoogleSearch.wsdl', 'My\\Space\\WsdlMock');
-        $this->assertStringStartsWith(
-            'Mock_WsdlMock_',
-            get_class($mock)
-        );
-    }
-
-    /**
-     * @requires extension soap
-     */
-    public function testCreateTwoMocksOfOneWsdlFile()
-    {
-        $mock = $this->getMockFromWsdl(__DIR__ . '/_fixture/GoogleSearch.wsdl');
-        $mock = $this->getMockFromWsdl(__DIR__ . '/_fixture/GoogleSearch.wsdl');
-    }
-
-    /**
-     * @see    https://github.com/sebastianbergmann/phpunit-mock-objects/issues/156
-     * @ticket 156
-     */
-    public function testInterfaceWithStaticMethodCanBeStubbed()
-    {
-        $this->assertInstanceOf(
-            'InterfaceWithStaticMethod',
-            $this->getMock('InterfaceWithStaticMethod')
-        );
-    }
-
-    /**
-     * @expectedException PHPUnit_Framework_MockObject_BadMethodCallException
-     */
-    public function testInvokingStubbedStaticMethodRaisesException()
-    {
-        $mock = $this->getMock('ClassWithStaticMethod');
-        $mock->staticMethod();
-    }
-
-    /**
-     * @see    https://github.com/sebastianbergmann/phpunit-mock-objects/issues/171
-     * @ticket 171
-     */
-    public function testStubForClassThatImplementsSerializableCanBeCreatedWithoutInvokingTheConstructor()
-    {
-        $this->assertInstanceOf(
-            'ClassThatImplementsSerializable',
-            $this->getMockBuilder('ClassThatImplementsSerializable')
-                 ->disableOriginalConstructor()
-                 ->getMock()
-        );
-    }
-
-    private function resetMockObjects()
-    {
-        $refl = new ReflectionObject($this);
-        $refl = $refl->getParentClass();
-        $prop = $refl->getProperty('mockObjects');
-        $prop->setAccessible(true);
-        $prop->setValue($this, array());
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/ProxyObjectTest.php b/core/vendor/phpunit/phpunit-mock-objects/tests/ProxyObjectTest.php
deleted file mode 100644
index 829621f..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/ProxyObjectTest.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit_MockObject
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class Framework_ProxyObjectTest extends PHPUnit_Framework_TestCase
-{
-    public function testMockedMethodIsProxiedToOriginalMethod()
-    {
-        $proxy = $this->getMockBuilder('Bar')
-                      ->enableProxyingToOriginalMethods()
-                      ->getMock();
-
-        $proxy->expects($this->once())
-              ->method('doSomethingElse');
-
-        $foo = new Foo;
-        $this->assertEquals('result', $foo->doSomething($proxy));
-    }
-
-    public function testMockedMethodWithReferenceIsProxiedToOriginalMethod()
-    {
-        $proxy = $this->getMockBuilder('MethodCallbackByReference')
-                      ->enableProxyingToOriginalMethods()
-                      ->getMock();
-        $a = $b = $c = 0;
-
-        $proxy->callback($a, $b, $c);
-
-        $this->assertEquals(1, $b);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php
deleted file mode 100644
index b006e2d..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-abstract class AbstractMockTestClass
-{
-    abstract public function doSomething();
-
-    public function returnAnything()
-    {
-        return 1;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php
deleted file mode 100644
index 071535c..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-trait AbstractTrait
-{
-    abstract public function doSomething();
-
-    public function mockableMethod()
-    {
-        return TRUE;
-    }
-
-    public function anotherMockableMethod()
-    {
-        return TRUE;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php
deleted file mode 100644
index 5b7d4cc..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-interface AnInterface
-{
-    public function doSomething();
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php
deleted file mode 100644
index 62bff0a..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-interface AnotherInterface
-{
-    public function doSomethingElse();
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php
deleted file mode 100644
index 4a4d165..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Bar
-{
-    public function doSomethingElse()
-    {
-        return 'result';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php
deleted file mode 100644
index 87576ca..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-class ClassThatImplementsSerializable implements Serializable
-{
-    public function serialize()
-    {
-        return get_object_vars($this);
-    }
-
-    public function unserialize($serialized)
-    {
-        foreach (unserialize($serialized) as $key => $value) {
-            $this->{$key} = $value;
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php
deleted file mode 100644
index 0c13c12..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class ClassWithStaticMethod
-{
-    public static function staticMethod()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php
deleted file mode 100644
index 16a9ed7..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Foo
-{
-    public function doSomething(Bar $bar)
-    {
-        return $bar->doSomethingElse();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php
deleted file mode 100644
index c12ac6c..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-function functionCallback()
-{
-    $args = func_get_args();
-
-    if ($args == array('foo', 'bar')) {
-        return 'pass';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl
deleted file mode 100644
index e448501..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0"?>
-
-<!-- WSDL description of the Google Web APIs.
-     The Google Web APIs are in beta release. All interfaces are subject to
-     change as we refine and extend our APIs. Please see the terms of use
-     for more information. -->
-
-<!-- Revision 2002-08-16 -->
-
-<definitions name="GoogleSearch"
-             targetNamespace="urn:GoogleSearch"
-             xmlns:typens="urn:GoogleSearch"
-             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
-             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
-             xmlns="http://schemas.xmlsoap.org/wsdl/">
-
-  <!-- Types for search - result elements, directory categories -->
-
-  <types>
-    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-                targetNamespace="urn:GoogleSearch">
-
-      <xsd:complexType name="GoogleSearchResult">
-        <xsd:all>
-          <xsd:element name="documentFiltering"           type="xsd:boolean"/>
-          <xsd:element name="searchComments"              type="xsd:string"/>
-          <xsd:element name="estimatedTotalResultsCount"  type="xsd:int"/>
-          <xsd:element name="estimateIsExact"             type="xsd:boolean"/>
-          <xsd:element name="resultElements"              type="typens:ResultElementArray"/>
-          <xsd:element name="searchQuery"                 type="xsd:string"/>
-          <xsd:element name="startIndex"                  type="xsd:int"/>
-          <xsd:element name="endIndex"                    type="xsd:int"/>
-          <xsd:element name="searchTips"                  type="xsd:string"/>
-          <xsd:element name="directoryCategories"         type="typens:DirectoryCategoryArray"/>
-          <xsd:element name="searchTime"                  type="xsd:double"/>
-        </xsd:all>
-      </xsd:complexType>
-
-      <xsd:complexType name="ResultElement">
-        <xsd:all>
-          <xsd:element name="summary" type="xsd:string"/>
-          <xsd:element name="URL" type="xsd:string"/>
-          <xsd:element name="snippet" type="xsd:string"/>
-          <xsd:element name="title" type="xsd:string"/>
-          <xsd:element name="cachedSize" type="xsd:string"/>
-          <xsd:element name="relatedInformationPresent" type="xsd:boolean"/>
-          <xsd:element name="hostName" type="xsd:string"/>
-          <xsd:element name="directoryCategory" type="typens:DirectoryCategory"/>
-          <xsd:element name="directoryTitle" type="xsd:string"/>
-        </xsd:all>
-      </xsd:complexType>
-
-      <xsd:complexType name="ResultElementArray">
-        <xsd:complexContent>
-          <xsd:restriction base="soapenc:Array">
-             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:ResultElement[]"/>
-          </xsd:restriction>
-        </xsd:complexContent>
-      </xsd:complexType>
-
-      <xsd:complexType name="DirectoryCategoryArray">
-        <xsd:complexContent>
-          <xsd:restriction base="soapenc:Array">
-             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:DirectoryCategory[]"/>
-          </xsd:restriction>
-        </xsd:complexContent>
-      </xsd:complexType>
-
-      <xsd:complexType name="DirectoryCategory">
-        <xsd:all>
-          <xsd:element name="fullViewableName" type="xsd:string"/>
-          <xsd:element name="specialEncoding" type="xsd:string"/>
-        </xsd:all>
-      </xsd:complexType>
-
-    </xsd:schema>
-  </types>
-
-  <!-- Messages for Google Web APIs - cached page, search, spelling. -->
-
-  <message name="doGetCachedPage">
-    <part name="key"            type="xsd:string"/>
-    <part name="url"            type="xsd:string"/>
-  </message>
-
-  <message name="doGetCachedPageResponse">
-    <part name="return"         type="xsd:base64Binary"/>
-  </message>
-
-  <message name="doSpellingSuggestion">
-    <part name="key"            type="xsd:string"/>
-    <part name="phrase"         type="xsd:string"/>
-  </message>
-
-  <message name="doSpellingSuggestionResponse">
-    <part name="return"         type="xsd:string"/>
-  </message>
-
-  <!-- note, ie and oe are ignored by server; all traffic is UTF-8. -->
-
-  <message name="doGoogleSearch">
-    <part name="key"            type="xsd:string"/>
-    <part name="q"              type="xsd:string"/>
-    <part name="start"          type="xsd:int"/>
-    <part name="maxResults"     type="xsd:int"/>
-    <part name="filter"         type="xsd:boolean"/>
-    <part name="restrict"       type="xsd:string"/>
-    <part name="safeSearch"     type="xsd:boolean"/>
-    <part name="lr"             type="xsd:string"/>
-    <part name="ie"             type="xsd:string"/>
-    <part name="oe"             type="xsd:string"/>
-  </message>
-
-  <message name="doGoogleSearchResponse">
-    <part name="return"         type="typens:GoogleSearchResult"/>
-  </message>
-
-  <!-- Port for Google Web APIs, "GoogleSearch" -->
-
-  <portType name="GoogleSearchPort">
-
-    <operation name="doGetCachedPage">
-      <input message="typens:doGetCachedPage"/>
-      <output message="typens:doGetCachedPageResponse"/>
-    </operation>
-
-    <operation name="doSpellingSuggestion">
-      <input message="typens:doSpellingSuggestion"/>
-      <output message="typens:doSpellingSuggestionResponse"/>
-    </operation>
-
-    <operation name="doGoogleSearch">
-      <input message="typens:doGoogleSearch"/>
-      <output message="typens:doGoogleSearchResponse"/>
-    </operation>
-
-  </portType>
-
-
-  <!-- Binding for Google Web APIs - RPC, SOAP over HTTP -->
-
-  <binding name="GoogleSearchBinding" type="typens:GoogleSearchPort">
-    <soap:binding style="rpc"
-                  transport="http://schemas.xmlsoap.org/soap/http"/>
-
-    <operation name="doGetCachedPage">
-      <soap:operation soapAction="urn:GoogleSearchAction"/>
-      <input>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </input>
-      <output>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </output>
-    </operation>
-
-    <operation name="doSpellingSuggestion">
-      <soap:operation soapAction="urn:GoogleSearchAction"/>
-      <input>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </input>
-      <output>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </output>
-    </operation>
-
-    <operation name="doGoogleSearch">
-      <soap:operation soapAction="urn:GoogleSearchAction"/>
-      <input>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </input>
-      <output>
-        <soap:body use="encoded"
-                   namespace="urn:GoogleSearch"
-                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
-      </output>
-    </operation>
-  </binding>
-
-  <!-- Endpoint for Google Web APIs -->
-  <service name="GoogleSearchService">
-    <port name="GoogleSearchPort" binding="typens:GoogleSearchBinding">
-      <soap:address location="http://api.google.com/search/beta2"/>
-    </port>
-  </service>
-
-</definitions>
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php
deleted file mode 100644
index 9e38d1e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-interface InterfaceWithStaticMethod
-{
-    public static function staticMethod();
-}
-
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php
deleted file mode 100644
index f8db62e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-class MethodCallback
-{
-    public static function staticCallback()
-    {
-        $args = func_get_args();
-
-        if ($args == array('foo', 'bar')) {
-            return 'pass';
-        }
-    }
-
-    public function nonStaticCallback()
-    {
-        $args = func_get_args();
-
-        if ($args == array('foo', 'bar')) {
-            return 'pass';
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php
deleted file mode 100644
index ef26f3e..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-class MethodCallbackByReference
-{
-    public function bar(&$a, &$b, $c)
-    {
-        Legacy::bar($a, $b, $c);
-    }
-
-    public function callback(&$a, &$b, $c)
-    {
-        $b = 1;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php
deleted file mode 100644
index a4ccb24..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-class Mockable
-{
-    public $constructorArgs;
-    public $cloned;
-
-    public function __construct($arg1 = NULL, $arg2 = NULL)
-    {
-        $this->constructorArgs = array($arg1, $arg2);
-    }
-
-    public function mockableMethod()
-    {
-        // something different from NULL
-        return TRUE;
-    }
-
-    public function anotherMockableMethod()
-    {
-        // something different from NULL
-        return TRUE;
-    }
-
-    public function __clone()
-    {
-        $this->cloned = TRUE;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php
deleted file mode 100644
index 1b119f1..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-class PartialMockTestClass
-{
-    public $constructorCalled = FALSE;
-
-    public function __construct()
-    {
-        $this->constructorCalled = TRUE;
-    }
-
-    public function doSomething()
-    {
-    }
-
-    public function doAnotherThing()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php
deleted file mode 100644
index e000266..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-class SingletonClass
-{
-    public static function getInstance()
-    {
-    }
-
-    public function doSomething()
-    {
-    }
-
-    protected function __construct()
-    {
-    }
-
-    final private function __sleep()
-    {
-    }
-
-    final private function __wakeup()
-    {
-    }
-
-    final private function __clone()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php
deleted file mode 100644
index 2cd53b2..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-class SomeClass
-{
-    public function doSomething($a, $b)
-    {
-        return NULL;
-    }
-
-    public function doSomethingElse($c)
-    {
-        return NULL;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php
deleted file mode 100644
index ac467c9..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class StaticMockTestClass
-{
-    public static function doSomething()
-    {
-    }
-
-    public static function doSomethingElse()
-    {
-        return static::doSomething();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php b/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php
deleted file mode 100644
index 3467cce..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-interface TraversableMockTestInterface extends Traversable
-{
-}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php b/core/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php
deleted file mode 100644
index 67d3a77..0000000
--- a/core/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-require __DIR__ . '/_fixture/FunctionCallback.php';
-require __DIR__ . '/../vendor/autoload.php';
-
diff --git a/core/vendor/phpunit/phpunit/.gitattributes b/core/vendor/phpunit/phpunit/.gitattributes
deleted file mode 100644
index 821227a..0000000
--- a/core/vendor/phpunit/phpunit/.gitattributes
+++ /dev/null
@@ -1,3 +0,0 @@
-*.php diff=php
-composer.json merge=ours
-src/Runner/Version.php merge=ours
diff --git a/core/vendor/phpunit/phpunit/.gitignore b/core/vendor/phpunit/phpunit/.gitignore
deleted file mode 100644
index 65a2321..0000000
--- a/core/vendor/phpunit/phpunit/.gitignore
+++ /dev/null
@@ -1,22 +0,0 @@
-build/api
-build/code-browser
-build/coverage
-build/logs
-build/pdepend
-build/phar
-build/phpdox
-build/*.phar
-build/*.phar.asc
-tests/TextUI/*.diff
-tests/TextUI/*.exp
-tests/TextUI/*.log
-tests/TextUI/*.out
-tests/TextUI/*.php
-/bin
-/vendor
-/composer.lock
-/composer.phar
-phpunit.xml
-cache.properties
-.idea
-.ant_targets
diff --git a/core/vendor/phpunit/phpunit/.travis.yml b/core/vendor/phpunit/phpunit/.travis.yml
deleted file mode 100644
index 61b7cc9..0000000
--- a/core/vendor/phpunit/phpunit/.travis.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-language: php
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-  - hhvm-nightly
-
-matrix:
-  allow_failures:
-    - php: hhvm
-    - php: hhvm-nightly
-
-sudo: false
-
-before_install:
-  - composer self-update
-
-install:
-  - travis_retry composer install --no-interaction --prefer-source
-
-script:
-  - ./phpunit
-  - ./phpunit --configuration ./build/travis-ci-fail.xml > /dev/null; if [ $? -eq 0 ]; then echo "SHOULD FAIL"; exit 1; else echo "fail checked"; fi;
-  - xmllint --noout --schema phpunit.xsd phpunit.xml.dist
-  - xmllint --noout --schema phpunit.xsd tests/_files/configuration.xml
-  - xmllint --noout --schema phpunit.xsd tests/_files/configuration_empty.xml
-  - xmllint --noout --schema phpunit.xsd tests/_files/configuration_xinclude.xml -xinclude
-
-notifications:
-  email: false
-  webhooks:
-    urls:
-      - https://webhooks.gitter.im/e/6668f52f3dd4e3f81960
-    on_success: always
-    on_failure: always
-    on_start: false
-
diff --git a/core/vendor/phpunit/phpunit/CONTRIBUTING.md b/core/vendor/phpunit/phpunit/CONTRIBUTING.md
deleted file mode 100644
index b6421e2..0000000
--- a/core/vendor/phpunit/phpunit/CONTRIBUTING.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Contributing to PHPUnit
-
-Contributions to PHPUnit, its related modules, and its documentation are always welcome. You make our lives easier by sending us your contributions through GitHub pull requests.
-
-Pull requests for bug fixes must be based on the current stable branch whereas pull requests for new features must be based on `master`.
-
-We are trying to keep backwards compatibility breaks in PHPUnit to an absolute minimum. Please take this into account when proposing changes.
-
-Due to time constraints, we are not always able to respond as quickly as we would like. Please do not take delays personal and feel free to remind us here or on IRC if you feel that we forgot to respond.
-
-## Using PHPUnit From a Git Checkout
-
-The following commands can be used to perform the initial checkout of PHPUnit:
-
-    git clone git://github.com/sebastianbergmann/phpunit.git
-    cd phpunit
-
-Retrieve PHPUnit's dependencies using [Composer](http://getcomposer.org/):
-
-    wget http://getcomposer.org/composer.phar
-    php composer.phar install
-
-The `phpunit` script can be used to invoke the PHPUnit test runner.
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.0.md b/core/vendor/phpunit/phpunit/ChangeLog-4.0.md
deleted file mode 100644
index 705f221..0000000
--- a/core/vendor/phpunit/phpunit/ChangeLog-4.0.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# Changes in PHPUnit 4.0
-
-## PHPUnit 4.0.20
-
-* Fixed [#1242](https://github.com/sebastianbergmann/phpunit/issues/1242): `--self-update` uses OpenSSL API that is deprecated in PHP 5.6
-
-## PHPUnit 4.0.19
-
-* Fixed [#1193](https://github.com/sebastianbergmann/phpunit/issues/1193): Process isolation does not work correctly when PHPUnit is used from PHAR
-* Fixed a BC break related to comparing `DOMNode` objects that was introduced in PHPUnit 4.0.18
-
-## PHPUnit 4.0.18
-
-* Fixed [#1218](https://github.com/sebastianbergmann/phpunit/issues/1218): `--self-update` destroys symlink
-
-## PHPUnit 4.0.17
-
-* [Display a message that the PEAR installation method is no longer supported when PHPUnit was installed using the PEAR Installer](https://github.com/sebastianbergmann/phpunit/commit/70b02c6be0176ab8ad3d3c9ec97480556c5dd63b)
-
-## PHPUnit 4.0.16
-
-* [Fixed handling of the `--report-useless-tests`, `--strict-coverage`, `--disallow-test-output`, and `--enforce-time-limit` options](https://github.com/sebastianbergmann/phpunit/commit/38baa9670711adedfe44ef24a33b568f61f3f045)
-
-## PHPUnit 4.0.15
-
-* New release of PHPUnit as PHAR and PEAR package with updated dependencies
-
-## PHPUnit 4.0.14
-
-* New release of PHPUnit as PHAR and PEAR package with updated dependencies
-
-## PHPUnit 4.0.13
-
-* New release of PHPUnit as PHAR and PEAR package with updated dependencies
-
-## PHPUnit 4.0.12
-
-* [Use blacklist from PHP_CodeCoverage](https://github.com/sebastianbergmann/phpunit/commit/16152ba4b8d0104ce34f60cb71b2b982ba84c898)
-
-## PHPUnit 4.0.11
-
-* [Fixed unintended autoloader invokation triggered by the `@beforeClass` and `@afterClass` annotations](https://github.com/sebastianbergmann/phpunit/commit/f12e10fddc3ccbddb652a04d9036aeb5a6d54bff)
-
-## PHPUnit 4.0.10
-
-* New release of PHPUnit as PHAR and PEAR package with updated dependencies (most notably a [fix](https://github.com/sebastianbergmann/phpunit-mock-objects/commit/c5e6274b8f2bf983cf883bb375cf44f99aff200e) in the mock object generator that caused a [performance regression](https://github.com/sebastianbergmann/phpunit/issues/1187))
-
-## PHPUnit 4.0.9
-
-* The "No code coverage will be generated." message was displayed even when code coverage reporting was not requested
-* Optimized the search for the `@before`, `@after`, `@beforeClass` and `@afterClass` annotations
-* Optimized the usage of `SebastianBergmann\Environment\Runtime::canCollectCodeCoverage()`
-
-## PHPUnit 4.0.8
-
-* Fixed [#1186](https://github.com/sebastianbergmann/phpunit/issues/1186): `@before` and `@after` methods are not called in `@dataProvider` methods
-
-## PHPUnit 4.0.7
-
-* Removed dependency on `phpunit/dbunit` in `composer.json` that was unintentionally added in PHPUnit 4.0.6
-
-## PHPUnit 4.0.6
-
-* New release of PHPUnit as PHAR and PEAR package with updated dependencies
-
-## PHPUnit 4.0.5
-
-* New release of PHPUnit as PHAR and PEAR package with updated dependencies
-
-## PHPUnit 4.0.4
-
-* Fixed stacktrace filtering when PHPUnit is used from a PHAR
-
-## PHPUnit 4.0.3
-
-* New release of PHPUnit as PHAR and PEAR package with updated dependencies
-
-## PHPUnit 4.0.2
-
-*  Fixed an issue related to displaying PHPUnit's version number
-
-## PHPUnit 4.0.1
-
-* Fixed collection of code coverage data for tests that use a data provider
-
-## PHPUnit 4.0.0
-
-* Implemented #382: Added the `$options` parameter to `PHPUnit_Framework_TestCase::getMockFromWsdl()` for configuring the `SoapClient`
-* Implemented #628: Added `PHPUnit_Framework_Assert::countOf(), a shortcut to get a `PHPUnit_Framework_Constraint_Count` instance
-* Implemented #711: `coverage-text` now has an XML `showOnlySummary` option
-* Implemented #719: The `--stderr` switch now respects `--colors` and `--debug`
-* Implemented #746: Allow identity checking for non-object types in all asserts that depend on `TraversableContains`
-* Implemented #758: Show a proper stack trace when @expectedException fails due to a unexpected exception being thrown
-* Implemented #773: Recursive and repeated arrays are more gracefully when comparison differences are exported
-* Implemented #813: Added `@before`, `@after`, `@beforeClass` and `@afterClass` annotations
-* Implemented #834: Added the `@requires OS` annotation
-* Implemented #835: Printers that extend `PHPUnit_TextUI_ResultPrinter` should have similar construction
-* Implemented #838: Added a base test listener
-* Implemented #859: Added PHP label validation to attribute assertions
-* Implemented #869: Added support for the adjacent sibling selector (+) to `PHPUnit_Util_XML::findNodes()`
-* Implemented #871: Add Comparator for DateTime objects
-* Implemented #877: Added new HTML5 tags to `PHPUnit_Util_XML::findNodes()`
-* Added `--coverage-crap4j` switch to generate code coverage report in Crap4J XML format
-* `assertCount()`, `assertNotCount()`, `assertSameSize()`, and `assertNotSameSize()` now support all objects that implement the `Traversable` interface
-* A test will now fail in strict mode when it uses the `@covers` annotation and code that is not expected to be covered is executed
-* All relative paths in a configuration file are now resolved relative to that configuration file
-* Fixed #240: XML strings are escaped by removing invalid characters
-* Fixed #261: `setUp()` and `setUpBeforeClass()` are run before filters are applied
-* Fixed #541: Excluded groups are counted towards total number of tests being executed
-* Fixed #789: PHP INI settings would not be passed to child processes
-* Fixed #806: Array references are now properly displayed in error output
-* Fixed #808: Resources are now reported as `resource(13) of type (stream)` instead of `NULL`
-* Fixed #873: PHPUnit suppresses exceptions thrown outside of test case function
-* Fixed: `phpt` test cases now use the correct php binary when executed through wrapper scripts
-
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.1.md b/core/vendor/phpunit/phpunit/ChangeLog-4.1.md
deleted file mode 100644
index cf18a30..0000000
--- a/core/vendor/phpunit/phpunit/ChangeLog-4.1.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# Changes in PHPUnit 4.1
-
-## PHPUnit 4.1.6
-
-* Fixed [#1380](https://github.com/sebastianbergmann/phpunit/issues/1380): `assertMatch()` returns `Unexpected end tag : hr`
-* Fixed [#1390](https://github.com/sebastianbergmann/phpunit/issues/1390): Licensing issue with third-party components bundled in PHAR distribution
-
-## PHPUnit 4.1.5
-
-* Implemented [#1330](https://github.com/sebastianbergmann/phpunit/issues/1330): Allow non-ambiguous shortened long options
-* Fixed [#529](https://github.com/sebastianbergmann/phpunit/issues/529): Tests missed in execution when another test extends from it 
-* Fixed [#1149](https://github.com/sebastianbergmann/phpunit/issues/1149): Test swallows output buffer when run in a separate process
-* Fixed [#1336](https://github.com/sebastianbergmann/phpunit/issues/1336): Problem in process isolation with global variables that contain an object which contains a string which contains multiple backslashes
-* Fixed [#1337](https://github.com/sebastianbergmann/phpunit/issues/1337): Data Provider with `\` at the end of the name breaks with process isolation
-* Fixed [#1345](https://github.com/sebastianbergmann/phpunit/issues/1345): Process isolation blocks infinitely upon fatal error in child process
-* Fixed [#1354](https://github.com/sebastianbergmann/phpunit/issues/1354): PHPUnit test suite fails on Windows
-* Fixed [#1369](https://github.com/sebastianbergmann/phpunit/issues/1369): Performance of `TestSuite::addTestFile()` and missing documentation
-* Fixed [#1374](https://github.com/sebastianbergmann/phpunit/issues/1374): `tearDown()` is called despite unmet requirements
-
-## PHPUnit 4.1.4
-
-* Fixed [#1265](https://github.com/sebastianbergmann/phpunit/issues/1265): `PHPUnit_Runner_StandardTestSuiteLoader` could not be configured as loader
-* Fixed [#1311](https://github.com/sebastianbergmann/phpunit/issues/1311): Incomplete XML Schema for PHPUnit XML configuration file
-* Fixed [#1314](https://github.com/sebastianbergmann/phpunit/issues/1314): Bug in configuration parser
-
-## PHPUnit 4.1.3
-
-* New release of PHPUnit as PHP Archive (PHAR) with updated dependencies
-
-## PHPUnit 4.1.2
-
-* New release of PHPUnit as PHP Archive (PHAR) with updated dependencies
-
-## PHPUnit 4.1.1
-
-* Added `--selfupdate` alias for `--self-update`
-* Fixed the constructor argument for `SebastianBergmann\Version`
-* Improved the fix for [#1133](https://github.com/sebastianbergmann/phpunit/issues/1133)
-
-## PHPUnit 4.1.0
-
-* The code to compare PHP values for equality (in `assertEquals()`, for instance) has been factored out into a [separate component](https://github.com/sebastianbergmann/comparator)
-* [The mock object generator is now created lazily](https://github.com/sebastianbergmann/phpunit/pull/1165)
-
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.2.md b/core/vendor/phpunit/phpunit/ChangeLog-4.2.md
deleted file mode 100644
index 2a8ae17..0000000
--- a/core/vendor/phpunit/phpunit/ChangeLog-4.2.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Changes in PHPUnit 4.2
-
-## PHPUnit 4.2.5
-
-* New release of PHPUnit as PHP Archive (PHAR) with updated dependencies
-
-## PHPUnit 4.2.4
-
-* Fixed [#1413](https://github.com/sebastianbergmann/phpunit/issues/1413): `assertCount()` hangs in infinite loop on HHVM
-
-## PHPUnit 4.2.3
-
-* Fixed [#1403](https://github.com/sebastianbergmann/phpunit/issues/1403): `phpunit --self-update` does not work
-
-## PHPUnit 4.2.2
-
-* Fixed [#1399](https://github.com/sebastianbergmann/phpunit/issues/1399): `enforceTimeLimit` configuration option is not handled
-
-## PHPUnit 4.2.1
-
-* Fixed [#1380](https://github.com/sebastianbergmann/phpunit/issues/1380): `assertMatch()` returns `Unexpected end tag : hr`
-* Fixed [#1390](https://github.com/sebastianbergmann/phpunit/issues/1390): Licensing issue with third-party components bundled in PHAR distribution
-
-## PHPUnit 4.2.0
-
-* Tests annotated with `@todo` will now be reported as risky when the `--disallow-todo-tests` option is used or `beStrictAboutTodoAnnotatedTests=true` is set in the configuration file
-* The `atLeast()` and `atMost()` invocation count matchers were added
-* The `assertTag()` and `assertSelect*()` assertion methods have been deprecated in favor of the [phpunit-dom-assertions](https://github.com/phpunit/phpunit-dom-assertions) extension; these methods will be removed in PHPUnit 5.0
-* `trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);` is used now to indicate that a PHPUnit API method is deprecated; the old "system" for deprecating methods has been removed
-* The PHP Archive (PHAR) distribution of PHPUnit can now be used as a library; `include()`ing or `require()`ing it will not execute the CLI test runner
-
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.3.md b/core/vendor/phpunit/phpunit/ChangeLog-4.3.md
deleted file mode 100644
index e9d4496..0000000
--- a/core/vendor/phpunit/phpunit/ChangeLog-4.3.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Changes in PHPUnit 4.3
-
-## PHPUnit 4.3.5
-
-* Merged [#1484](https://github.com/sebastianbergmann/phpunit/issues/1484): Removed `lazymap` from blacklist as it is not longer used
-* Merged [#1489](https://github.com/sebastianbergmann/phpunit/issues/1489): Do not send output from tests in process isolation when testing output
-
-## PHPUnit 4.3.4
-
-* Fixed [#1428](https://github.com/sebastianbergmann/phpunit/issues/1428): Issue with Composer dependencies
-* Fixed [#1447](https://github.com/sebastianbergmann/phpunit/issues/1447): PHPT tests treat line endings inconsistently
-
-## PHPUnit 4.3.3
-
-* Fixed [#1471](https://github.com/sebastianbergmann/phpunit/issues/1471): Output made while test is running is printed although `expectOutputString()` is used when an assertion fails
-
-## PHPUnit 4.3.2
-
-* Fixed [#1468](https://github.com/sebastianbergmann/phpunit/issues/1468): Incomplete and `@todo` annotated tests are counted twice
-
-## PHPUnit 4.3.1
-
-* New release of PHPUnit as PHP Archive (PHAR) with updated dependencies
-
-## PHPUnit 4.3.0
-
-* Merged [#1358](https://github.com/sebastianbergmann/phpunit/issues/1358): Implement `@expectedExceptionMessageRegExp` annotation
-* Merged [#1360](https://github.com/sebastianbergmann/phpunit/issues/1360): Allow a test to identify whether it runs in isolation
-* Fixed [#1216](https://github.com/sebastianbergmann/phpunit/issues/1216): Bootstrap does not have global variables set when `--bootstrap` is specified on commandline
-* Fixed [#1351](https://github.com/sebastianbergmann/phpunit/issues/1351): `TestResult` object contains serialized test class upon test failure/exception in process isolation
-* Fixed [#1437](https://github.com/sebastianbergmann/phpunit/issues/1437): Risky test messages mask failures 
-
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.4.md b/core/vendor/phpunit/phpunit/ChangeLog-4.4.md
deleted file mode 100644
index 6b541c3..0000000
--- a/core/vendor/phpunit/phpunit/ChangeLog-4.4.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Changes in PHPUnit 4.4
-
-## PHPUnit 4.4.5
-
-* Fixed [#1592](https://github.com/sebastianbergmann/phpunit/issues/1592): Incorrect dependency information
-
-## PHPUnit 4.4.4
-
-* Fixed [#1587](https://github.com/sebastianbergmann/phpunit/issues/1587): Class `SebastianBergmann\Exporter\Context` not found
-
-## PHPUnit 4.4.3
-
-* New PHAR release due to updated dependencies
-
-## PHPUnit 4.4.2
-
-* Merged [#1567](https://github.com/sebastianbergmann/phpunit/issues/1567): `coverage-crap4j` missing in XSD for PHPUnit XML configuration
-* Merged [#1573](https://github.com/sebastianbergmann/phpunit/issues/1573): Updates for the XSD for PHPUnit XML configuration
-* Fixed [#1570](https://github.com/sebastianbergmann/phpunit/issues/1570): Test that prints output is marked as failure and not as risky when `--disallow-test-output` is used
-* Fixed `--stderr` with `--tap` or `--testdox` options
-
-## PHPUnit 4.4.1
-
-* Merged [#1528](https://github.com/sebastianbergmann/phpunit/issues/1528): Add `expectedCount()` to `toString()` return value
-
-## PHPUnit 4.4.0
-
-* Merged [#1371](https://github.com/sebastianbergmann/phpunit/issues/1371): Implement `assertArraySubset()` assertion
-* Merged [#1427](https://github.com/sebastianbergmann/phpunit/issues/1427): Improve failure output for tests when provided data is binary
-* Merged [#1439](https://github.com/sebastianbergmann/phpunit/issues/1439): Add support for `double` to `assertInternalType()`
-* Merged [#1458](https://github.com/sebastianbergmann/phpunit/issues/1458): Only enable colors when PHPUnit is run on a console (and output is not sent to a file)
-
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.5.md b/core/vendor/phpunit/phpunit/ChangeLog-4.5.md
deleted file mode 100644
index 2b280da..0000000
--- a/core/vendor/phpunit/phpunit/ChangeLog-4.5.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Changes in PHPUnit 4.5
-
-## PHPUnit 4.5.0
-
-* Added out-of-the-box support for [Prophecy](https://github.com/phpspec/prophecy)
-* Implemented [#137](https://github.com/sebastianbergmann/phpunit/issues/137): Add support for variable number of tests shown per line in default result printer
-* Merged [#1478](https://github.com/sebastianbergmann/phpunit/issues/1478): Improve the performance of `PHPUnit_Framework_Constraint_IsEqual` (which is used by `assertEquals()`, for instance) for the most common case
-* Fixed [#1474](https://github.com/sebastianbergmann/phpunit/issues/1474): Allow the registration of custom comparators for `assertEquals()` et al. (again)
-* [Deprecated](https://github.com/sebastianbergmann/phpunit/commit/7abe7796f77b13fdf3cfc506fb987d6c2ab477f5) the `--strict` commandline option and the XML configuration's `strict` attribute
-
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.6.md b/core/vendor/phpunit/phpunit/ChangeLog-4.6.md
deleted file mode 100644
index 7c0ea25..0000000
--- a/core/vendor/phpunit/phpunit/ChangeLog-4.6.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Changes in PHPUnit 4.6
-
-## PHPUnit 4.6.4
-
-* The default list of blacklisted classes is now always passed to PHP_CodeCoverage
-
-## PHPUnit 4.6.3
-
-* Updated the default list of blacklisted classes
-
-## PHPUnit 4.6.2
-
-* Fixed [#1667](https://github.com/sebastianbergmann/phpunit/issues/1667): Loading `src/Framework/Assert/Functions.php` by default causes collisions
-
-## PHPUnit 4.6.1
-
-* Fixed [#1665](https://github.com/sebastianbergmann/phpunit/issues/1665): PHPUnit 4.6.0 PHAR does not work when renamed to `phpunit`
-
-## PHPUnit 4.6.0
-
-* Added the `--strict-global-state` command-line option and the `beStrictAboutChangesToGlobalState` configuration setting for enabling a check that global variabes, super-global variables, and static attributes in user-defined classes are not modified during a test
-* Merged [#1527](https://github.com/sebastianbergmann/phpunit/issues/1527) and [#1529](https://github.com/sebastianbergmann/phpunit/issues/1529): Allow to define options for displaying colors
-* Merged [#1528](https://github.com/sebastianbergmann/phpunit/issues/1528): Improve message when `PHPUnit_Framework_Constraint_Count` is used with logical operators
-* Merged [#1537](https://github.com/sebastianbergmann/phpunit/issues/1537): Fix problem of `--stderr` with `--tap` and `--testdox`
-* Fixed [#1599](https://github.com/sebastianbergmann/phpunit/issues/1599): The PHAR build of PHPUnit no longer uses an autoloader to load PHPUnit's own classes and instead statically loads all classes on startup
-
diff --git a/core/vendor/phpunit/phpunit/LICENSE b/core/vendor/phpunit/phpunit/LICENSE
deleted file mode 100644
index 32ddc8e..0000000
--- a/core/vendor/phpunit/phpunit/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-PHPUnit
-
-Copyright (c) 2001-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/phpunit/phpunit/README.md b/core/vendor/phpunit/phpunit/README.md
deleted file mode 100644
index 585cc02..0000000
--- a/core/vendor/phpunit/phpunit/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# PHPUnit
-
-PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.
-
-[![Latest Stable Version](https://poser.pugx.org/phpunit/phpunit/v/stable.png)](https://packagist.org/packages/phpunit/phpunit)
-[![Build Status](https://travis-ci.org/sebastianbergmann/phpunit.svg?branch=4.6)](https://travis-ci.org/sebastianbergmann/phpunit)
-[![Dependency Status](https://www.versioneye.com/php/phpunit:phpunit/4.6/badge.png)](https://www.versioneye.com/php/phpunit:phpunit/dev-master)
-[![Reference Status](https://www.versioneye.com/php/phpunit:phpunit/reference_badge.svg)](https://www.versioneye.com/php/phpunit:phpunit/references)
-
-## Installation
-
-We distribute a [PHP Archive (PHAR)](http://php.net/phar) that has all required (as well as some optional) dependencies of PHPUnit bundled in a single file:
-
-    wget https://phar.phpunit.de/phpunit.phar
-    chmod +x phpunit.phar
-    mv phpunit.phar /usr/local/bin/phpunit
-
-You can also immediately use the PHAR after you have downloaded it, of course:
-
-    wget https://phar.phpunit.de/phpunit.phar
-    php phpunit.phar
-
-Alternatively, you may use [Composer](http://getcomposer.org/) to download and install PHPUnit as well as its dependencies. Please refer to the [documentation](https://phpunit.de/documentation.html) for details on how to do this.
-
-## Contribute
-
-Please refer to [CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md) for information on how to contribute to PHPUnit and its related projects.
-
-## List of Contributors
-
-Thanks to everyone who has contributed to PHPUnit! You can find a detailed list of contributors on every PHPUnit related package on GitHub. This list shows only the major components:
-
-* [PHPUnit](https://github.com/sebastianbergmann/phpunit/graphs/contributors)
-* [PHP_CodeCoverage](https://github.com/sebastianbergmann/php-code-coverage/graphs/contributors)
-* [PHPUnit_MockObject](https://github.com/sebastianbergmann/phpunit-mock-objects/graphs/contributors)
-
-A very special thanks to everyone who has contributed to the documentation and helps maintain the translations:
-
-* [PHPUnit Documentation](https://github.com/sebastianbergmann/phpunit-documentation/graphs/contributors)
-
diff --git a/core/vendor/phpunit/phpunit/build.xml b/core/vendor/phpunit/phpunit/build.xml
deleted file mode 100644
index 32ee1a0..0000000
--- a/core/vendor/phpunit/phpunit/build.xml
+++ /dev/null
@@ -1,392 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="PHPUnit" default="build">
- <property name="php" value="php"/>
-
- <target name="build"
-   depends="prepare,lint,phploc,pdepend,phpmd-ci,phpcs-ci,phpcpd,phpunit,phpdox"/>
-
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/bin"/>
-  <delete dir="${basedir}/vendor"/>
-  <delete file="${basedir}/composer.lock"/>
-  <delete dir="${basedir}/build/api"/>
-  <delete dir="${basedir}/build/code-browser"/>
-  <delete dir="${basedir}/build/coverage"/>
-  <delete dir="${basedir}/build/logs"/>
-  <delete dir="${basedir}/build/pdepend"/>
-  <delete dir="${basedir}/build/phar"/>
-  <delete dir="${basedir}/build/phpdox"/>
-
-  <delete>
-   <fileset dir="${basedir}/build">
-    <include name="**/*.phar" />
-    <include name="**/*.phar.asc" />
-   </fileset>
-  </delete>
- </target>
-
- <target name="prepare" description="Prepare for build">
-  <mkdir dir="${basedir}/build/api"/>
-  <mkdir dir="${basedir}/build/code-browser"/>
-  <mkdir dir="${basedir}/build/coverage"/>
-  <mkdir dir="${basedir}/build/logs"/>
-  <mkdir dir="${basedir}/build/pdepend"/>
-  <mkdir dir="${basedir}/build/phpdox"/>
- </target>
-
- <target name="download-composer" description="Downloads composer.phar (when it does not exist or is older than 30 days)">
-  <tstamp>
-   <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
-  </tstamp>
-  <delete>
-   <fileset dir="${basedir}">
-    <include name="composer.phar" />
-    <date datetime="${thirty.days.ago}" when="before"/>
-   </fileset>
-  </delete>
-
-  <get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
- </target>
-
- <target name="composer" depends="download-composer" description="Install dependencies with Composer">
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="install"/>
-  </exec>
- </target>
-
- <target name="lint">
-  <apply executable="${php}" failonerror="true">
-   <arg value="-l" />
-
-   <fileset dir="${basedir}/src">
-    <include name="**/*.php" />
-    <modified />
-   </fileset>
-
-   <fileset dir="${basedir}/tests">
-    <include name="**/*.php" />
-    <modified />
-   </fileset>
-  </apply>
- </target>
-
- <target name="phploc" description="Measure project size using PHPLOC">
-  <exec executable="phploc">
-   <arg value="--log-csv" />
-   <arg value="${basedir}/build/logs/phploc.csv" />
-   <arg value="--log-xml" />
-   <arg value="${basedir}/build/logs/phploc.xml" />
-   <arg path="${basedir}/src" />
-  </exec>
- </target>
-
- <target name="pdepend"
-         description="Calculate software metrics using PHP_Depend">
-  <exec executable="pdepend">
-   <arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" />
-   <arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" />
-   <arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" />
-   <arg path="${basedir}/src" />
-  </exec>
- </target>
-
- <target name="phpmd"
-         description="Perform project mess detection using PHPMD">
-  <exec executable="phpmd">
-   <arg path="${basedir}/src" />
-   <arg value="text" />
-   <arg value="${basedir}/build/phpmd.xml" />
-  </exec>
- </target>
-
- <target name="phpmd-ci"
-         description="Perform project mess detection using PHPMD">
-  <exec executable="phpmd">
-   <arg path="${basedir}/src" />
-   <arg value="xml" />
-   <arg value="${basedir}/build/phpmd.xml" />
-   <arg value="--reportfile" />
-   <arg value="${basedir}/build/logs/pmd.xml" />
-  </exec>
- </target>
-
- <target name="phpcs"
-         description="Find coding standard violations using PHP_CodeSniffer">
-  <exec executable="phpcs">
-   <arg value="--standard=PSR2" />
-   <arg value="--extensions=php" />
-   <arg path="${basedir}/src" />
-   <arg path="${basedir}/tests" />
-  </exec>
- </target>
-
- <target name="phpcs-ci"
-         description="Find coding standard violations using PHP_CodeSniffer">
-  <exec executable="phpcs" output="/dev/null">
-   <arg value="--report=checkstyle" />
-   <arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
-   <arg value="--standard=PSR2" />
-   <arg value="--extensions=php" />
-   <arg path="${basedir}/src" />
-   <arg path="${basedir}/tests" />
-  </exec>
- </target>
-
- <target name="phpcpd" description="Find duplicate code using PHPCPD">
-  <exec executable="phpcpd">
-   <arg value="--log-pmd" />
-   <arg value="${basedir}/build/logs/pmd-cpd.xml" />
-   <arg path="${basedir}/src" />
-  </exec>
- </target>
-
- <target name="phpunit" description="Run unit tests with PHPUnit">
-  <exec executable="${php}" failonerror="true">
-   <arg path="${basedir}/src" />
-  </exec>
- </target>
-
- <target name="phpdox"
-         description="Generate software project documentation using phpDox">
-  <exec executable="phpdox" />
- </target>
-
- <target name="signed-phar"
-         description="Create signed PHAR archive of PHPUnit and all its dependencies (release)"
-         depends="phar">
-  <exec executable="bash" outputproperty="version">
-   <arg value="-c" />
-   <arg value="${basedir}/phpunit --version | awk 'BEGIN { ORS = &quot;&quot;; } {print $2}'" />
-  </exec>
-
-  <exec executable="gpg" failonerror="true">
-   <arg value="--armor" />
-   <arg value="--detach-sign" />
-   <arg path="${basedir}/build/phpunit-${version}.phar" />
-  </exec>
- </target>
-
- <target name="phar"
-         description="Create PHAR archive of PHPUnit and all its dependencies (release)"
-         depends="phar-prepare">
-  <exec executable="bash" outputproperty="version">
-   <arg value="-c" />
-   <arg value="${basedir}/phpunit --version | awk 'BEGIN { ORS = &quot;&quot;; } {print $2}'" />
-  </exec>
-
-  <antcall target="phar-build">
-   <param name="version" value="${version}"/>
-  </antcall>
- </target>
-
- <target name="phar-alpha"
-         description="Create PHAR archive of PHPUnit and all its dependencies (alpha)"
-         depends="phar-prepare">
-  <antcall target="phar-build">
-   <param name="version" value="alpha"/>
-  </antcall>
- </target>
-
- <target name="phar-beta"
-         description="Create PHAR archive of PHPUnit and all its dependencies (beta)"
-         depends="phar-prepare">
-  <antcall target="phar-build">
-   <param name="version" value="beta"/>
-  </antcall>
- </target>
-
- <target name="phar-prepare" depends="clean,download-composer">
-  <mkdir dir="${basedir}/build/phar"/>
-  <copy file="${basedir}/composer.json" tofile="${basedir}/composer.json.bak"/>
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="require"/>
-   <arg value="phpunit/dbunit:~1.3"/>
-   <arg value="phpunit/phpunit-selenium:~1.4"/>
-   <arg value="phpunit/php-invoker:~1.1"/>
-  </exec>
-
-  <move file="${basedir}/composer.json.bak" tofile="${basedir}/composer.json"/>
-
-  <exec executable="${basedir}/build/phar-manifest.php" output="${basedir}/build/phar/manifest.txt"/>
-  <copy todir="${basedir}/build/phar" file="${basedir}/build/ca.pem" />
-
-  <copy file="${basedir}/vendor/phpunit/php-code-coverage/LICENSE" tofile="${basedir}/build/phar/php-code-coverage/LICENSE"/>
-  <copy todir="${basedir}/build/phar/php-code-coverage">
-   <fileset dir="${basedir}/vendor/phpunit/php-code-coverage/src">
-    <include name="**/*" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/phpunit/php-file-iterator/LICENSE" tofile="${basedir}/build/phar/php-file-iterator/LICENSE"/>
-  <copy todir="${basedir}/build/phar/php-file-iterator">
-   <fileset dir="${basedir}/vendor/phpunit/php-file-iterator/src">
-    <include name="**/*.php" />
-    <exclude name="**/Autoload.*" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/phpunit/php-text-template/LICENSE" tofile="${basedir}/build/phar/php-text-template/LICENSE"/>
-  <copy todir="${basedir}/build/phar/php-text-template">
-   <fileset dir="${basedir}/vendor/phpunit/php-text-template/Text">
-    <include name="**/*.php" />
-    <exclude name="**/Autoload.*" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/phpunit/php-timer/LICENSE" tofile="${basedir}/build/phar/php-timer/LICENSE"/>
-  <copy todir="${basedir}/build/phar/php-timer">
-   <fileset dir="${basedir}/vendor/phpunit/php-timer/PHP">
-    <include name="**/*.php" />
-    <exclude name="**/Autoload.*" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/phpunit/php-token-stream/LICENSE" tofile="${basedir}/build/phar/php-token-stream/LICENSE"/>
-  <copy todir="${basedir}/build/phar/php-token-stream">
-   <fileset dir="${basedir}/vendor/phpunit/php-token-stream/src">
-    <include name="**/*.php" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/phpunit/phpunit-mock-objects/LICENSE" tofile="${basedir}/build/phar/phpunit-mock-objects/LICENSE"/>
-  <copy todir="${basedir}/build/phar/phpunit-mock-objects">
-   <fileset dir="${basedir}/vendor/phpunit/phpunit-mock-objects/src">
-    <include name="**/*" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/sebastian/comparator/LICENSE" tofile="${basedir}/build/phar/sebastian-comparator/LICENSE"/>
-  <copy todir="${basedir}/build/phar/sebastian-comparator">
-   <fileset dir="${basedir}/vendor/sebastian/comparator/src">
-    <include name="**/*.php" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/sebastian/diff/LICENSE" tofile="${basedir}/build/phar/sebastian-diff/LICENSE"/>
-  <copy todir="${basedir}/build/phar/sebastian-diff">
-   <fileset dir="${basedir}/vendor/sebastian/diff/src">
-    <include name="**/*.php" />
-    <exclude name="**/autoload.php" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/sebastian/environment/LICENSE" tofile="${basedir}/build/phar/sebastian-environment/LICENSE"/>
-  <copy todir="${basedir}/build/phar/sebastian-environment">
-   <fileset dir="${basedir}/vendor/sebastian/environment/src">
-    <include name="**/*.php" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/sebastian/exporter/LICENSE" tofile="${basedir}/build/phar/sebastian-exporter/LICENSE"/>
-  <copy todir="${basedir}/build/phar/sebastian-exporter">
-   <fileset dir="${basedir}/vendor/sebastian/exporter/src">
-    <include name="**/*.php" />
-    <exclude name="**/autoload.php" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/sebastian/recursion-context/LICENSE" tofile="${basedir}/build/phar/sebastian-recursion-context/LICENSE"/>
-  <copy todir="${basedir}/build/phar/sebastian-recursion-context">
-   <fileset dir="${basedir}/vendor/sebastian/recursion-context/src">
-    <include name="**/*.php" />
-    <exclude name="**/autoload.php" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/sebastian/global-state/LICENSE" tofile="${basedir}/build/phar/sebastian-global-state/LICENSE"/>
-  <copy todir="${basedir}/build/phar/sebastian-global-state">
-   <fileset dir="${basedir}/vendor/sebastian/global-state/src">
-    <include name="**/*.php" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/sebastian/version/LICENSE" tofile="${basedir}/build/phar/sebastian-version/LICENSE"/>
-  <copy todir="${basedir}/build/phar/sebastian-version">
-   <fileset dir="${basedir}/vendor/sebastian/version/src">
-    <include name="**/*.php" />
-    <exclude name="**/autoload.php" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/doctrine/instantiator/LICENSE" tofile="${basedir}/build/phar/doctrine-instantiator/LICENSE"/>
-  <copy todir="${basedir}/build/phar/doctrine-instantiator">
-   <fileset dir="${basedir}/vendor/doctrine/instantiator/src">
-    <include name="**/*.php" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE" tofile="${basedir}/build/phar/symfony/LICENSE"/>
-  <copy todir="${basedir}/build/phar/symfony">
-   <fileset dir="${basedir}/vendor/symfony">
-    <include name="**/*.php" />
-    <exclude name="**/Tests/**" />
-   </fileset>
-  </copy>
-
-  <copy todir="${basedir}/build/phar/dbunit">
-   <fileset dir="${basedir}/vendor/phpunit/dbunit/PHPUnit">
-    <include name="**/*.php" />
-    <exclude name="**/Autoload.*" />
-   </fileset>
-  </copy>
-
-  <copy todir="${basedir}/build/phar/php-invoker">
-   <fileset dir="${basedir}/vendor/phpunit/php-invoker/PHP">
-    <include name="**/*.php" />
-    <exclude name="**/Autoload.*" />
-   </fileset>
-  </copy>
-
-  <copy todir="${basedir}/build/phar/phpunit-selenium">
-   <fileset dir="${basedir}/vendor/phpunit/phpunit-selenium/PHPUnit">
-    <include name="**/*.php" />
-    <exclude name="**/Autoload.*" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/phpdocumentor/reflection-docblock/LICENSE" tofile="${basedir}/build/phar/phpdocumentor-reflection-docblock/LICENSE"/>
-  <copy todir="${basedir}/build/phar/phpdocumentor-reflection-docblock">
-   <fileset dir="${basedir}/vendor/phpdocumentor/reflection-docblock/src">
-    <include name="**/*.php" />
-   </fileset>
-  </copy>
-
-  <copy file="${basedir}/vendor/phpspec/prophecy/LICENSE" tofile="${basedir}/build/phar/phpspec-prophecy/LICENSE"/>
-  <copy todir="${basedir}/build/phar/phpspec-prophecy">
-   <fileset dir="${basedir}/vendor/phpspec/prophecy/src">
-    <include name="**/*.php" />
-   </fileset>
-  </copy>
- </target>
-
- <target name="phar-build">
-  <copy todir="${basedir}/build/phar/phpunit">
-   <fileset dir="${basedir}/src">
-    <include name="**/*.php" />
-    <include name="**/*.tpl*" />
-   </fileset>
-  </copy>
-
-  <exec executable="${basedir}/build/phar-version.php" outputproperty="_version">
-   <arg value="${version}" />
-  </exec>
-
-  <exec executable="phpab">
-   <arg value="--all" />
-   <arg value="--static" />
-   <arg value="--phar" />
-   <arg value="--output" />
-   <arg path="${basedir}/build/phpunit-${_version}.phar" />
-   <arg value="--template" />
-   <arg path="${basedir}/build/phar-autoload.php.in" />
-   <arg path="${basedir}/build/phar" />
-  </exec>
-
-  <chmod file="${basedir}/build/phpunit-${_version}.phar" perm="ugo+rx"/>
- </target>
-</project>
-
diff --git a/core/vendor/phpunit/phpunit/build/ca.pem b/core/vendor/phpunit/phpunit/build/ca.pem
deleted file mode 100644
index 960f265..0000000
--- a/core/vendor/phpunit/phpunit/build/ca.pem
+++ /dev/null
@@ -1,44 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW
-MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg
-Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh
-dGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM2WhcNMzYwOTE3MTk0NjM2WjB9
-MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi
-U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh
-cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA
-A4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk
-pMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf
-OQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C
-Ji/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT
-Kqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi
-HzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM
-Av+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w
-+2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+
-Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3
-Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B
-26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID
-AQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
-FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9j
-ZXJ0LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3Js
-LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFM
-BgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0
-Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5zdGFy
-dGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3Rh
-cnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlh
-YmlsaXR5LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2Yg
-dGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFp
-bGFibGUgYXQgaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJ
-YIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNT
-TCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAgEAFmyZ
-9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8
-jhvh3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUW
-FjgKXlf2Ysd6AgXmvB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJz
-ewT4F+irsfMuXGRuczE6Eri8sxHkfY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1
-ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3fsNrarnDy0RLrHiQi+fHLB5L
-EUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZEoalHmdkrQYu
-L6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
-yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuC
-O3NJo2pXh5Tl1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6V
-um0ABj6y6koQOdjQK/W/7HW/lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkySh
-NOsF/5oirpt9P/FlUQqmMGqz9IgcgA38corog14=
------END CERTIFICATE-----
diff --git a/core/vendor/phpunit/phpunit/build/phar-autoload.php.in b/core/vendor/phpunit/phpunit/build/phar-autoload.php.in
deleted file mode 100644
index c2b2d15..0000000
--- a/core/vendor/phpunit/phpunit/build/phar-autoload.php.in
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env php
-<?php
-if (__FILE__ == realpath($GLOBALS['_SERVER']['SCRIPT_NAME'])) {
-    $phar    = realpath($GLOBALS['_SERVER']['SCRIPT_NAME']);
-    $execute = true;
-} else {
-    $files   = get_included_files();
-    $phar    = $files[0];
-    $execute = false;
-}
-
-define('__PHPUNIT_PHAR__', str_replace(DIRECTORY_SEPARATOR, '/', $phar));
-define('__PHPUNIT_PHAR_ROOT__', 'phar://___PHAR___');
-
-Phar::mapPhar('___PHAR___');
-
-___FILELIST___
-
-if ($execute) {
-    if (isset($_SERVER['argv'][1]) && $_SERVER['argv'][1] == '--manifest') {
-        print file_get_contents(__PHPUNIT_PHAR_ROOT__ . '/manifest.txt');
-        exit;
-    }
-
-    PHPUnit_TextUI_Command::main();
-}
-
-__HALT_COMPILER();
diff --git a/core/vendor/phpunit/phpunit/build/phar-manifest.php b/core/vendor/phpunit/phpunit/build/phar-manifest.php
deleted file mode 100755
index 474686b..0000000
--- a/core/vendor/phpunit/phpunit/build/phar-manifest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env php
-<?php
-print 'phpunit/phpunit: ';
-
-$tag = @exec('git describe --tags 2>&1');
-
-if (strpos($tag, '-') === false && strpos($tag, 'No names found') === false) {
-    print $tag;
-} else {
-    $branch = @exec('git rev-parse --abbrev-ref HEAD');
-    $hash   = @exec('git log -1 --format="%H"');
-    print $branch . '@' . $hash;
-}
-
-print "\n";
-
-$lock = json_decode(file_get_contents(__DIR__ . '/../composer.lock'));
-
-foreach ($lock->packages as $package) {
-    print $package->name . ': ' . $package->version;
-
-    if (!preg_match('/^[v= ]*(([0-9]+)(\\.([0-9]+)(\\.([0-9]+)(-([0-9]+))?(-?([a-zA-Z-+][a-zA-Z0-9\\.\\-:]*)?)?)?)?)$/', $package->version)) {
-        print '@' . $package->source->reference;
-    }
-
-    print "\n";
-}
diff --git a/core/vendor/phpunit/phpunit/build/phar-version.php b/core/vendor/phpunit/phpunit/build/phar-version.php
deleted file mode 100755
index 83b8746..0000000
--- a/core/vendor/phpunit/phpunit/build/phar-version.php
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env php
-<?php
-if (!isset($argv[1])) {
-    exit(1);
-}
-
-if ($argv[1] == 'alpha' || $argv[1] == 'beta') {
-    $version = sprintf('%s-%s', $argv[1], date('Y-m-d'));
-} else {
-    $version = $argv[1];
-}
-
-file_put_contents(
-    __DIR__ . '/phar/phpunit/Runner/Version.php',
-    str_replace(
-        'private static $pharVersion;',
-        'private static $pharVersion = "' . $version . '";',
-        file_get_contents(__DIR__ . '/phar/phpunit/Runner/Version.php')
-    )
-);
-
-print $version;
diff --git a/core/vendor/phpunit/phpunit/build/phpmd.xml b/core/vendor/phpunit/phpunit/build/phpmd.xml
deleted file mode 100644
index 23ecb8b..0000000
--- a/core/vendor/phpunit/phpunit/build/phpmd.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-
-<ruleset name="Sebastian"
-         xmlns="http://pmd.sf.net/ruleset/1.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
-         xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
-  <description>Sebastian Bergmann's ruleset</description>
-
-  <rule ref="rulesets/codesize.xml/CyclomaticComplexity" />
-  <rule ref="rulesets/codesize.xml/NPathComplexity" />
-  <rule ref="rulesets/codesize.xml/ExcessiveClassComplexity" />
-  <rule ref="rulesets/codesize.xml/ExcessiveClassLength" />
-  <rule ref="rulesets/codesize.xml/ExcessiveMethodLength" />
-  <rule ref="rulesets/codesize.xml/ExcessiveParameterList" />
-
-  <rule ref="rulesets/design.xml/EvalExpression" />
-  <rule ref="rulesets/design.xml/ExitExpression" />
-  <rule ref="rulesets/design.xml/GotoStatement" />
-
-  <rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass" />
-
-  <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter" />
-  <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable" />
-  <rule ref="rulesets/unusedcode.xml/UnusedPrivateField" />
-  <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod" />
-</ruleset>
diff --git a/core/vendor/phpunit/phpunit/build/travis-ci-fail.xml b/core/vendor/phpunit/phpunit/build/travis-ci-fail.xml
deleted file mode 100644
index 4586989..0000000
--- a/core/vendor/phpunit/phpunit/build/travis-ci-fail.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.4/phpunit.xsd"
-         bootstrap="../tests/bootstrap.php"
-         backupGlobals="false"
-         verbose="true">
-  <testsuites>
-    <testsuite name="small">
-      <directory suffix=".phpt">../tests/Fail</directory>
-    </testsuite>
-  </testsuites>
-
-  <php>
-    <const name="PHPUNIT_TESTSUITE" value="true"/>
-  </php>
-</phpunit>
diff --git a/core/vendor/phpunit/phpunit/composer.json b/core/vendor/phpunit/phpunit/composer.json
deleted file mode 100644
index f5f65b9..0000000
--- a/core/vendor/phpunit/phpunit/composer.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
-    "name": "phpunit/phpunit",
-    "description": "The PHP Unit Testing framework.",
-    "type": "library",
-    "keywords": [
-        "phpunit",
-        "xunit",
-        "testing"
-    ],
-    "homepage": "https://phpunit.de/",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sebastian@phpunit.de",
-            "role": "lead"
-        }
-    ],
-    "support": {
-        "issues": "https://github.com/sebastianbergmann/phpunit/issues",
-        "irc": "irc://irc.freenode.net/phpunit"
-    },
-    "require": {
-        "php": ">=5.3.3",
-        "phpunit/php-file-iterator": "~1.4",
-        "phpunit/php-text-template": "~1.2",
-        "phpunit/php-code-coverage": "~2.0,>=2.0.11",
-        "phpunit/php-timer": "~1.0",
-        "phpunit/phpunit-mock-objects": "~2.3",
-        "phpspec/prophecy": "~1.3,>=1.3.1",
-        "symfony/yaml": "~2.1|~3.0",
-        "sebastian/comparator": "~1.1",
-        "sebastian/diff": "~1.2",
-        "sebastian/environment": "~1.2",
-        "sebastian/exporter": "~1.2",
-        "sebastian/global-state": "~1.0",
-        "sebastian/version": "~1.0",
-        "ext-dom": "*",
-        "ext-json": "*",
-        "ext-pcre": "*",
-        "ext-reflection": "*",
-        "ext-spl": "*"
-    },
-    "suggest": {
-        "phpunit/php-invoker": "~1.1"
-    },
-    "bin": [
-        "phpunit"
-    ],
-    "config": {
-        "bin-dir": "bin"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "autoload-dev": {
-        "classmap": [
-            "tests/"
-        ],
-        "files": [
-            "src/Framework/Assert/Functions.php",
-            "tests/_files/CoveredFunction.php"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "4.6.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/phpdox.xml.dist b/core/vendor/phpunit/phpunit/phpdox.xml.dist
deleted file mode 100644
index e77645e..0000000
--- a/core/vendor/phpunit/phpunit/phpdox.xml.dist
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<phpdox xmlns="http://phpdox.net/config">
- <project name="PHPUnit" source="src" workdir="build/phpdox">
-  <collector publiconly="false">
-   <include mask="*.php" />
-  </collector>
-
-  <generator output="build">
-   <enrich base="${basedir}/build/logs">
-    <source type="build" />
-    <source type="git" />
-    <source type="phploc" />
-    <source type="checkstyle" />
-    <source type="pmd" />
-   </enrich>
-
-   <build engine="html" enabled="true" output="api">
-    <file extension="html" />
-   </build>
-  </generator>
- </project>
-</phpdox>
-
diff --git a/core/vendor/phpunit/phpunit/phpunit b/core/vendor/phpunit/phpunit/phpunit
deleted file mode 100755
index 11f3cd5..0000000
--- a/core/vendor/phpunit/phpunit/phpunit
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env php
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-if (!ini_get('date.timezone')) {
-    ini_set('date.timezone', 'UTC');
-}
-
-foreach (array(__DIR__ . '/../../autoload.php', __DIR__ . '/../vendor/autoload.php', __DIR__ . '/vendor/autoload.php') as $file) {
-    if (file_exists($file)) {
-        define('PHPUNIT_COMPOSER_INSTALL', $file);
-        break;
-    }
-}
-
-unset($file);
-
-if (!defined('PHPUNIT_COMPOSER_INSTALL')) {
-    fwrite(STDERR,
-        'You need to set up the project dependencies using the following commands:' . PHP_EOL .
-        'wget http://getcomposer.org/composer.phar' . PHP_EOL .
-        'php composer.phar install' . PHP_EOL
-    );
-    die(1);
-}
-
-require PHPUNIT_COMPOSER_INSTALL;
-
-PHPUnit_TextUI_Command::main();
diff --git a/core/vendor/phpunit/phpunit/phpunit.xml.dist b/core/vendor/phpunit/phpunit/phpunit.xml.dist
deleted file mode 100644
index e07332e..0000000
--- a/core/vendor/phpunit/phpunit/phpunit.xml.dist
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.4/phpunit.xsd"
-         bootstrap="tests/bootstrap.php"
-         backupGlobals="false"
-         verbose="true">
-  <testsuites>
-    <testsuite name="small">
-      <directory suffix="Test.php">tests/Framework</directory>
-      <directory suffix="Test.php">tests/Extensions</directory>
-      <directory suffix="Test.php">tests/Runner</directory>
-      <directory suffix="Test.php">tests/Util</directory>
-    </testsuite>
-
-    <testsuite name="large">
-      <directory suffix=".phpt">tests/TextUI</directory>
-      <directory suffix=".phpt">tests/Regression</directory>
-    </testsuite>
-  </testsuites>
-
-  <filter>
-    <whitelist processUncoveredFilesFromWhitelist="true">
-      <directory suffix=".php">src</directory>
-      <exclude>
-       <file>src/Framework/Assert/Functions.php</file>
-      </exclude>
-    </whitelist>
-  </filter>
-
-  <php>
-    <const name="PHPUNIT_TESTSUITE" value="true"/>
-  </php>
-</phpunit>
-
diff --git a/core/vendor/phpunit/phpunit/phpunit.xsd b/core/vendor/phpunit/phpunit/phpunit.xsd
deleted file mode 100644
index 9c723ec..0000000
--- a/core/vendor/phpunit/phpunit/phpunit.xsd
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <xs:annotation>
-    <xs:documentation source="https://phpunit.de/manual/4.6/en/appendixes.configuration.html">
-      This Schema file defines the rules by which the XML configuration file of PHPUnit 4.6 may be structured.
-    </xs:documentation>
-    <xs:appinfo source="http://www.phpunit.de/manual/current/en/appendixes.configuration.html"/>
-  </xs:annotation>
-  <xs:element name="phpunit" type="phpUnitType">
-    <xs:annotation>
-      <xs:documentation>Root Element</xs:documentation>
-    </xs:annotation>
-  </xs:element>
-  <xs:complexType name="filtersType">
-    <xs:choice>
-      <xs:sequence>
-        <xs:element name="blacklist" type="filterType"/>
-        <xs:element name="whitelist" type="whiteListType" minOccurs="0"/>
-      </xs:sequence>
-      <xs:sequence>
-        <xs:element name="whitelist" type="whiteListType"/>
-      </xs:sequence>
-    </xs:choice>
-  </xs:complexType>
-  <xs:complexType name="filterType">
-    <xs:sequence>
-      <xs:group ref="pathGroup"/>
-      <xs:element name="exclude" maxOccurs="unbounded" minOccurs="0">
-        <xs:complexType>
-          <xs:group ref="pathGroup"/>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="whiteListType">
-    <xs:complexContent>
-      <xs:extension base="filterType">
-        <xs:attribute name="addUncoveredFilesFromWhitelist" default="false" type="xs:boolean"/>
-        <xs:attribute name="processUncoveredFilesFromWhitelist" default="true" type="xs:boolean"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-  <xs:complexType name="groupsType">
-    <xs:choice>
-      <xs:sequence>
-        <xs:element name="include" type="groupType"/>
-        <xs:element name="exclude" type="groupType" minOccurs="0"/>
-      </xs:sequence>
-      <xs:sequence>
-        <xs:element name="exclude" type="groupType"/>
-      </xs:sequence>
-    </xs:choice>
-  </xs:complexType>
-  <xs:complexType name="groupType">
-    <xs:sequence>
-      <xs:element name="group" type="xs:string" maxOccurs="unbounded"/>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="listenersType">
-    <xs:sequence>
-      <xs:element name="listener" type="objectType" maxOccurs="unbounded"/>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="objectType">
-    <xs:sequence>
-      <xs:element name="arguments" minOccurs="0">
-        <xs:complexType>
-          <xs:group ref="argumentsGroup"/>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="class" type="xs:string" use="required"/>
-    <xs:attribute name="file" type="xs:anyURI"/>
-  </xs:complexType>
-  <xs:complexType name="arrayType">
-    <xs:sequence>
-      <xs:element name="element" type="argumentType" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="argumentType">
-    <xs:group ref="argumentChoice"/>
-    <xs:attribute name="key" use="required"/>
-  </xs:complexType>
-  <xs:group name="argumentsGroup">
-    <xs:sequence>
-      <xs:element name="array" type="arrayType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="integer" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="double" type="xs:double" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="null" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="object" type="objectType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="file" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="directory" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:group name="argumentChoice">
-    <xs:choice>
-      <xs:element name="array" type="arrayType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="integer" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="double" type="xs:double" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="null" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="object" type="objectType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="file" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="directory" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:choice>
-  </xs:group>
-  <xs:complexType name="loggersType">
-    <xs:sequence>
-      <xs:element name="log" type="loggerType" maxOccurs="unbounded"/>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="loggerType">
-    <xs:attribute name="type">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="coverage-html"/>
-          <xs:enumeration value="coverage-text"/>
-          <xs:enumeration value="coverage-clover"/>
-          <xs:enumeration value="coverage-crap4j"/>
-          <xs:enumeration value="json"/>
-          <xs:enumeration value="plain"/>
-          <xs:enumeration value="tap"/>
-          <xs:enumeration value="junit"/>
-          <xs:enumeration value="testdox-html"/>
-          <xs:enumeration value="testdox-text"/>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="target" type="xs:anyURI"/>
-    <xs:attribute name="lowUpperBound" type="xs:nonNegativeInteger" default="35"/>
-    <xs:attribute name="highLowerBound" type="xs:nonNegativeInteger" default="70"/>
-    <xs:attribute name="logIncompleteSkipped" type="xs:boolean" default="false"/>
-    <xs:attribute name="showUncoveredFiles" type="xs:boolean" default="false"/>
-  </xs:complexType>
-  <xs:group name="pathGroup">
-    <xs:sequence>
-      <xs:element name="directory" type="directoryFilterType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="file" type="fileFilterType" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-  </xs:group>
-  <xs:complexType name="directoryFilterType">
-    <xs:simpleContent>
-      <xs:extension base="xs:anyURI">
-        <xs:attribute type="xs:string" name="suffix" default="Test.php"/>
-        <xs:attributeGroup ref="phpVersionGroup"/>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:complexType name="fileFilterType">
-    <xs:simpleContent>
-      <xs:extension base="xs:anyURI">
-        <xs:attributeGroup ref="phpVersionGroup"/>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:attributeGroup name="phpVersionGroup">
-    <xs:attribute name="phpVersion" type="xs:string" default="5.3.0"/>
-    <xs:attribute name="phpVersionOperator" type="xs:string" default="&gt;="/>
-  </xs:attributeGroup>
-  <xs:complexType name="phpType">
-    <xs:sequence>
-      <xs:element name="includePath" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="ini" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="const" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="var" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="env" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="post" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="get" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="cookie" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="server" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="files" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="request" type="namedValueType" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="namedValueType">
-    <xs:attribute name="name" use="required" type="xs:string"/>
-    <xs:attribute name="value" use="required" type="xs:anySimpleType"/>
-  </xs:complexType>
-  <xs:complexType name="phpUnitType">
-    <xs:annotation>
-      <xs:documentation>The main type specifying the document structure</xs:documentation>
-    </xs:annotation>
-    <xs:group ref="configGroup"/>
-    <xs:attributeGroup ref="configAttributeGroup"/>
-  </xs:complexType>
-  <xs:attributeGroup name="configAttributeGroup">
-    <xs:attribute name="backupGlobals" type="xs:boolean" default="true"/>
-    <xs:attribute name="backupStaticAttributes" type="xs:boolean" default="false"/>
-    <xs:attribute name="bootstrap" type="xs:anyURI"/>
-    <xs:attribute name="cacheTokens" type="xs:boolean"/>
-    <xs:attribute name="colors" type="xs:boolean" default="false"/>
-    <xs:attribute name="columns" type="xs:integer" default="80"/>
-    <xs:attribute name="convertErrorsToExceptions" type="xs:boolean" default="true"/>
-    <xs:attribute name="convertNoticesToExceptions" type="xs:boolean" default="true"/>
-    <xs:attribute name="convertWarningsToExceptions" type="xs:boolean" default="true"/>
-    <xs:attribute name="forceCoversAnnotation" type="xs:boolean" default="false"/>
-    <xs:attribute name="mapTestClassNameToCoveredClassName" type="xs:boolean" default="false"/>
-    <xs:attribute name="printerClass" type="xs:string" default="PHPUnit_TextUI_ResultPrinter"/>
-    <xs:attribute name="printerFile" type="xs:anyURI"/>
-    <xs:attribute name="processIsolation" type="xs:boolean" default="false"/>
-    <xs:attribute name="stopOnError" type="xs:boolean" default="false"/>
-    <xs:attribute name="stopOnFailure" type="xs:boolean" default="false"/>
-    <xs:attribute name="stopOnIncomplete" type="xs:boolean" default="false"/>
-    <xs:attribute name="stopOnRisky" type="xs:boolean" default="false"/>
-    <xs:attribute name="stopOnSkipped" type="xs:boolean" default="false"/>
-    <xs:attribute name="beStrictAboutTestsThatDoNotTestAnything" type="xs:boolean" default="false"/>
-    <xs:attribute name="beStrictAboutOutputDuringTests" type="xs:boolean" default="false"/>
-    <xs:attribute name="beStrictAboutTestSize" type="xs:boolean" default="false"/>
-    <xs:attribute name="beStrictAboutTodoAnnotatedTests" type="xs:boolean" default="false"/>
-    <xs:attribute name="beStrictAboutChangesToGlobalState" type="xs:boolean" default="false"/>
-    <xs:attribute name="checkForUnintentionallyCoveredCode" type="xs:boolean" default="false"/>
-    <xs:attribute name="strict" type="xs:boolean" default="false"/>
-    <xs:attribute name="testSuiteLoaderClass" type="xs:string" default="PHPUnit_Runner_StandardTestSuiteLoader"/>
-    <xs:attribute name="testSuiteLoaderFile" type="xs:anyURI"/>
-    <xs:attribute name="timeoutForSmallTests" type="xs:integer" default="1"/>
-    <xs:attribute name="timeoutForMediumTests" type="xs:integer" default="10"/>
-    <xs:attribute name="timeoutForLargeTests" type="xs:integer" default="60"/>
-    <xs:attribute name="verbose" type="xs:boolean" default="false"/>
-    <xs:attribute name="stderr" type="xs:boolean" default="false"/>
-  </xs:attributeGroup>
-  <xs:group name="configGroup">
-    <xs:all>
-      <xs:element ref="testSuiteFacet" minOccurs="0"/>
-      <xs:element name="groups" type="groupsType" minOccurs="0"/>
-      <xs:element name="filter" type="filtersType" minOccurs="0"/>
-      <xs:element name="logging" type="loggersType" minOccurs="0"/>
-      <xs:element name="listeners" type="listenersType" minOccurs="0"/>
-      <xs:element name="php" type="phpType" minOccurs="0"/>
-      <xs:element name="selenium" type="seleniumType" minOccurs="0"/>
-    </xs:all>
-  </xs:group>
-  <xs:complexType name="seleniumType">
-    <xs:sequence>
-      <xs:element name="browser" type="browserType"/>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="browserType">
-    <xs:attribute name="name" type="xs:string"/>
-    <xs:attribute name="browser" type="xs:string"/>
-    <xs:attribute name="host" type="xs:anyURI"/>
-    <xs:attribute name="port" type="xs:nonNegativeInteger"/>
-    <xs:attribute name="timeout" type="xs:nonNegativeInteger"/>
-  </xs:complexType>
-  <xs:element name="testSuiteFacet" abstract="true"/>
-  <xs:element name="testsuite" type="testSuiteType" substitutionGroup="testSuiteFacet"/>
-  <xs:element name="testsuites" type="testSuitesType" substitutionGroup="testSuiteFacet"/>
-  <xs:complexType name="testSuitesType">
-    <xs:sequence>
-      <xs:element name="testsuite" type="testSuiteType" maxOccurs="unbounded"/>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="testSuiteType">
-    <xs:sequence>
-      <xs:group ref="pathGroup"/>
-      <xs:element name="exclude" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:string" use="required"/>
-  </xs:complexType>
-</xs:schema>
diff --git a/core/vendor/phpunit/phpunit/src/Exception.php b/core/vendor/phpunit/phpunit/src/Exception.php
deleted file mode 100644
index 6ec587e..0000000
--- a/core/vendor/phpunit/phpunit/src/Exception.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Marker interface for PHPUnit exceptions.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Interface available since Release 4.0.0
- */
-interface PHPUnit_Exception
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/GroupTestSuite.php b/core/vendor/phpunit/phpunit/src/Extensions/GroupTestSuite.php
deleted file mode 100644
index 7b91e73..0000000
--- a/core/vendor/phpunit/phpunit/src/Extensions/GroupTestSuite.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * We have a TestSuite object A.
- * In TestSuite object A we have Tests tagged with @group.
- * We want a TestSuite object B that contains TestSuite objects C, D, ...
- * for the Tests tagged with @group C, @group D, ...
- * Running the Tests from TestSuite object B results in Tests tagged with both
- * @group C and @group D in TestSuite object A to be run twice .
- *
- * <code>
- * $suite = new PHPUnit_Extensions_GroupTestSuite($A, array('C', 'D'));
- * </code>
- *
- * @package    PHPUnit
- * @subpackage Extensions
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.0
- */
-class PHPUnit_Extensions_GroupTestSuite extends PHPUnit_Framework_TestSuite
-{
-    public function __construct(PHPUnit_Framework_TestSuite $suite, array $groups)
-    {
-        $groupSuites = array();
-        $name        = $suite->getName();
-
-        foreach ($groups as $group) {
-            $groupSuites[$group] = new PHPUnit_Framework_TestSuite($name . ' - ' . $group);
-            $this->addTest($groupSuites[$group]);
-        }
-
-        $tests = new RecursiveIteratorIterator(
-            new PHPUnit_Util_TestSuiteIterator($suite),
-            RecursiveIteratorIterator::LEAVES_ONLY
-        );
-
-        foreach ($tests as $test) {
-            if ($test instanceof PHPUnit_Framework_TestCase) {
-                $testGroups = PHPUnit_Util_Test::getGroups(
-                    get_class($test),
-                    $test->getName(false)
-                );
-
-                foreach ($groups as $group) {
-                    foreach ($testGroups as $testGroup) {
-                        if ($group == $testGroup) {
-                            $groupSuites[$group]->addTest($test);
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/PhptTestCase.php b/core/vendor/phpunit/phpunit/src/Extensions/PhptTestCase.php
deleted file mode 100644
index 7f07449..0000000
--- a/core/vendor/phpunit/phpunit/src/Extensions/PhptTestCase.php
+++ /dev/null
@@ -1,224 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Runner for PHPT test cases.
- *
- * @package    PHPUnit
- * @subpackage Extensions_PhptTestCase
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.1.4
- */
-class PHPUnit_Extensions_PhptTestCase implements PHPUnit_Framework_Test, PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * @var string
-     */
-    private $filename;
-
-    /**
-     * @var array
-     */
-    private $settings = array(
-        'allow_url_fopen=1',
-        'auto_append_file=',
-        'auto_prepend_file=',
-        'disable_functions=',
-        'display_errors=1',
-        'docref_root=',
-        'docref_ext=.html',
-        'error_append_string=',
-        'error_prepend_string=',
-        'error_reporting=-1',
-        'html_errors=0',
-        'log_errors=0',
-        'magic_quotes_runtime=0',
-        'output_handler=',
-        'open_basedir=',
-        'output_buffering=Off',
-        'report_memleaks=0',
-        'report_zend_debug=0',
-        'safe_mode=0',
-        'track_errors=1',
-        'xdebug.default_enable=0'
-    );
-
-    /**
-     * Constructs a test case with the given filename.
-     *
-     * @param  string                      $filename
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($filename)
-    {
-        if (!is_string($filename)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_file($filename)) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'File "%s" does not exist.',
-                    $filename
-                )
-            );
-        }
-
-        $this->filename = $filename;
-    }
-
-    /**
-     * Counts the number of test cases executed by run(TestResult result).
-     *
-     * @return integer
-     */
-    public function count()
-    {
-        return 1;
-    }
-
-    /**
-     * Runs a test and collects its result in a TestResult instance.
-     *
-     * @param  PHPUnit_Framework_TestResult $result
-     * @return PHPUnit_Framework_TestResult
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        $sections = $this->parse();
-        $code     = $this->render($sections['FILE']);
-
-        if ($result === null) {
-            $result = new PHPUnit_Framework_TestResult;
-        }
-
-        $php  = PHPUnit_Util_PHP::factory();
-        $skip = false;
-        $time = 0;
-
-        $result->startTest($this);
-
-        if (isset($sections['SKIPIF'])) {
-            $jobResult = $php->runJob($sections['SKIPIF'], $this->settings);
-
-            if (!strncasecmp('skip', ltrim($jobResult['stdout']), 4)) {
-                if (preg_match('/^\s*skip\s*(.+)\s*/i', $jobResult['stdout'], $message)) {
-                    $message = substr($message[1], 2);
-                } else {
-                    $message = '';
-                }
-
-                $result->addFailure($this, new PHPUnit_Framework_SkippedTestError($message), 0);
-
-                $skip = true;
-            }
-        }
-
-        if (!$skip) {
-            PHP_Timer::start();
-            $jobResult = $php->runJob($code, $this->settings);
-            $time = PHP_Timer::stop();
-
-            if (isset($sections['EXPECT'])) {
-                $assertion = 'assertEquals';
-                $expected  = $sections['EXPECT'];
-            } else {
-                $assertion = 'assertStringMatchesFormat';
-                $expected  = $sections['EXPECTF'];
-            }
-
-            $output = preg_replace('/\r\n/', "\n", trim($jobResult['stdout']));
-            $expected = preg_replace('/\r\n/', "\n", trim($expected));
-
-            try {
-                PHPUnit_Framework_Assert::$assertion($expected, $output);
-            } catch (PHPUnit_Framework_AssertionFailedError $e) {
-                $result->addFailure($this, $e, $time);
-            } catch (Exception $e) {
-                $result->addError($this, $e, $time);
-            }
-        }
-
-        $result->endTest($this, $time);
-
-        return $result;
-    }
-
-    /**
-     * Returns the name of the test case.
-     *
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->toString();
-    }
-
-    /**
-     * Returns a string representation of the test case.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * @return array
-     * @throws PHPUnit_Framework_Exception
-     */
-    private function parse()
-    {
-        $sections = array();
-        $section  = '';
-
-        foreach (file($this->filename) as $line) {
-            if (preg_match('/^--([_A-Z]+)--/', $line, $result)) {
-                $section            = $result[1];
-                $sections[$section] = '';
-                continue;
-            } elseif (empty($section)) {
-                throw new PHPUnit_Framework_Exception('Invalid PHPT file');
-            }
-
-            $sections[$section] .= $line;
-        }
-
-        if (!isset($sections['FILE']) ||
-            (!isset($sections['EXPECT']) && !isset($sections['EXPECTF']))) {
-            throw new PHPUnit_Framework_Exception('Invalid PHPT file');
-        }
-
-        return $sections;
-    }
-
-    /**
-     * @param  string $code
-     * @return string
-     */
-    private function render($code)
-    {
-        return str_replace(
-            array(
-            '__DIR__',
-            '__FILE__'
-            ),
-            array(
-            "'" . dirname($this->filename) . "'",
-            "'" . $this->filename . "'"
-            ),
-            $code
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/PhptTestSuite.php b/core/vendor/phpunit/phpunit/src/Extensions/PhptTestSuite.php
deleted file mode 100644
index fc5aed6..0000000
--- a/core/vendor/phpunit/phpunit/src/Extensions/PhptTestSuite.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Suite for .phpt test cases.
- *
- * @package    PHPUnit
- * @subpackage Extensions_PhptTestCase
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.1.4
- */
-class PHPUnit_Extensions_PhptTestSuite extends PHPUnit_Framework_TestSuite
-{
-    /**
-     * Constructs a new TestSuite for .phpt test cases.
-     *
-     * @param  string                      $directory
-     * @param  array                       $options   Array with ini settings for the php instance run,
-     *                                                key being the name if the setting, value the ini value.
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($directory, array $options = array())
-    {
-        if (is_string($directory) && is_dir($directory)) {
-            $this->setName($directory);
-
-            $facade = new File_Iterator_Facade;
-            $files  = $facade->getFilesAsArray($directory, '.phpt');
-
-            foreach ($files as $file) {
-                $this->addTestFile($file, $options);
-            }
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'directory name');
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/RepeatedTest.php b/core/vendor/phpunit/phpunit/src/Extensions/RepeatedTest.php
deleted file mode 100644
index d2dd446..0000000
--- a/core/vendor/phpunit/phpunit/src/Extensions/RepeatedTest.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A Decorator that runs a test repeatedly.
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Extensions_RepeatedTest extends PHPUnit_Extensions_TestDecorator
-{
-    /**
-     * @var mixed
-     */
-    protected $filter = false;
-
-    /**
-     * @var array
-     */
-    protected $groups = array();
-
-    /**
-     * @var array
-     */
-    protected $excludeGroups = array();
-
-    /**
-     * @var boolean
-     */
-    protected $processIsolation = false;
-
-    /**
-     * @var integer
-     */
-    protected $timesRepeat = 1;
-
-    /**
-     * @param  PHPUnit_Framework_Test      $test
-     * @param  integer                     $timesRepeat
-     * @param  boolean                     $processIsolation
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct(PHPUnit_Framework_Test $test, $timesRepeat = 1, $processIsolation = false)
-    {
-        parent::__construct($test);
-
-        if (is_integer($timesRepeat) &&
-            $timesRepeat >= 0) {
-            $this->timesRepeat = $timesRepeat;
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'positive integer'
-            );
-        }
-
-        $this->processIsolation = $processIsolation;
-    }
-
-    /**
-     * Counts the number of test cases that
-     * will be run by this test.
-     *
-     * @return integer
-     */
-    public function count()
-    {
-        return $this->timesRepeat * count($this->test);
-    }
-
-    /**
-     * Runs the decorated test and collects the
-     * result in a TestResult.
-     *
-     * @param  PHPUnit_Framework_TestResult $result
-     * @return PHPUnit_Framework_TestResult
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        if ($result === null) {
-            $result = $this->createResult();
-        }
-
-        //@codingStandardsIgnoreStart
-        for ($i = 0; $i < $this->timesRepeat && !$result->shouldStop(); $i++) {
-            //@codingStandardsIgnoreEnd
-            if ($this->test instanceof PHPUnit_Framework_TestSuite) {
-                $this->test->setRunTestInSeparateProcess($this->processIsolation);
-            }
-            $this->test->run($result);
-        }
-
-        return $result;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/TestDecorator.php b/core/vendor/phpunit/phpunit/src/Extensions/TestDecorator.php
deleted file mode 100644
index e30b2a2..0000000
--- a/core/vendor/phpunit/phpunit/src/Extensions/TestDecorator.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A Decorator for Tests.
- *
- * Use TestDecorator as the base class for defining new
- * test decorators. Test decorator subclasses can be introduced
- * to add behaviour before or after a test is run.
- *
- * @package    PHPUnit
- * @subpackage Extensions
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Extensions_TestDecorator extends PHPUnit_Framework_Assert implements PHPUnit_Framework_Test, PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * The Test to be decorated.
-     *
-     * @var    object
-     */
-    protected $test = null;
-
-    /**
-     * Constructor.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function __construct(PHPUnit_Framework_Test $test)
-    {
-        $this->test = $test;
-    }
-
-    /**
-     * Returns a string representation of the test.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->test->toString();
-    }
-
-    /**
-     * Runs the test and collects the
-     * result in a TestResult.
-     *
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    public function basicRun(PHPUnit_Framework_TestResult $result)
-    {
-        $this->test->run($result);
-    }
-
-    /**
-     * Counts the number of test cases that
-     * will be run by this test.
-     *
-     * @return integer
-     */
-    public function count()
-    {
-        return count($this->test);
-    }
-
-    /**
-     * Creates a default TestResult object.
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    protected function createResult()
-    {
-        return new PHPUnit_Framework_TestResult;
-    }
-
-    /**
-     * Returns the test to be run.
-     *
-     * @return PHPUnit_Framework_Test
-     */
-    public function getTest()
-    {
-        return $this->test;
-    }
-
-    /**
-     * Runs the decorated test and collects the
-     * result in a TestResult.
-     *
-     * @param  PHPUnit_Framework_TestResult $result
-     * @return PHPUnit_Framework_TestResult
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        if ($result === null) {
-            $result = $this->createResult();
-        }
-
-        $this->basicRun($result);
-
-        return $result;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/TicketListener.php b/core/vendor/phpunit/phpunit/src/Extensions/TicketListener.php
deleted file mode 100644
index 7f6f461..0000000
--- a/core/vendor/phpunit/phpunit/src/Extensions/TicketListener.php
+++ /dev/null
@@ -1,195 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for test listeners that interact with an issue tracker.
- *
- * @package    PHPUnit
- * @subpackage Extensions_TicketListener
- * @author     Sean Coates <sean@caedmon.net>
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.4.0
- */
-abstract class PHPUnit_Extensions_TicketListener implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var array
-     */
-    protected $ticketCounts = array();
-
-    /**
-     * @var boolean
-     */
-    protected $ran = false;
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * A test suite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A test suite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        if (!$test instanceof PHPUnit_Framework_Warning) {
-            if ($this->ran) {
-                return;
-            }
-
-            $name    = $test->getName(false);
-            $tickets = PHPUnit_Util_Test::getTickets(get_class($test), $name);
-
-            foreach ($tickets as $ticket) {
-                $this->ticketCounts[$ticket][$name] = 1;
-            }
-
-            $this->ran = true;
-        }
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if (!$test instanceof PHPUnit_Framework_Warning) {
-            if ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
-                $ifStatus   = array('assigned', 'new', 'reopened');
-                $newStatus  = 'closed';
-                $message    = 'Automatically closed by PHPUnit (test passed).';
-                $resolution = 'fixed';
-                $cumulative = true;
-            } elseif ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE) {
-                $ifStatus   = array('closed');
-                $newStatus  = 'reopened';
-                $message    = 'Automatically reopened by PHPUnit (test failed).';
-                $resolution = '';
-                $cumulative = false;
-            } else {
-                return;
-            }
-
-            $name    = $test->getName(false);
-            $tickets = PHPUnit_Util_Test::getTickets(get_class($test), $name);
-
-            foreach ($tickets as $ticket) {
-                // Remove this test from the totals (if it passed).
-                if ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
-                    unset($this->ticketCounts[$ticket][$name]);
-                }
-
-                // Only close tickets if ALL referenced cases pass
-                // but reopen tickets if a single test fails.
-                if ($cumulative) {
-                    // Determine number of to-pass tests:
-                    if (count($this->ticketCounts[$ticket]) > 0) {
-                        // There exist remaining test cases with this reference.
-                        $adjustTicket = false;
-                    } else {
-                        // No remaining tickets, go ahead and adjust.
-                        $adjustTicket = true;
-                    }
-                } else {
-                    $adjustTicket = true;
-                }
-
-                $ticketInfo = $this->getTicketInfo($ticket);
-
-                if ($adjustTicket && in_array($ticketInfo['status'], $ifStatus)) {
-                    $this->updateTicket($ticket, $newStatus, $message, $resolution);
-                }
-            }
-        }
-    }
-
-    abstract protected function getTicketInfo($ticketId = null);
-    abstract protected function updateTicket($ticketId, $newStatus, $message, $resolution);
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Assert.php b/core/vendor/phpunit/phpunit/src/Framework/Assert.php
deleted file mode 100644
index 54cdd53..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Assert.php
+++ /dev/null
@@ -1,3054 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A set of assert methods.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-abstract class PHPUnit_Framework_Assert
-{
-    /**
-     * @var integer
-     */
-    private static $count = 0;
-
-    /**
-     * Asserts that an array has a specified key.
-     *
-     * @param mixed             $key
-     * @param array|ArrayAccess $array
-     * @param string            $message
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertArrayHasKey($key, $array, $message = '')
-    {
-        if (!(is_integer($key) || is_string($key))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'integer or string'
-            );
-        }
-
-        if (!(is_array($array) || $array instanceof ArrayAccess)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or ArrayAccess'
-            );
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ArrayHasKey($key);
-
-        self::assertThat($array, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an array has a specified subset.
-     *
-     * @param array|ArrayAccess  $subset
-     * @param array|ArrayAccess  $array
-     * @param boolean            $strict  Check for object identity
-     * @param string             $message
-     * @since Method available since Release 4.4.0
-     */
-    public static function assertArraySubset($subset, $array, $strict = false, $message = '')
-    {
-        if (!is_array($subset)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'array or ArrayAccess'
-            );
-        }
-
-        if (!is_array($array)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or ArrayAccess'
-            );
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ArraySubset($subset, $strict);
-
-        self::assertThat($array, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an array does not have a specified key.
-     *
-     * @param mixed             $key
-     * @param array|ArrayAccess $array
-     * @param string            $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertArrayNotHasKey($key, $array, $message = '')
-    {
-        if (!(is_integer($key) || is_string($key))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'integer or string'
-            );
-        }
-
-        if (!(is_array($array) || $array instanceof ArrayAccess)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or ArrayAccess'
-            );
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ArrayHasKey($key)
-        );
-
-        self::assertThat($array, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a haystack contains a needle.
-     *
-     * @param mixed   $needle
-     * @param mixed   $haystack
-     * @param string  $message
-     * @param boolean $ignoreCase
-     * @param boolean $checkForObjectIdentity
-     * @param boolean $checkForNonObjectIdentity
-     * @since  Method available since Release 2.1.0
-     */
-    public static function assertContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        if (is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable) {
-            $constraint = new PHPUnit_Framework_Constraint_TraversableContains(
-                $needle,
-                $checkForObjectIdentity,
-                $checkForNonObjectIdentity
-            );
-        } elseif (is_string($haystack)) {
-            $constraint = new PHPUnit_Framework_Constraint_StringContains(
-                $needle,
-                $ignoreCase
-            );
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array, traversable or string'
-            );
-        }
-
-        self::assertThat($haystack, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object contains a needle.
-     *
-     * @param mixed   $needle
-     * @param string  $haystackAttributeName
-     * @param mixed   $haystackClassOrObject
-     * @param string  $message
-     * @param boolean $ignoreCase
-     * @param boolean $checkForObjectIdentity
-     * @param boolean $checkForNonObjectIdentity
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertAttributeContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        self::assertContains(
-            $needle,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message,
-            $ignoreCase,
-            $checkForObjectIdentity,
-            $checkForNonObjectIdentity
-        );
-    }
-
-    /**
-     * Asserts that a haystack does not contain a needle.
-     *
-     * @param mixed   $needle
-     * @param mixed   $haystack
-     * @param string  $message
-     * @param boolean $ignoreCase
-     * @param boolean $checkForObjectIdentity
-     * @param boolean $checkForNonObjectIdentity
-     * @since  Method available since Release 2.1.0
-     */
-    public static function assertNotContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        if (is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable) {
-            $constraint = new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_TraversableContains(
-                    $needle,
-                    $checkForObjectIdentity,
-                    $checkForNonObjectIdentity
-                )
-            );
-        } elseif (is_string($haystack)) {
-            $constraint = new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_StringContains(
-                    $needle,
-                    $ignoreCase
-                )
-            );
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array, traversable or string'
-            );
-        }
-
-        self::assertThat($haystack, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object does not contain a needle.
-     *
-     * @param mixed   $needle
-     * @param string  $haystackAttributeName
-     * @param mixed   $haystackClassOrObject
-     * @param string  $message
-     * @param boolean $ignoreCase
-     * @param boolean $checkForObjectIdentity
-     * @param boolean $checkForNonObjectIdentity
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertAttributeNotContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        self::assertNotContains(
-            $needle,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message,
-            $ignoreCase,
-            $checkForObjectIdentity,
-            $checkForNonObjectIdentity
-        );
-    }
-
-    /**
-     * Asserts that a haystack contains only values of a given type.
-     *
-     * @param string  $type
-     * @param mixed   $haystack
-     * @param boolean $isNativeType
-     * @param string  $message
-     * @since  Method available since Release 3.1.4
-     */
-    public static function assertContainsOnly($type, $haystack, $isNativeType = null, $message = '')
-    {
-        if (!(is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or traversable'
-            );
-        }
-
-        if ($isNativeType == null) {
-            $isNativeType = PHPUnit_Util_Type::isType($type);
-        }
-
-        self::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_TraversableContainsOnly(
-                $type,
-                $isNativeType
-            ),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack contains only instances of a given classname
-     *
-     * @param string            $classname
-     * @param array|Traversable $haystack
-     * @param string            $message
-     */
-    public static function assertContainsOnlyInstancesOf($classname, $haystack, $message = '')
-    {
-        if (!(is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or traversable'
-            );
-        }
-
-        self::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_TraversableContainsOnly(
-                $classname,
-                false
-            ),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object contains only values of a given type.
-     *
-     * @param string  $type
-     * @param string  $haystackAttributeName
-     * @param mixed   $haystackClassOrObject
-     * @param boolean $isNativeType
-     * @param string  $message
-     * @since  Method available since Release 3.1.4
-     */
-    public static function assertAttributeContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
-    {
-        self::assertContainsOnly(
-            $type,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $isNativeType,
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack does not contain only values of a given type.
-     *
-     * @param string  $type
-     * @param mixed   $haystack
-     * @param boolean $isNativeType
-     * @param string  $message
-     * @since  Method available since Release 3.1.4
-     */
-    public static function assertNotContainsOnly($type, $haystack, $isNativeType = null, $message = '')
-    {
-        if (!(is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or traversable'
-            );
-        }
-
-        if ($isNativeType == null) {
-            $isNativeType = PHPUnit_Util_Type::isType($type);
-        }
-
-        self::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_TraversableContainsOnly(
-                    $type,
-                    $isNativeType
-                )
-            ),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object does not contain only values of a given
-     * type.
-     *
-     * @param string  $type
-     * @param string  $haystackAttributeName
-     * @param mixed   $haystackClassOrObject
-     * @param boolean $isNativeType
-     * @param string  $message
-     * @since  Method available since Release 3.1.4
-     */
-    public static function assertAttributeNotContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
-    {
-        self::assertNotContainsOnly(
-            $type,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $isNativeType,
-            $message
-        );
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable.
-     *
-     * @param integer $expectedCount
-     * @param mixed   $haystack
-     * @param string  $message
-     */
-    public static function assertCount($expectedCount, $haystack, $message = '')
-    {
-        if (!is_int($expectedCount)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        if (!$haystack instanceof Countable &&
-            !$haystack instanceof Traversable &&
-            !is_array($haystack)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        self::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_Count($expectedCount),
-            $message
-        );
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable
-     * that is stored in an attribute.
-     *
-     * @param integer $expectedCount
-     * @param string  $haystackAttributeName
-     * @param mixed   $haystackClassOrObject
-     * @param string  $message
-     * @since Method available since Release 3.6.0
-     */
-    public static function assertAttributeCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        self::assertCount(
-            $expectedCount,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable.
-     *
-     * @param integer $expectedCount
-     * @param mixed   $haystack
-     * @param string  $message
-     */
-    public static function assertNotCount($expectedCount, $haystack, $message = '')
-    {
-        if (!is_int($expectedCount)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        if (!$haystack instanceof Countable &&
-            !$haystack instanceof Traversable &&
-            !is_array($haystack)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_Count($expectedCount)
-        );
-
-        self::assertThat($haystack, $constraint, $message);
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable
-     * that is stored in an attribute.
-     *
-     * @param integer $expectedCount
-     * @param string  $haystackAttributeName
-     * @param mixed   $haystackClassOrObject
-     * @param string  $message
-     * @since Method available since Release 3.6.0
-     */
-    public static function assertAttributeNotCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        self::assertNotCount(
-            $expectedCount,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that two variables are equal.
-     *
-     * @param mixed   $expected
-     * @param mixed   $actual
-     * @param string  $message
-     * @param float   $delta
-     * @param integer $maxDepth
-     * @param boolean $canonicalize
-     * @param boolean $ignoreCase
-     */
-    public static function assertEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        $constraint = new PHPUnit_Framework_Constraint_IsEqual(
-            $expected,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a variable is equal to an attribute of an object.
-     *
-     * @param mixed   $expected
-     * @param string  $actualAttributeName
-     * @param string  $actualClassOrObject
-     * @param string  $message
-     * @param float   $delta
-     * @param integer $maxDepth
-     * @param boolean $canonicalize
-     * @param boolean $ignoreCase
-     */
-    public static function assertAttributeEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertEquals(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that two variables are not equal.
-     *
-     * @param mixed   $expected
-     * @param mixed   $actual
-     * @param string  $message
-     * @param float   $delta
-     * @param integer $maxDepth
-     * @param boolean $canonicalize
-     * @param boolean $ignoreCase
-     * @since  Method available since Release 2.3.0
-     */
-    public static function assertNotEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_IsEqual(
-                $expected,
-                $delta,
-                $maxDepth,
-                $canonicalize,
-                $ignoreCase
-            )
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a variable is not equal to an attribute of an object.
-     *
-     * @param mixed   $expected
-     * @param string  $actualAttributeName
-     * @param string  $actualClassOrObject
-     * @param string  $message
-     * @param float   $delta
-     * @param integer $maxDepth
-     * @param boolean $canonicalize
-     * @param boolean $ignoreCase
-     */
-    public static function assertAttributeNotEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertNotEquals(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that a variable is empty.
-     *
-     * @param  mixed                                  $actual
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertEmpty($actual, $message = '')
-    {
-        self::assertThat($actual, self::isEmpty(), $message);
-    }
-
-    /**
-     * Asserts that a static attribute of a class or an attribute of an object
-     * is empty.
-     *
-     * @param string $haystackAttributeName
-     * @param mixed  $haystackClassOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        self::assertEmpty(
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is not empty.
-     *
-     * @param  mixed                                  $actual
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertNotEmpty($actual, $message = '')
-    {
-        self::assertThat($actual, self::logicalNot(self::isEmpty()), $message);
-    }
-
-    /**
-     * Asserts that a static attribute of a class or an attribute of an object
-     * is not empty.
-     *
-     * @param string $haystackAttributeName
-     * @param mixed  $haystackClassOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeNotEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        self::assertNotEmpty(
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is greater than another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertGreaterThan($expected, $actual, $message = '')
-    {
-        self::assertThat($actual, self::greaterThan($expected), $message);
-    }
-
-    /**
-     * Asserts that an attribute is greater than another value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param string $actualClassOrObject
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertAttributeGreaterThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertGreaterThan(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is greater than or equal to another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertGreaterThanOrEqual($expected, $actual, $message = '')
-    {
-        self::assertThat(
-            $actual,
-            self::greaterThanOrEqual($expected),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that an attribute is greater than or equal to another value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param string $actualClassOrObject
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertAttributeGreaterThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertGreaterThanOrEqual(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is smaller than another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertLessThan($expected, $actual, $message = '')
-    {
-        self::assertThat($actual, self::lessThan($expected), $message);
-    }
-
-    /**
-     * Asserts that an attribute is smaller than another value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param string $actualClassOrObject
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertAttributeLessThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertLessThan(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is smaller than or equal to another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertLessThanOrEqual($expected, $actual, $message = '')
-    {
-        self::assertThat($actual, self::lessThanOrEqual($expected), $message);
-    }
-
-    /**
-     * Asserts that an attribute is smaller than or equal to another value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param string $actualClassOrObject
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertAttributeLessThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertLessThanOrEqual(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that the contents of one file is equal to the contents of another
-     * file.
-     *
-     * @param string  $expected
-     * @param string  $actual
-     * @param string  $message
-     * @param boolean $canonicalize
-     * @param boolean $ignoreCase
-     * @since  Method available since Release 3.2.14
-     */
-    public static function assertFileEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertFileExists($expected, $message);
-        self::assertFileExists($actual, $message);
-
-        self::assertEquals(
-            file_get_contents($expected),
-            file_get_contents($actual),
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that the contents of one file is not equal to the contents of
-     * another file.
-     *
-     * @param string  $expected
-     * @param string  $actual
-     * @param string  $message
-     * @param boolean $canonicalize
-     * @param boolean $ignoreCase
-     * @since  Method available since Release 3.2.14
-     */
-    public static function assertFileNotEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertFileExists($expected, $message);
-        self::assertFileExists($actual, $message);
-
-        self::assertNotEquals(
-            file_get_contents($expected),
-            file_get_contents($actual),
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that the contents of a string is equal
-     * to the contents of a file.
-     *
-     * @param string  $expectedFile
-     * @param string  $actualString
-     * @param string  $message
-     * @param boolean $canonicalize
-     * @param boolean $ignoreCase
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertStringEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertFileExists($expectedFile, $message);
-
-        self::assertEquals(
-            file_get_contents($expectedFile),
-            $actualString,
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that the contents of a string is not equal
-     * to the contents of a file.
-     *
-     * @param string  $expectedFile
-     * @param string  $actualString
-     * @param string  $message
-     * @param boolean $canonicalize
-     * @param boolean $ignoreCase
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertStringNotEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertFileExists($expectedFile, $message);
-
-        self::assertNotEquals(
-            file_get_contents($expectedFile),
-            $actualString,
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that a file exists.
-     *
-     * @param string $filename
-     * @param string $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertFileExists($filename, $message = '')
-    {
-        if (!is_string($filename)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_FileExists;
-
-        self::assertThat($filename, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a file does not exist.
-     *
-     * @param string $filename
-     * @param string $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertFileNotExists($filename, $message = '')
-    {
-        if (!is_string($filename)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_FileExists
-        );
-
-        self::assertThat($filename, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a condition is true.
-     *
-     * @param  boolean                                $condition
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertTrue($condition, $message = '')
-    {
-        self::assertThat($condition, self::isTrue(), $message);
-    }
-
-    /**
-     * Asserts that a condition is not true.
-     *
-     * @param  boolean                                $condition
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertNotTrue($condition, $message = '')
-    {
-        self::assertThat($condition, self::logicalNot(self::isTrue()), $message);
-    }
-
-    /**
-     * Asserts that a condition is false.
-     *
-     * @param  boolean                                $condition
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertFalse($condition, $message = '')
-    {
-        self::assertThat($condition, self::isFalse(), $message);
-    }
-
-    /**
-     * Asserts that a condition is not false.
-     *
-     * @param  boolean                                $condition
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertNotFalse($condition, $message = '')
-    {
-        self::assertThat($condition, self::logicalNot(self::isFalse()), $message);
-    }
-
-    /**
-     * Asserts that a variable is not null.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertNotNull($actual, $message = '')
-    {
-        self::assertThat($actual, self::logicalNot(self::isNull()), $message);
-    }
-
-    /**
-     * Asserts that a variable is null.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertNull($actual, $message = '')
-    {
-        self::assertThat($actual, self::isNull(), $message);
-    }
-
-    /**
-     * Asserts that a class has a specified attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertClassHasAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ClassHasAttribute(
-            $attributeName
-        );
-
-        self::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a class does not have a specified attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertClassNotHasAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ClassHasAttribute($attributeName)
-        );
-
-        self::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a class has a specified static attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertClassHasStaticAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
-            $attributeName
-        );
-
-        self::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a class does not have a specified static attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertClassNotHasStaticAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
-                $attributeName
-            )
-        );
-
-        self::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an object has a specified attribute.
-     *
-     * @param string $attributeName
-     * @param object $object
-     * @param string $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertObjectHasAttribute($attributeName, $object, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_object($object)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'object');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ObjectHasAttribute(
-            $attributeName
-        );
-
-        self::assertThat($object, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an object does not have a specified attribute.
-     *
-     * @param string $attributeName
-     * @param object $object
-     * @param string $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertObjectNotHasAttribute($attributeName, $object, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_object($object)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'object');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ObjectHasAttribute($attributeName)
-        );
-
-        self::assertThat($object, $constraint, $message);
-    }
-
-    /**
-     * Asserts that two variables have the same type and value.
-     * Used on objects, it asserts that two variables reference
-     * the same object.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertSame($expected, $actual, $message = '')
-    {
-        if (is_bool($expected) && is_bool($actual)) {
-            self::assertEquals($expected, $actual, $message);
-        } else {
-            $constraint = new PHPUnit_Framework_Constraint_IsIdentical(
-                $expected
-            );
-
-            self::assertThat($actual, $constraint, $message);
-        }
-    }
-
-    /**
-     * Asserts that a variable and an attribute of an object have the same type
-     * and value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param object $actualClassOrObject
-     * @param string $message
-     */
-    public static function assertAttributeSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertSame(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that two variables do not have the same type and value.
-     * Used on objects, it asserts that two variables do not reference
-     * the same object.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertNotSame($expected, $actual, $message = '')
-    {
-        if (is_bool($expected) && is_bool($actual)) {
-            self::assertNotEquals($expected, $actual, $message);
-        } else {
-            $constraint = new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_IsIdentical($expected)
-            );
-
-            self::assertThat($actual, $constraint, $message);
-        }
-    }
-
-    /**
-     * Asserts that a variable and an attribute of an object do not have the
-     * same type and value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param object $actualClassOrObject
-     * @param string $message
-     */
-    public static function assertAttributeNotSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertNotSame(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertInstanceOf($expected, $actual, $message = '')
-    {
-        if (!(is_string($expected) && (class_exists($expected) || interface_exists($expected)))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class or interface name');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_IsInstanceOf(
-            $expected
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string $expected
-     * @param string $attributeName
-     * @param mixed  $classOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeInstanceOf($expected, $attributeName, $classOrObject, $message = '')
-    {
-        self::assertInstanceOf(
-            $expected,
-            self::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is not of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertNotInstanceOf($expected, $actual, $message = '')
-    {
-        if (!(is_string($expected) && (class_exists($expected) || interface_exists($expected)))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class or interface name');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_IsInstanceOf($expected)
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string $expected
-     * @param string $attributeName
-     * @param mixed  $classOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeNotInstanceOf($expected, $attributeName, $classOrObject, $message = '')
-    {
-        self::assertNotInstanceOf(
-            $expected,
-            self::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertInternalType($expected, $actual, $message = '')
-    {
-        if (!is_string($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_IsType(
-            $expected
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string $expected
-     * @param string $attributeName
-     * @param mixed  $classOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeInternalType($expected, $attributeName, $classOrObject, $message = '')
-    {
-        self::assertInternalType(
-            $expected,
-            self::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is not of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertNotInternalType($expected, $actual, $message = '')
-    {
-        if (!is_string($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_IsType($expected)
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string $expected
-     * @param string $attributeName
-     * @param mixed  $classOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeNotInternalType($expected, $attributeName, $classOrObject, $message = '')
-    {
-        self::assertNotInternalType(
-            $expected,
-            self::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a string matches a given regular expression.
-     *
-     * @param string $pattern
-     * @param string $string
-     * @param string $message
-     */
-    public static function assertRegExp($pattern, $string, $message = '')
-    {
-        if (!is_string($pattern)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_PCREMatch($pattern);
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string does not match a given regular expression.
-     *
-     * @param string $pattern
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 2.1.0
-     */
-    public static function assertNotRegExp($pattern, $string, $message = '')
-    {
-        if (!is_string($pattern)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_PCREMatch($pattern)
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
-     * is the same.
-     *
-     * @param array|Countable|Traversable $expected
-     * @param array|Countable|Traversable $actual
-     * @param string                      $message
-     */
-    public static function assertSameSize($expected, $actual, $message = '')
-    {
-        if (!$expected instanceof Countable &&
-            !$expected instanceof Traversable &&
-            !is_array($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'countable or traversable');
-        }
-
-        if (!$actual instanceof Countable &&
-            !$actual instanceof Traversable &&
-            !is_array($actual)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        self::assertThat(
-            $actual,
-            new PHPUnit_Framework_Constraint_SameSize($expected),
-            $message
-        );
-    }
-
-    /**
-     * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
-     * is not the same.
-     *
-     * @param array|Countable|Traversable $expected
-     * @param array|Countable|Traversable $actual
-     * @param string                      $message
-     */
-    public static function assertNotSameSize($expected, $actual, $message = '')
-    {
-        if (!$expected instanceof Countable &&
-            !$expected instanceof Traversable &&
-            !is_array($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'countable or traversable');
-        }
-
-        if (!$actual instanceof Countable &&
-            !$actual instanceof Traversable &&
-            !is_array($actual)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_SameSize($expected)
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string matches a given format string.
-     *
-     * @param string $format
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.5.0
-     */
-    public static function assertStringMatchesFormat($format, $string, $message = '')
-    {
-        if (!is_string($format)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringMatches($format);
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string does not match a given format string.
-     *
-     * @param string $format
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.5.0
-     */
-    public static function assertStringNotMatchesFormat($format, $string, $message = '')
-    {
-        if (!is_string($format)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringMatches($format)
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string matches a given format file.
-     *
-     * @param string $formatFile
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.5.0
-     */
-    public static function assertStringMatchesFormatFile($formatFile, $string, $message = '')
-    {
-        self::assertFileExists($formatFile, $message);
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringMatches(
-            file_get_contents($formatFile)
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string does not match a given format string.
-     *
-     * @param string $formatFile
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.5.0
-     */
-    public static function assertStringNotMatchesFormatFile($formatFile, $string, $message = '')
-    {
-        self::assertFileExists($formatFile, $message);
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringMatches(
-                file_get_contents($formatFile)
-            )
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string starts with a given prefix.
-     *
-     * @param string $prefix
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.4.0
-     */
-    public static function assertStringStartsWith($prefix, $string, $message = '')
-    {
-        if (!is_string($prefix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringStartsWith(
-            $prefix
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string starts not with a given prefix.
-     *
-     * @param string $prefix
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.4.0
-     */
-    public static function assertStringStartsNotWith($prefix, $string, $message = '')
-    {
-        if (!is_string($prefix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringStartsWith($prefix)
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string ends with a given suffix.
-     *
-     * @param string $suffix
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.4.0
-     */
-    public static function assertStringEndsWith($suffix, $string, $message = '')
-    {
-        if (!is_string($suffix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringEndsWith($suffix);
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string ends not with a given suffix.
-     *
-     * @param string $suffix
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.4.0
-     */
-    public static function assertStringEndsNotWith($suffix, $string, $message = '')
-    {
-        if (!is_string($suffix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringEndsWith($suffix)
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that two XML files are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertXmlFileEqualsXmlFile($expectedFile, $actualFile, $message = '')
-    {
-        self::assertFileExists($expectedFile);
-        self::assertFileExists($actualFile);
-
-        $expected = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->load($expectedFile);
-
-        $actual = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->load($actualFile);
-
-        self::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML files are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertXmlFileNotEqualsXmlFile($expectedFile, $actualFile, $message = '')
-    {
-        self::assertFileExists($expectedFile);
-        self::assertFileExists($actualFile);
-
-        $expected = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->load($expectedFile);
-
-        $actual = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->load($actualFile);
-
-        self::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualXml
-     * @param string $message
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertXmlStringEqualsXmlFile($expectedFile, $actualXml, $message = '')
-    {
-        self::assertFileExists($expectedFile);
-
-        $expected = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->load($expectedFile);
-
-        $actual = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->loadXML($actualXml);
-
-        self::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualXml
-     * @param string $message
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertXmlStringNotEqualsXmlFile($expectedFile, $actualXml, $message = '')
-    {
-        self::assertFileExists($expectedFile);
-
-        $expected = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->load($expectedFile);
-
-        $actual = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->loadXML($actualXml);
-
-        self::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are equal.
-     *
-     * @param string $expectedXml
-     * @param string $actualXml
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertXmlStringEqualsXmlString($expectedXml, $actualXml, $message = '')
-    {
-        $expected = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->loadXML($expectedXml);
-
-        $actual = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->loadXML($actualXml);
-
-        self::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are not equal.
-     *
-     * @param string $expectedXml
-     * @param string $actualXml
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, $message = '')
-    {
-        $expected = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->loadXML($expectedXml);
-
-        $actual = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->loadXML($actualXml);
-
-        self::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that a hierarchy of DOMElements matches.
-     *
-     * @param DOMElement $expectedElement
-     * @param DOMElement $actualElement
-     * @param boolean    $checkAttributes
-     * @param string     $message
-     * @author Mattis Stordalen Flister <mattis@xait.no>
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actualElement, $checkAttributes = false, $message = '')
-    {
-        $expectedElement = clone $expectedElement;
-        $actualElement   = clone $actualElement;
-
-        self::assertEquals(
-            $expectedElement->tagName,
-            $actualElement->tagName,
-            $message
-        );
-
-        if ($checkAttributes) {
-            self::assertEquals(
-                $expectedElement->attributes->length,
-                $actualElement->attributes->length,
-                sprintf(
-                    '%s%sNumber of attributes on node "%s" does not match',
-                    $message,
-                    !empty($message) ? "\n" : '',
-                    $expectedElement->tagName
-                )
-            );
-
-            for ($i = 0; $i < $expectedElement->attributes->length; $i++) {
-                $expectedAttribute = $expectedElement->attributes->item($i);
-                $actualAttribute   = $actualElement->attributes->getNamedItem(
-                    $expectedAttribute->name
-                );
-
-                if (!$actualAttribute) {
-                    self::fail(
-                        sprintf(
-                            '%s%sCould not find attribute "%s" on node "%s"',
-                            $message,
-                            !empty($message) ? "\n" : '',
-                            $expectedAttribute->name,
-                            $expectedElement->tagName
-                        )
-                    );
-                }
-            }
-        }
-
-        PHPUnit_Util_XML::removeCharacterDataNodes($expectedElement);
-        PHPUnit_Util_XML::removeCharacterDataNodes($actualElement);
-
-        self::assertEquals(
-            $expectedElement->childNodes->length,
-            $actualElement->childNodes->length,
-            sprintf(
-                '%s%sNumber of child nodes of "%s" differs',
-                $message,
-                !empty($message) ? "\n" : '',
-                $expectedElement->tagName
-            )
-        );
-
-        for ($i = 0; $i < $expectedElement->childNodes->length; $i++) {
-            self::assertEqualXMLStructure(
-                $expectedElement->childNodes->item($i),
-                $actualElement->childNodes->item($i),
-                $checkAttributes,
-                $message
-            );
-        }
-    }
-
-    /**
-     * Assert the presence, absence, or count of elements in a document matching
-     * the CSS $selector, regardless of the contents of those elements.
-     *
-     * The first argument, $selector, is the CSS selector used to match
-     * the elements in the $actual document.
-     *
-     * The second argument, $count, can be either boolean or numeric.
-     * When boolean, it asserts for presence of elements matching the selector
-     * (true) or absence of elements (false).
-     * When numeric, it asserts the count of elements.
-     *
-     * assertSelectCount("#binder", true, $xml);  // any?
-     * assertSelectCount(".binder", 3, $xml);     // exactly 3?
-     *
-     * @param array                 $selector
-     * @param integer|boolean|array $count
-     * @param mixed                 $actual
-     * @param string                $message
-     * @param boolean               $isHtml
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     * @deprecated
-     */
-    public static function assertSelectCount($selector, $count, $actual, $message = '', $isHtml = true)
-    {
-        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
-
-        self::assertSelectEquals(
-            $selector,
-            true,
-            $count,
-            $actual,
-            $message,
-            $isHtml
-        );
-    }
-
-    /**
-     * assertSelectRegExp("#binder .name", "/Mike|Derek/", true, $xml); // any?
-     * assertSelectRegExp("#binder .name", "/Mike|Derek/", 3, $xml);    // 3?
-     *
-     * @param array                 $selector
-     * @param string                $pattern
-     * @param integer|boolean|array $count
-     * @param mixed                 $actual
-     * @param string                $message
-     * @param boolean               $isHtml
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     * @deprecated
-     */
-    public static function assertSelectRegExp($selector, $pattern, $count, $actual, $message = '', $isHtml = true)
-    {
-        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
-
-        self::assertSelectEquals(
-            $selector,
-            "regexp:$pattern",
-            $count,
-            $actual,
-            $message,
-            $isHtml
-        );
-    }
-
-    /**
-     * assertSelectEquals("#binder .name", "Chuck", true,  $xml);  // any?
-     * assertSelectEquals("#binder .name", "Chuck", false, $xml);  // none?
-     *
-     * @param array                 $selector
-     * @param string                $content
-     * @param integer|boolean|array $count
-     * @param mixed                 $actual
-     * @param string                $message
-     * @param boolean               $isHtml
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     * @deprecated
-     */
-    public static function assertSelectEquals($selector, $content, $count, $actual, $message = '', $isHtml = true)
-    {
-        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
-
-        $tags = PHPUnit_Util_XML::cssSelect(
-            $selector,
-            $content,
-            $actual,
-            $isHtml
-        );
-
-        // assert specific number of elements
-        if (is_numeric($count)) {
-            $counted = $tags ? count($tags) : 0;
-            self::assertEquals($count, $counted, $message);
-        } // assert any elements exist if true, assert no elements exist if false
-        elseif (is_bool($count)) {
-            $any = count($tags) > 0 && $tags[0] instanceof DOMNode;
-
-            if ($count) {
-                self::assertTrue($any, $message);
-            } else {
-                self::assertFalse($any, $message);
-            }
-        } // check for range number of elements
-        elseif (is_array($count) &&
-                (isset($count['>']) || isset($count['<']) ||
-                isset($count['>=']) || isset($count['<=']))) {
-            $counted = $tags ? count($tags) : 0;
-
-            if (isset($count['>'])) {
-                self::assertTrue($counted > $count['>'], $message);
-            }
-
-            if (isset($count['>='])) {
-                self::assertTrue($counted >= $count['>='], $message);
-            }
-
-            if (isset($count['<'])) {
-                self::assertTrue($counted < $count['<'], $message);
-            }
-
-            if (isset($count['<='])) {
-                self::assertTrue($counted <= $count['<='], $message);
-            }
-        } else {
-            throw new PHPUnit_Framework_Exception;
-        }
-    }
-
-    /**
-     * Evaluate an HTML or XML string and assert its structure and/or contents.
-     *
-     * The first argument ($matcher) is an associative array that specifies the
-     * match criteria for the assertion:
-     *
-     *  - `id`           : the node with the given id attribute must match the
-     *                     corresponding value.
-     *  - `tag`          : the node type must match the corresponding value.
-     *  - `attributes`   : a hash. The node's attributes must match the
-     *                     corresponding values in the hash.
-     *  - `content`      : The text content must match the given value.
-     *  - `parent`       : a hash. The node's parent must match the
-     *                     corresponding hash.
-     *  - `child`        : a hash. At least one of the node's immediate children
-     *                     must meet the criteria described by the hash.
-     *  - `ancestor`     : a hash. At least one of the node's ancestors must
-     *                     meet the criteria described by the hash.
-     *  - `descendant`   : a hash. At least one of the node's descendants must
-     *                     meet the criteria described by the hash.
-     *  - `children`     : a hash, for counting children of a node.
-     *                     Accepts the keys:
-     *    - `count`        : a number which must equal the number of children
-     *                       that match
-     *    - `less_than`    : the number of matching children must be greater
-     *                       than this number
-     *    - `greater_than` : the number of matching children must be less than
-     *                       this number
-     *    - `only`         : another hash consisting of the keys to use to match
-     *                       on the children, and only matching children will be
-     *                       counted
-     *
-     * <code>
-     * // Matcher that asserts that there is an element with an id="my_id".
-     * $matcher = array('id' => 'my_id');
-     *
-     * // Matcher that asserts that there is a "span" tag.
-     * $matcher = array('tag' => 'span');
-     *
-     * // Matcher that asserts that there is a "span" tag with the content
-     * // "Hello World".
-     * $matcher = array('tag' => 'span', 'content' => 'Hello World');
-     *
-     * // Matcher that asserts that there is a "span" tag with content matching
-     * // the regular expression pattern.
-     * $matcher = array('tag' => 'span', 'content' => 'regexp:/Try P(HP|ython)/');
-     *
-     * // Matcher that asserts that there is a "span" with an "list" class
-     * // attribute.
-     * $matcher = array(
-     *   'tag'        => 'span',
-     *   'attributes' => array('class' => 'list')
-     * );
-     *
-     * // Matcher that asserts that there is a "span" inside of a "div".
-     * $matcher = array(
-     *   'tag'    => 'span',
-     *   'parent' => array('tag' => 'div')
-     * );
-     *
-     * // Matcher that asserts that there is a "span" somewhere inside a
-     * // "table".
-     * $matcher = array(
-     *   'tag'      => 'span',
-     *   'ancestor' => array('tag' => 'table')
-     * );
-     *
-     * // Matcher that asserts that there is a "span" with at least one "em"
-     * // child.
-     * $matcher = array(
-     *   'tag'   => 'span',
-     *   'child' => array('tag' => 'em')
-     * );
-     *
-     * // Matcher that asserts that there is a "span" containing a (possibly
-     * // nested) "strong" tag.
-     * $matcher = array(
-     *   'tag'        => 'span',
-     *   'descendant' => array('tag' => 'strong')
-     * );
-     *
-     * // Matcher that asserts that there is a "span" containing 5-10 "em" tags
-     * // as immediate children.
-     * $matcher = array(
-     *   'tag'      => 'span',
-     *   'children' => array(
-     *     'less_than'    => 11,
-     *     'greater_than' => 4,
-     *     'only'         => array('tag' => 'em')
-     *   )
-     * );
-     *
-     * // Matcher that asserts that there is a "div", with an "ul" ancestor and
-     * // a "li" parent (with class="enum"), and containing a "span" descendant
-     * // that contains an element with id="my_test" and the text "Hello World".
-     * $matcher = array(
-     *   'tag'        => 'div',
-     *   'ancestor'   => array('tag' => 'ul'),
-     *   'parent'     => array(
-     *     'tag'        => 'li',
-     *     'attributes' => array('class' => 'enum')
-     *   ),
-     *   'descendant' => array(
-     *     'tag'   => 'span',
-     *     'child' => array(
-     *       'id'      => 'my_test',
-     *       'content' => 'Hello World'
-     *     )
-     *   )
-     * );
-     *
-     * // Use assertTag() to apply a $matcher to a piece of $html.
-     * $this->assertTag($matcher, $html);
-     *
-     * // Use assertTag() to apply a $matcher to a piece of $xml.
-     * $this->assertTag($matcher, $xml, '', false);
-     * </code>
-     *
-     * The second argument ($actual) is a string containing either HTML or
-     * XML text to be tested.
-     *
-     * The third argument ($message) is an optional message that will be
-     * used if the assertion fails.
-     *
-     * The fourth argument ($html) is an optional flag specifying whether
-     * to load the $actual string into a DOMDocument using the HTML or
-     * XML load strategy.  It is true by default, which assumes the HTML
-     * load strategy.  In many cases, this will be acceptable for XML as well.
-     *
-     * @param array   $matcher
-     * @param string  $actual
-     * @param string  $message
-     * @param boolean $isHtml
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     * @deprecated
-     */
-    public static function assertTag($matcher, $actual, $message = '', $isHtml = true)
-    {
-        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
-
-        $dom     = PHPUnit_Util_XML::load($actual, $isHtml);
-        $tags    = PHPUnit_Util_XML::findNodes($dom, $matcher, $isHtml);
-        $matched = count($tags) > 0 && $tags[0] instanceof DOMNode;
-
-        self::assertTrue($matched, $message);
-    }
-
-    /**
-     * This assertion is the exact opposite of assertTag().
-     *
-     * Rather than asserting that $matcher results in a match, it asserts that
-     * $matcher does not match.
-     *
-     * @param array   $matcher
-     * @param string  $actual
-     * @param string  $message
-     * @param boolean $isHtml
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     * @deprecated
-     */
-    public static function assertNotTag($matcher, $actual, $message = '', $isHtml = true)
-    {
-        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
-
-        $dom     = PHPUnit_Util_XML::load($actual, $isHtml);
-        $tags    = PHPUnit_Util_XML::findNodes($dom, $matcher, $isHtml);
-        $matched = count($tags) > 0 && $tags[0] instanceof DOMNode;
-
-        self::assertFalse($matched, $message);
-    }
-
-    /**
-     * Evaluates a PHPUnit_Framework_Constraint matcher object.
-     *
-     * @param mixed                        $value
-     * @param PHPUnit_Framework_Constraint $constraint
-     * @param string                       $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertThat($value, PHPUnit_Framework_Constraint $constraint, $message = '')
-    {
-        self::$count += count($constraint);
-
-        $constraint->evaluate($value, $message);
-    }
-
-    /**
-     * Asserts that a string is a valid JSON string.
-     *
-     * @param string $actualJson
-     * @param string $message
-     * @since  Method available since Release 3.7.20
-     */
-    public static function assertJson($actualJson, $message = '')
-    {
-        if (!is_string($actualJson)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        self::assertThat($actualJson, self::isJson(), $message);
-    }
-
-    /**
-     * Asserts that two given JSON encoded objects or arrays are equal.
-     *
-     * @param string $expectedJson
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringEqualsJsonString($expectedJson, $actualJson, $message = '')
-    {
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        $expected = json_decode($expectedJson);
-        $actual   = json_decode($actualJson);
-
-        self::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two given JSON encoded objects or arrays are not equal.
-     *
-     * @param string $expectedJson
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringNotEqualsJsonString($expectedJson, $actualJson, $message = '')
-    {
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        $expected = json_decode($expectedJson);
-        $actual   = json_decode($actualJson);
-
-        self::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that the generated JSON encoded object and the content of the given file are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringEqualsJsonFile($expectedFile, $actualJson, $message = '')
-    {
-        self::assertFileExists($expectedFile, $message);
-        $expectedJson = file_get_contents($expectedFile);
-
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraint = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        self::assertThat($actualJson, $constraint, $message);
-    }
-
-    /**
-     * Asserts that the generated JSON encoded object and the content of the given file are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringNotEqualsJsonFile($expectedFile, $actualJson, $message = '')
-    {
-        self::assertFileExists($expectedFile, $message);
-        $expectedJson = file_get_contents($expectedFile);
-
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraint = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        self::assertThat($actualJson, new PHPUnit_Framework_Constraint_Not($constraint), $message);
-    }
-
-    /**
-     * Asserts that two JSON files are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     */
-    public static function assertJsonFileNotEqualsJsonFile($expectedFile, $actualFile, $message = '')
-    {
-        self::assertFileExists($expectedFile, $message);
-        self::assertFileExists($actualFile, $message);
-
-        $actualJson = file_get_contents($actualFile);
-        $expectedJson = file_get_contents($expectedFile);
-
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraintExpected = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        $constraintActual = new PHPUnit_Framework_Constraint_JsonMatches($actualJson);
-
-        self::assertThat($expectedJson, new PHPUnit_Framework_Constraint_Not($constraintActual), $message);
-        self::assertThat($actualJson, new PHPUnit_Framework_Constraint_Not($constraintExpected), $message);
-    }
-
-    /**
-     * Asserts that two JSON files are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     */
-    public static function assertJsonFileEqualsJsonFile($expectedFile, $actualFile, $message = '')
-    {
-        self::assertFileExists($expectedFile, $message);
-        self::assertFileExists($actualFile, $message);
-
-        $actualJson = file_get_contents($actualFile);
-        $expectedJson = file_get_contents($expectedFile);
-
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraintExpected = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        $constraintActual = new PHPUnit_Framework_Constraint_JsonMatches($actualJson);
-
-        self::assertThat($expectedJson, $constraintActual, $message);
-        self::assertThat($actualJson, $constraintExpected, $message);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_And matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_And
-     * @since  Method available since Release 3.0.0
-     */
-    public static function logicalAnd()
-    {
-        $constraints = func_get_args();
-
-        $constraint = new PHPUnit_Framework_Constraint_And;
-        $constraint->setConstraints($constraints);
-
-        return $constraint;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Or matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_Or
-     * @since  Method available since Release 3.0.0
-     */
-    public static function logicalOr()
-    {
-        $constraints = func_get_args();
-
-        $constraint = new PHPUnit_Framework_Constraint_Or;
-        $constraint->setConstraints($constraints);
-
-        return $constraint;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Not matcher object.
-     *
-     * @param  PHPUnit_Framework_Constraint     $constraint
-     * @return PHPUnit_Framework_Constraint_Not
-     * @since  Method available since Release 3.0.0
-     */
-    public static function logicalNot(PHPUnit_Framework_Constraint $constraint)
-    {
-        return new PHPUnit_Framework_Constraint_Not($constraint);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Xor matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_Xor
-     * @since  Method available since Release 3.0.0
-     */
-    public static function logicalXor()
-    {
-        $constraints = func_get_args();
-
-        $constraint = new PHPUnit_Framework_Constraint_Xor;
-        $constraint->setConstraints($constraints);
-
-        return $constraint;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsAnything matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsAnything
-     * @since  Method available since Release 3.0.0
-     */
-    public static function anything()
-    {
-        return new PHPUnit_Framework_Constraint_IsAnything;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsTrue matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsTrue
-     * @since  Method available since Release 3.3.0
-     */
-    public static function isTrue()
-    {
-        return new PHPUnit_Framework_Constraint_IsTrue;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Callback matcher object.
-     *
-     * @param  callable                              $callback
-     * @return PHPUnit_Framework_Constraint_Callback
-     */
-    public static function callback($callback)
-    {
-        return new PHPUnit_Framework_Constraint_Callback($callback);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsFalse matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsFalse
-     * @since  Method available since Release 3.3.0
-     */
-    public static function isFalse()
-    {
-        return new PHPUnit_Framework_Constraint_IsFalse;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsJson matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsJson
-     * @since  Method available since Release 3.7.20
-     */
-    public static function isJson()
-    {
-        return new PHPUnit_Framework_Constraint_IsJson;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsNull matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsNull
-     * @since  Method available since Release 3.3.0
-     */
-    public static function isNull()
-    {
-        return new PHPUnit_Framework_Constraint_IsNull;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Attribute matcher object.
-     *
-     * @param  PHPUnit_Framework_Constraint           $constraint
-     * @param  string                                 $attributeName
-     * @return PHPUnit_Framework_Constraint_Attribute
-     * @since  Method available since Release 3.1.0
-     */
-    public static function attribute(PHPUnit_Framework_Constraint $constraint, $attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_Attribute(
-            $constraint,
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_TraversableContains matcher
-     * object.
-     *
-     * @param  mixed                                            $value
-     * @param  boolean                                          $checkForObjectIdentity
-     * @param  boolean                                          $checkForNonObjectIdentity
-     * @return PHPUnit_Framework_Constraint_TraversableContains
-     * @since  Method available since Release 3.0.0
-     */
-    public static function contains($value, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        return new PHPUnit_Framework_Constraint_TraversableContains($value, $checkForObjectIdentity, $checkForNonObjectIdentity);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
-     * object.
-     *
-     * @param  string                                               $type
-     * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
-     * @since  Method available since Release 3.1.4
-     */
-    public static function containsOnly($type)
-    {
-        return new PHPUnit_Framework_Constraint_TraversableContainsOnly($type);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
-     * object.
-     *
-     * @param  string                                               $classname
-     * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
-     */
-    public static function containsOnlyInstancesOf($classname)
-    {
-        return new PHPUnit_Framework_Constraint_TraversableContainsOnly($classname, false);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ArrayHasKey matcher object.
-     *
-     * @param  mixed                                    $key
-     * @return PHPUnit_Framework_Constraint_ArrayHasKey
-     * @since  Method available since Release 3.0.0
-     */
-    public static function arrayHasKey($key)
-    {
-        return new PHPUnit_Framework_Constraint_ArrayHasKey($key);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object.
-     *
-     * @param  mixed                                $value
-     * @param  float                                $delta
-     * @param  integer                              $maxDepth
-     * @param  boolean                              $canonicalize
-     * @param  boolean                              $ignoreCase
-     * @return PHPUnit_Framework_Constraint_IsEqual
-     * @since  Method available since Release 3.0.0
-     */
-    public static function equalTo($value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        return new PHPUnit_Framework_Constraint_IsEqual(
-            $value,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object
-     * that is wrapped in a PHPUnit_Framework_Constraint_Attribute matcher
-     * object.
-     *
-     * @param  string                                 $attributeName
-     * @param  mixed                                  $value
-     * @param  float                                  $delta
-     * @param  integer                                $maxDepth
-     * @param  boolean                                $canonicalize
-     * @param  boolean                                $ignoreCase
-     * @return PHPUnit_Framework_Constraint_Attribute
-     * @since  Method available since Release 3.1.0
-     */
-    public static function attributeEqualTo($attributeName, $value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        return self::attribute(
-            self::equalTo(
-                $value,
-                $delta,
-                $maxDepth,
-                $canonicalize,
-                $ignoreCase
-            ),
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsEmpty matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsEmpty
-     * @since  Method available since Release 3.5.0
-     */
-    public static function isEmpty()
-    {
-        return new PHPUnit_Framework_Constraint_IsEmpty;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_FileExists matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_FileExists
-     * @since  Method available since Release 3.0.0
-     */
-    public static function fileExists()
-    {
-        return new PHPUnit_Framework_Constraint_FileExists;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_GreaterThan matcher object.
-     *
-     * @param  mixed                                    $value
-     * @return PHPUnit_Framework_Constraint_GreaterThan
-     * @since  Method available since Release 3.0.0
-     */
-    public static function greaterThan($value)
-    {
-        return new PHPUnit_Framework_Constraint_GreaterThan($value);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
-     * a PHPUnit_Framework_Constraint_IsEqual and a
-     * PHPUnit_Framework_Constraint_GreaterThan matcher object.
-     *
-     * @param  mixed                           $value
-     * @return PHPUnit_Framework_Constraint_Or
-     * @since  Method available since Release 3.1.0
-     */
-    public static function greaterThanOrEqual($value)
-    {
-        return self::logicalOr(
-            new PHPUnit_Framework_Constraint_IsEqual($value),
-            new PHPUnit_Framework_Constraint_GreaterThan($value)
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ClassHasAttribute matcher object.
-     *
-     * @param  string                                         $attributeName
-     * @return PHPUnit_Framework_Constraint_ClassHasAttribute
-     * @since  Method available since Release 3.1.0
-     */
-    public static function classHasAttribute($attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_ClassHasAttribute(
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ClassHasStaticAttribute matcher
-     * object.
-     *
-     * @param  string                                               $attributeName
-     * @return PHPUnit_Framework_Constraint_ClassHasStaticAttribute
-     * @since  Method available since Release 3.1.0
-     */
-    public static function classHasStaticAttribute($attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ObjectHasAttribute matcher object.
-     *
-     * @param  string                                          $attributeName
-     * @return PHPUnit_Framework_Constraint_ObjectHasAttribute
-     * @since  Method available since Release 3.0.0
-     */
-    public static function objectHasAttribute($attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_ObjectHasAttribute(
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsIdentical matcher object.
-     *
-     * @param  mixed                                    $value
-     * @return PHPUnit_Framework_Constraint_IsIdentical
-     * @since  Method available since Release 3.0.0
-     */
-    public static function identicalTo($value)
-    {
-        return new PHPUnit_Framework_Constraint_IsIdentical($value);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsInstanceOf matcher object.
-     *
-     * @param  string                                    $className
-     * @return PHPUnit_Framework_Constraint_IsInstanceOf
-     * @since  Method available since Release 3.0.0
-     */
-    public static function isInstanceOf($className)
-    {
-        return new PHPUnit_Framework_Constraint_IsInstanceOf($className);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsType matcher object.
-     *
-     * @param  string                              $type
-     * @return PHPUnit_Framework_Constraint_IsType
-     * @since  Method available since Release 3.0.0
-     */
-    public static function isType($type)
-    {
-        return new PHPUnit_Framework_Constraint_IsType($type);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_LessThan matcher object.
-     *
-     * @param  mixed                                 $value
-     * @return PHPUnit_Framework_Constraint_LessThan
-     * @since  Method available since Release 3.0.0
-     */
-    public static function lessThan($value)
-    {
-        return new PHPUnit_Framework_Constraint_LessThan($value);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
-     * a PHPUnit_Framework_Constraint_IsEqual and a
-     * PHPUnit_Framework_Constraint_LessThan matcher object.
-     *
-     * @param  mixed                           $value
-     * @return PHPUnit_Framework_Constraint_Or
-     * @since  Method available since Release 3.1.0
-     */
-    public static function lessThanOrEqual($value)
-    {
-        return self::logicalOr(
-            new PHPUnit_Framework_Constraint_IsEqual($value),
-            new PHPUnit_Framework_Constraint_LessThan($value)
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_PCREMatch matcher object.
-     *
-     * @param  string                                 $pattern
-     * @return PHPUnit_Framework_Constraint_PCREMatch
-     * @since  Method available since Release 3.0.0
-     */
-    public static function matchesRegularExpression($pattern)
-    {
-        return new PHPUnit_Framework_Constraint_PCREMatch($pattern);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringMatches matcher object.
-     *
-     * @param  string                                     $string
-     * @return PHPUnit_Framework_Constraint_StringMatches
-     * @since  Method available since Release 3.5.0
-     */
-    public static function matches($string)
-    {
-        return new PHPUnit_Framework_Constraint_StringMatches($string);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringStartsWith matcher object.
-     *
-     * @param  mixed                                         $prefix
-     * @return PHPUnit_Framework_Constraint_StringStartsWith
-     * @since  Method available since Release 3.4.0
-     */
-    public static function stringStartsWith($prefix)
-    {
-        return new PHPUnit_Framework_Constraint_StringStartsWith($prefix);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringContains matcher object.
-     *
-     * @param  string                                      $string
-     * @param  boolean                                     $case
-     * @return PHPUnit_Framework_Constraint_StringContains
-     * @since  Method available since Release 3.0.0
-     */
-    public static function stringContains($string, $case = true)
-    {
-        return new PHPUnit_Framework_Constraint_StringContains($string, $case);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringEndsWith matcher object.
-     *
-     * @param  mixed                                       $suffix
-     * @return PHPUnit_Framework_Constraint_StringEndsWith
-     * @since  Method available since Release 3.4.0
-     */
-    public static function stringEndsWith($suffix)
-    {
-        return new PHPUnit_Framework_Constraint_StringEndsWith($suffix);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Count matcher object.
-     *
-     * @param  int                                $count
-     * @return PHPUnit_Framework_Constraint_Count
-     */
-    public static function countOf($count)
-    {
-        return new PHPUnit_Framework_Constraint_Count($count);
-    }
-    /**
-     * Fails a test with the given message.
-     *
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function fail($message = '')
-    {
-        throw new PHPUnit_Framework_AssertionFailedError($message);
-    }
-
-    /**
-     * Returns the value of an attribute of a class or an object.
-     * This also works for attributes that are declared protected or private.
-     *
-     * @param  mixed                       $classOrObject
-     * @param  string                      $attributeName
-     * @return mixed
-     * @throws PHPUnit_Framework_Exception
-     */
-    public static function readAttribute($classOrObject, $attributeName)
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
-        }
-
-        if (is_string($classOrObject)) {
-            if (!class_exists($classOrObject)) {
-                throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                    1,
-                    'class name'
-                );
-            }
-
-            return self::getStaticAttribute(
-                $classOrObject,
-                $attributeName
-            );
-        } elseif (is_object($classOrObject)) {
-            return self::getObjectAttribute(
-                $classOrObject,
-                $attributeName
-            );
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'class name or object'
-            );
-        }
-    }
-
-    /**
-     * Returns the value of a static attribute.
-     * This also works for attributes that are declared protected or private.
-     *
-     * @param  string                      $className
-     * @param  string                      $attributeName
-     * @return mixed
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 4.0.0
-     */
-    public static function getStaticAttribute($className, $attributeName)
-    {
-        if (!is_string($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class name');
-        }
-
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
-        }
-
-        $class = new ReflectionClass($className);
-
-        while ($class) {
-            $attributes = $class->getStaticProperties();
-
-            if (array_key_exists($attributeName, $attributes)) {
-                return $attributes[$attributeName];
-            }
-
-            $class = $class->getParentClass();
-        }
-
-        throw new PHPUnit_Framework_Exception(
-            sprintf(
-                'Attribute "%s" not found in class.',
-                $attributeName
-            )
-        );
-    }
-
-    /**
-     * Returns the value of an object's attribute.
-     * This also works for attributes that are declared protected or private.
-     *
-     * @param  object                      $object
-     * @param  string                      $attributeName
-     * @return mixed
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 4.0.0
-     */
-    public static function getObjectAttribute($object, $attributeName)
-    {
-        if (!is_object($object)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'object');
-        }
-
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
-        }
-
-        try {
-            $attribute = new ReflectionProperty($object, $attributeName);
-        } catch (ReflectionException $e) {
-            $reflector = new ReflectionObject($object);
-
-            while ($reflector = $reflector->getParentClass()) {
-                try {
-                    $attribute = $reflector->getProperty($attributeName);
-                    break;
-                } catch (ReflectionException $e) {
-                }
-            }
-        }
-
-        if (isset($attribute)) {
-            if (!$attribute || $attribute->isPublic()) {
-                return $object->$attributeName;
-            }
-
-            $attribute->setAccessible(true);
-            $value = $attribute->getValue($object);
-            $attribute->setAccessible(false);
-
-            return $value;
-        }
-
-        throw new PHPUnit_Framework_Exception(
-            sprintf(
-                'Attribute "%s" not found in object.',
-                $attributeName
-            )
-        );
-    }
-
-    /**
-     * Mark the test as incomplete.
-     *
-     * @param  string                                $message
-     * @throws PHPUnit_Framework_IncompleteTestError
-     * @since  Method available since Release 3.0.0
-     */
-    public static function markTestIncomplete($message = '')
-    {
-        throw new PHPUnit_Framework_IncompleteTestError($message);
-    }
-
-    /**
-     * Mark the test as skipped.
-     *
-     * @param  string                             $message
-     * @throws PHPUnit_Framework_SkippedTestError
-     * @since  Method available since Release 3.0.0
-     */
-    public static function markTestSkipped($message = '')
-    {
-        throw new PHPUnit_Framework_SkippedTestError($message);
-    }
-
-    /**
-     * Return the current assertion count.
-     *
-     * @return integer
-     * @since  Method available since Release 3.3.3
-     */
-    public static function getCount()
-    {
-        return self::$count;
-    }
-
-    /**
-     * Reset the assertion counter.
-     *
-     * @since  Method available since Release 3.3.3
-     */
-    public static function resetCount()
-    {
-        self::$count = 0;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php b/core/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php
deleted file mode 100644
index edc5f83..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php
+++ /dev/null
@@ -1,2443 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Returns a matcher that matches when the method it is evaluated for
- * is executed zero or more times.
- *
- * @return PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount
- * @since  Method available since Release 3.0.0
- */
-function any()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::any',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsAnything matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsAnything
- * @since  Method available since Release 3.0.0
- */
-function anything()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::anything',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_ArrayHasKey matcher object.
- *
- * @param  mixed $key
- * @return PHPUnit_Framework_Constraint_ArrayHasKey
- * @since  Method available since Release 3.0.0
- */
-function arrayHasKey($key)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::arrayHasKey',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an array has a specified key.
- *
- * @param  mixed  $key
- * @param  array|ArrayAccess  $array
- * @param  string $message
- * @since  Method available since Release 3.0.0
- */
-function assertArrayHasKey($key, $array, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertArrayHasKey',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an array has a specified subset.
- *
- * @param array|ArrayAccess  $subset
- * @param array|ArrayAccess  $array
- * @param boolean            $strict  Check for object identity
- * @param string             $message
- * @since Method available since Release 4.4.0
- */
-function assertArraySubset($subset, $array, $strict = false, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertArraySubset',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an array does not have a specified key.
- *
- * @param  mixed  $key
- * @param  array|ArrayAccess  $array
- * @param  string $message
- * @since  Method available since Release 3.0.0
- */
-function assertArrayNotHasKey($key, $array, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertArrayNotHasKey',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack that is stored in a static attribute of a class
- * or an attribute of an object contains a needle.
- *
- * @param  mixed   $needle
- * @param  string  $haystackAttributeName
- * @param  mixed   $haystackClassOrObject
- * @param  string  $message
- * @param  boolean $ignoreCase
- * @param  boolean $checkForObjectIdentity
- * @param  boolean $checkForNonObjectIdentity
- * @since  Method available since Release 3.0.0
- */
-function assertAttributeContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeContains',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack that is stored in a static attribute of a class
- * or an attribute of an object contains only values of a given type.
- *
- * @param  string  $type
- * @param  string  $haystackAttributeName
- * @param  mixed   $haystackClassOrObject
- * @param  boolean $isNativeType
- * @param  string  $message
- * @since  Method available since Release 3.1.4
- */
-function assertAttributeContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeContainsOnly',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts the number of elements of an array, Countable or Traversable
- * that is stored in an attribute.
- *
- * @param integer $expectedCount
- * @param string  $haystackAttributeName
- * @param mixed   $haystackClassOrObject
- * @param string  $message
- * @since Method available since Release 3.6.0
- */
-function assertAttributeCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeCount',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a static attribute of a class or an attribute of an object
- * is empty.
- *
- * @param string $haystackAttributeName
- * @param mixed  $haystackClassOrObject
- * @param string $message
- * @since Method available since Release 3.5.0
- */
-function assertAttributeEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeEmpty',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is equal to an attribute of an object.
- *
- * @param  mixed   $expected
- * @param  string  $actualAttributeName
- * @param  string  $actualClassOrObject
- * @param  string  $message
- * @param  float   $delta
- * @param  integer $maxDepth
- * @param  boolean $canonicalize
- * @param  boolean $ignoreCase
- */
-function assertAttributeEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is greater than another value.
- *
- * @param  mixed   $expected
- * @param  string  $actualAttributeName
- * @param  string  $actualClassOrObject
- * @param  string  $message
- * @since  Method available since Release 3.1.0
- */
-function assertAttributeGreaterThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeGreaterThan',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is greater than or equal to another value.
- *
- * @param  mixed   $expected
- * @param  string  $actualAttributeName
- * @param  string  $actualClassOrObject
- * @param  string  $message
- * @since  Method available since Release 3.1.0
- */
-function assertAttributeGreaterThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeGreaterThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is of a given type.
- *
- * @param string $expected
- * @param string $attributeName
- * @param mixed  $classOrObject
- * @param string $message
- * @since Method available since Release 3.5.0
- */
-function assertAttributeInstanceOf($expected, $attributeName, $classOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeInstanceOf',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is of a given type.
- *
- * @param string $expected
- * @param string $attributeName
- * @param mixed  $classOrObject
- * @param string $message
- * @since Method available since Release 3.5.0
- */
-function assertAttributeInternalType($expected, $attributeName, $classOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeInternalType',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is smaller than another value.
- *
- * @param  mixed   $expected
- * @param  string  $actualAttributeName
- * @param  string  $actualClassOrObject
- * @param  string  $message
- * @since  Method available since Release 3.1.0
- */
-function assertAttributeLessThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeLessThan',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is smaller than or equal to another value.
- *
- * @param  mixed   $expected
- * @param  string  $actualAttributeName
- * @param  string  $actualClassOrObject
- * @param  string  $message
- * @since  Method available since Release 3.1.0
- */
-function assertAttributeLessThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeLessThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack that is stored in a static attribute of a class
- * or an attribute of an object does not contain a needle.
- *
- * @param  mixed   $needle
- * @param  string  $haystackAttributeName
- * @param  mixed   $haystackClassOrObject
- * @param  string  $message
- * @param  boolean $ignoreCase
- * @param  boolean $checkForObjectIdentity
- * @param  boolean $checkForNonObjectIdentity
- * @since  Method available since Release 3.0.0
- */
-function assertAttributeNotContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotContains',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack that is stored in a static attribute of a class
- * or an attribute of an object does not contain only values of a given
- * type.
- *
- * @param  string  $type
- * @param  string  $haystackAttributeName
- * @param  mixed   $haystackClassOrObject
- * @param  boolean $isNativeType
- * @param  string  $message
- * @since  Method available since Release 3.1.4
- */
-function assertAttributeNotContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotContainsOnly',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts the number of elements of an array, Countable or Traversable
- * that is stored in an attribute.
- *
- * @param integer $expectedCount
- * @param string  $haystackAttributeName
- * @param mixed   $haystackClassOrObject
- * @param string  $message
- * @since Method available since Release 3.6.0
- */
-function assertAttributeNotCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotCount',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a static attribute of a class or an attribute of an object
- * is not empty.
- *
- * @param string $haystackAttributeName
- * @param mixed  $haystackClassOrObject
- * @param string $message
- * @since Method available since Release 3.5.0
- */
-function assertAttributeNotEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotEmpty',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is not equal to an attribute of an object.
- *
- * @param  mixed   $expected
- * @param  string  $actualAttributeName
- * @param  string  $actualClassOrObject
- * @param  string  $message
- * @param  float   $delta
- * @param  integer $maxDepth
- * @param  boolean $canonicalize
- * @param  boolean $ignoreCase
- */
-function assertAttributeNotEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is of a given type.
- *
- * @param string $expected
- * @param string $attributeName
- * @param mixed  $classOrObject
- * @param string $message
- * @since Method available since Release 3.5.0
- */
-function assertAttributeNotInstanceOf($expected, $attributeName, $classOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotInstanceOf',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is of a given type.
- *
- * @param string $expected
- * @param string $attributeName
- * @param mixed  $classOrObject
- * @param string $message
- * @since Method available since Release 3.5.0
- */
-function assertAttributeNotInternalType($expected, $attributeName, $classOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotInternalType',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable and an attribute of an object do not have the
- * same type and value.
- *
- * @param  mixed  $expected
- * @param  string $actualAttributeName
- * @param  object $actualClassOrObject
- * @param  string $message
- */
-function assertAttributeNotSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotSame',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable and an attribute of an object have the same type
- * and value.
- *
- * @param  mixed  $expected
- * @param  string $actualAttributeName
- * @param  object $actualClassOrObject
- * @param  string $message
- */
-function assertAttributeSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeSame',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a class has a specified attribute.
- *
- * @param  string $attributeName
- * @param  string $className
- * @param  string $message
- * @since  Method available since Release 3.1.0
- */
-function assertClassHasAttribute($attributeName, $className, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertClassHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a class has a specified static attribute.
- *
- * @param  string $attributeName
- * @param  string $className
- * @param  string $message
- * @since  Method available since Release 3.1.0
- */
-function assertClassHasStaticAttribute($attributeName, $className, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertClassHasStaticAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a class does not have a specified attribute.
- *
- * @param  string $attributeName
- * @param  string $className
- * @param  string $message
- * @since  Method available since Release 3.1.0
- */
-function assertClassNotHasAttribute($attributeName, $className, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertClassNotHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a class does not have a specified static attribute.
- *
- * @param  string $attributeName
- * @param  string $className
- * @param  string $message
- * @since  Method available since Release 3.1.0
- */
-function assertClassNotHasStaticAttribute($attributeName, $className, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack contains a needle.
- *
- * @param  mixed   $needle
- * @param  mixed   $haystack
- * @param  string  $message
- * @param  boolean $ignoreCase
- * @param  boolean $checkForObjectIdentity
- * @param  boolean $checkForNonObjectIdentity
- * @since  Method available since Release 2.1.0
- */
-function assertContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertContains',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack contains only values of a given type.
- *
- * @param  string  $type
- * @param  mixed   $haystack
- * @param  boolean $isNativeType
- * @param  string  $message
- * @since  Method available since Release 3.1.4
- */
-function assertContainsOnly($type, $haystack, $isNativeType = null, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertContainsOnly',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack contains only instances of a given classname
- *
- * @param string $classname
- * @param array|Traversable $haystack
- * @param string $message
- */
-function assertContainsOnlyInstancesOf($classname, $haystack, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertContainsOnlyInstancesOf',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts the number of elements of an array, Countable or Traversable.
- *
- * @param integer $expectedCount
- * @param mixed   $haystack
- * @param string  $message
- */
-function assertCount($expectedCount, $haystack, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertCount',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is empty.
- *
- * @param  mixed   $actual
- * @param  string  $message
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertEmpty($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertEmpty',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a hierarchy of DOMElements matches.
- *
- * @param DOMElement $expectedElement
- * @param DOMElement $actualElement
- * @param boolean $checkAttributes
- * @param string  $message
- * @author Mattis Stordalen Flister <mattis@xait.no>
- * @since  Method available since Release 3.3.0
- */
-function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actualElement, $checkAttributes = false, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertEqualXMLStructure',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two variables are equal.
- *
- * @param  mixed   $expected
- * @param  mixed   $actual
- * @param  string  $message
- * @param  float   $delta
- * @param  integer $maxDepth
- * @param  boolean $canonicalize
- * @param  boolean $ignoreCase
- */
-function assertEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a condition is not true.
- *
- * @param  boolean  $condition
- * @param  string   $message
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertNotTrue($condition, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotTrue',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a condition is false.
- *
- * @param  boolean  $condition
- * @param  string   $message
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertFalse($condition, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFalse',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the contents of one file is equal to the contents of another
- * file.
- *
- * @param  string  $expected
- * @param  string  $actual
- * @param  string  $message
- * @param  boolean $canonicalize
- * @param  boolean $ignoreCase
- * @since  Method available since Release 3.2.14
- */
-function assertFileEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFileEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a file exists.
- *
- * @param  string $filename
- * @param  string $message
- * @since  Method available since Release 3.0.0
- */
-function assertFileExists($filename, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFileExists',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the contents of one file is not equal to the contents of
- * another file.
- *
- * @param  string  $expected
- * @param  string  $actual
- * @param  string  $message
- * @param  boolean $canonicalize
- * @param  boolean $ignoreCase
- * @since  Method available since Release 3.2.14
- */
-function assertFileNotEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFileNotEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a file does not exist.
- *
- * @param  string $filename
- * @param  string $message
- * @since  Method available since Release 3.0.0
- */
-function assertFileNotExists($filename, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFileNotExists',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a value is greater than another value.
- *
- * @param  mixed   $expected
- * @param  mixed   $actual
- * @param  string  $message
- * @since  Method available since Release 3.1.0
- */
-function assertGreaterThan($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertGreaterThan',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a value is greater than or equal to another value.
- *
- * @param  mixed   $expected
- * @param  mixed   $actual
- * @param  string  $message
- * @since  Method available since Release 3.1.0
- */
-function assertGreaterThanOrEqual($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertGreaterThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is of a given type.
- *
- * @param string $expected
- * @param mixed  $actual
- * @param string $message
- * @since Method available since Release 3.5.0
- */
-function assertInstanceOf($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertInstanceOf',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is of a given type.
- *
- * @param string $expected
- * @param mixed  $actual
- * @param string $message
- * @since Method available since Release 3.5.0
- */
-function assertInternalType($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertInternalType',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string is a valid JSON string.
- *
- * @param  string $filename
- * @param  string $message
- * @since  Method available since Release 3.7.20
- */
-function assertJson($expectedJson, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJson',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two JSON files are equal.
- *
- * @param  string $expectedFile
- * @param  string $actualFile
- * @param  string $message
- */
-function assertJsonFileEqualsJsonFile($expectedFile, $actualFile, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonFileEqualsJsonFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two JSON files are not equal.
- *
- * @param  string $expectedFile
- * @param  string $actualFile
- * @param  string $message
- */
-function assertJsonFileNotEqualsJsonFile($expectedFile, $actualFile, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonFileNotEqualsJsonFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the generated JSON encoded object and the content of the given file are equal.
- *
- * @param string $expectedFile
- * @param string $actualJson
- * @param string $message
- */
-function assertJsonStringEqualsJsonFile($expectedFile, $actualJson, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two given JSON encoded objects or arrays are equal.
- *
- * @param string $expectedJson
- * @param string $actualJson
- * @param string $message
- */
-function assertJsonStringEqualsJsonString($expectedJson, $actualJson, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonStringEqualsJsonString',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the generated JSON encoded object and the content of the given file are not equal.
- *
- * @param string $expectedFile
- * @param string $actualJson
- * @param string $message
- */
-function assertJsonStringNotEqualsJsonFile($expectedFile, $actualJson, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two given JSON encoded objects or arrays are not equal.
- *
- * @param string $expectedJson
- * @param string $actualJson
- * @param string $message
- */
-function assertJsonStringNotEqualsJsonString($expectedJson, $actualJson, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonString',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a value is smaller than another value.
- *
- * @param  mixed   $expected
- * @param  mixed   $actual
- * @param  string  $message
- * @since  Method available since Release 3.1.0
- */
-function assertLessThan($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertLessThan',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a value is smaller than or equal to another value.
- *
- * @param  mixed   $expected
- * @param  mixed   $actual
- * @param  string  $message
- * @since  Method available since Release 3.1.0
- */
-function assertLessThanOrEqual($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertLessThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack does not contain a needle.
- *
- * @param  mixed   $needle
- * @param  mixed   $haystack
- * @param  string  $message
- * @param  boolean $ignoreCase
- * @param  boolean $checkForObjectIdentity
- * @param  boolean $checkForNonObjectIdentity
- * @since  Method available since Release 2.1.0
- */
-function assertNotContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotContains',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack does not contain only values of a given type.
- *
- * @param  string  $type
- * @param  mixed   $haystack
- * @param  boolean $isNativeType
- * @param  string  $message
- * @since  Method available since Release 3.1.4
- */
-function assertNotContainsOnly($type, $haystack, $isNativeType = null, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotContainsOnly',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts the number of elements of an array, Countable or Traversable.
- *
- * @param integer $expectedCount
- * @param mixed   $haystack
- * @param string  $message
- */
-function assertNotCount($expectedCount, $haystack, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotCount',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is not empty.
- *
- * @param  mixed   $actual
- * @param  string  $message
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertNotEmpty($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotEmpty',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two variables are not equal.
- *
- * @param  mixed   $expected
- * @param  mixed   $actual
- * @param  string  $message
- * @param  float   $delta
- * @param  integer $maxDepth
- * @param  boolean $canonicalize
- * @param  boolean $ignoreCase
- * @since  Method available since Release 2.3.0
- */
-function assertNotEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is not of a given type.
- *
- * @param string $expected
- * @param mixed  $actual
- * @param string $message
- * @since Method available since Release 3.5.0
- */
-function assertNotInstanceOf($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotInstanceOf',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is not of a given type.
- *
- * @param string $expected
- * @param mixed  $actual
- * @param string $message
- * @since Method available since Release 3.5.0
- */
-function assertNotInternalType($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotInternalType',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a condition is not false.
- *
- * @param  boolean  $condition
- * @param  string   $message
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertNotFalse($condition, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotFalse',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is not null.
- *
- * @param  mixed  $actual
- * @param  string $message
- */
-function assertNotNull($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotNull',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string does not match a given regular expression.
- *
- * @param  string $pattern
- * @param  string $string
- * @param  string $message
- * @since  Method available since Release 2.1.0
- */
-function assertNotRegExp($pattern, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotRegExp',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two variables do not have the same type and value.
- * Used on objects, it asserts that two variables do not reference
- * the same object.
- *
- * @param  mixed  $expected
- * @param  mixed  $actual
- * @param  string $message
- */
-function assertNotSame($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotSame',
-        func_get_args()
-    );
-}
-
-/**
- * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
- * is not the same.
- *
- * @param array|Countable|Traversable $expected
- * @param array|Countable|Traversable $actual
- * @param string $message
- */
-function assertNotSameSize($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotSameSize',
-        func_get_args()
-    );
-}
-
-/**
- * This assertion is the exact opposite of assertTag().
- *
- * Rather than asserting that $matcher results in a match, it asserts that
- * $matcher does not match.
- *
- * @param  array   $matcher
- * @param  string  $actual
- * @param  string  $message
- * @param  boolean $isHtml
- * @since  Method available since Release 3.3.0
- * @author Mike Naberezny <mike@maintainable.com>
- * @author Derek DeVries <derek@maintainable.com>
- */
-function assertNotTag($matcher, $actual, $message = '', $isHtml = true)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotTag',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is null.
- *
- * @param  mixed  $actual
- * @param  string $message
- */
-function assertNull($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNull',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an object has a specified attribute.
- *
- * @param  string $attributeName
- * @param  object $object
- * @param  string $message
- * @since  Method available since Release 3.0.0
- */
-function assertObjectHasAttribute($attributeName, $object, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertObjectHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an object does not have a specified attribute.
- *
- * @param  string $attributeName
- * @param  object $object
- * @param  string $message
- * @since  Method available since Release 3.0.0
- */
-function assertObjectNotHasAttribute($attributeName, $object, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertObjectNotHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string matches a given regular expression.
- *
- * @param  string $pattern
- * @param  string $string
- * @param  string $message
- */
-function assertRegExp($pattern, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertRegExp',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two variables have the same type and value.
- * Used on objects, it asserts that two variables reference
- * the same object.
- *
- * @param  mixed  $expected
- * @param  mixed  $actual
- * @param  string $message
- */
-function assertSame($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertSame',
-        func_get_args()
-    );
-}
-
-/**
- * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
- * is the same.
- *
- * @param array|Countable|Traversable $expected
- * @param array|Countable|Traversable $actual
- * @param string $message
- */
-function assertSameSize($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertSameSize',
-        func_get_args()
-    );
-}
-
-/**
- * Assert the presence, absence, or count of elements in a document matching
- * the CSS $selector, regardless of the contents of those elements.
- *
- * The first argument, $selector, is the CSS selector used to match
- * the elements in the $actual document.
- *
- * The second argument, $count, can be either boolean or numeric.
- * When boolean, it asserts for presence of elements matching the selector
- * (true) or absence of elements (false).
- * When numeric, it asserts the count of elements.
- *
- * assertSelectCount("#binder", true, $xml);  // any?
- * assertSelectCount(".binder", 3, $xml); // exactly 3?
- *
- * @param  array   $selector
- * @param  integer $count
- * @param  mixed   $actual
- * @param  string  $message
- * @param  boolean $isHtml
- * @since  Method available since Release 3.3.0
- * @author Mike Naberezny <mike@maintainable.com>
- * @author Derek DeVries <derek@maintainable.com>
- */
-function assertSelectCount($selector, $count, $actual, $message = '', $isHtml = true)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertSelectCount',
-        func_get_args()
-    );
-}
-
-/**
- * assertSelectEquals("#binder .name", "Chuck", true,  $xml);  // any?
- * assertSelectEquals("#binder .name", "Chuck", false, $xml);  // none?
- *
- * @param  array   $selector
- * @param  string  $content
- * @param  integer $count
- * @param  mixed   $actual
- * @param  string  $message
- * @param  boolean $isHtml
- * @since  Method available since Release 3.3.0
- * @author Mike Naberezny <mike@maintainable.com>
- * @author Derek DeVries <derek@maintainable.com>
- */
-function assertSelectEquals($selector, $content, $count, $actual, $message = '', $isHtml = true)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertSelectEquals',
-        func_get_args()
-    );
-}
-
-/**
- * assertSelectRegExp("#binder .name", "/Mike|Derek/", true, $xml); // any?
- * assertSelectRegExp("#binder .name", "/Mike|Derek/", 3, $xml);// 3?
- *
- * @param  array   $selector
- * @param  string  $pattern
- * @param  integer $count
- * @param  mixed   $actual
- * @param  string  $message
- * @param  boolean $isHtml
- * @since  Method available since Release 3.3.0
- * @author Mike Naberezny <mike@maintainable.com>
- * @author Derek DeVries <derek@maintainable.com>
- */
-function assertSelectRegExp($selector, $pattern, $count, $actual, $message = '', $isHtml = true)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertSelectRegExp',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string ends not with a given prefix.
- *
- * @param  string $suffix
- * @param  string $string
- * @param  string $message
- * @since  Method available since Release 3.4.0
- */
-function assertStringEndsNotWith($suffix, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringEndsNotWith',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string ends with a given prefix.
- *
- * @param  string $suffix
- * @param  string $string
- * @param  string $message
- * @since  Method available since Release 3.4.0
- */
-function assertStringEndsWith($suffix, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringEndsWith',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the contents of a string is equal
- * to the contents of a file.
- *
- * @param  string  $expectedFile
- * @param  string  $actualString
- * @param  string  $message
- * @param  boolean $canonicalize
- * @param  boolean $ignoreCase
- * @since  Method available since Release 3.3.0
- */
-function assertStringEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringEqualsFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string matches a given format string.
- *
- * @param  string $format
- * @param  string $string
- * @param  string $message
- * @since  Method available since Release 3.5.0
- */
-function assertStringMatchesFormat($format, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringMatchesFormat',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string matches a given format file.
- *
- * @param  string $formatFile
- * @param  string $string
- * @param  string $message
- * @since  Method available since Release 3.5.0
- */
-function assertStringMatchesFormatFile($formatFile, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringMatchesFormatFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the contents of a string is not equal
- * to the contents of a file.
- *
- * @param  string  $expectedFile
- * @param  string  $actualString
- * @param  string  $message
- * @param  boolean $canonicalize
- * @param  boolean $ignoreCase
- * @since  Method available since Release 3.3.0
- */
-function assertStringNotEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringNotEqualsFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string does not match a given format string.
- *
- * @param  string $format
- * @param  string $string
- * @param  string $message
- * @since  Method available since Release 3.5.0
- */
-function assertStringNotMatchesFormat($format, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringNotMatchesFormat',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string does not match a given format string.
- *
- * @param  string $formatFile
- * @param  string $string
- * @param  string $message
- * @since  Method available since Release 3.5.0
- */
-function assertStringNotMatchesFormatFile($formatFile, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringNotMatchesFormatFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string starts not with a given prefix.
- *
- * @param  string $prefix
- * @param  string $string
- * @param  string $message
- * @since  Method available since Release 3.4.0
- */
-function assertStringStartsNotWith($prefix, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringStartsNotWith',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string starts with a given prefix.
- *
- * @param  string $prefix
- * @param  string $string
- * @param  string $message
- * @since  Method available since Release 3.4.0
- */
-function assertStringStartsWith($prefix, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringStartsWith',
-        func_get_args()
-    );
-}
-
-/**
- * Evaluate an HTML or XML string and assert its structure and/or contents.
- *
- * The first argument ($matcher) is an associative array that specifies the
- * match criteria for the assertion:
- *
- *  - `id`   : the node with the given id attribute must match the
- * corresponding value.
- *  - `tag`  : the node type must match the corresponding value.
- *  - `attributes`   : a hash. The node's attributes must match the
- * corresponding values in the hash.
- *  - `content`  : The text content must match the given value.
- *  - `parent`   : a hash. The node's parent must match the
- * corresponding hash.
- *  - `child`: a hash. At least one of the node's immediate children
- * must meet the criteria described by the hash.
- *  - `ancestor` : a hash. At least one of the node's ancestors must
- * meet the criteria described by the hash.
- *  - `descendant`   : a hash. At least one of the node's descendants must
- * meet the criteria described by the hash.
- *  - `children` : a hash, for counting children of a node.
- * Accepts the keys:
- *- `count`: a number which must equal the number of children
- *   that match
- *- `less_than`: the number of matching children must be greater
- *   than this number
- *- `greater_than` : the number of matching children must be less than
- *   this number
- *- `only` : another hash consisting of the keys to use to match
- *   on the children, and only matching children will be
- *   counted
- *
- * <code>
- * // Matcher that asserts that there is an element with an id="my_id".
- * $matcher = array('id' => 'my_id');
- *
- * // Matcher that asserts that there is a "span" tag.
- * $matcher = array('tag' => 'span');
- *
- * // Matcher that asserts that there is a "span" tag with the content
- * // "Hello World".
- * $matcher = array('tag' => 'span', 'content' => 'Hello World');
- *
- * // Matcher that asserts that there is a "span" tag with content matching
- * // the regular expression pattern.
- * $matcher = array('tag' => 'span', 'content' => 'regexp:/Try P(HP|ython)/');
- *
- * // Matcher that asserts that there is a "span" with an "list" class
- * // attribute.
- * $matcher = array(
- *   'tag'=> 'span',
- *   'attributes' => array('class' => 'list')
- * );
- *
- * // Matcher that asserts that there is a "span" inside of a "div".
- * $matcher = array(
- *   'tag'=> 'span',
- *   'parent' => array('tag' => 'div')
- * );
- *
- * // Matcher that asserts that there is a "span" somewhere inside a
- * // "table".
- * $matcher = array(
- *   'tag'  => 'span',
- *   'ancestor' => array('tag' => 'table')
- * );
- *
- * // Matcher that asserts that there is a "span" with at least one "em"
- * // child.
- * $matcher = array(
- *   'tag'   => 'span',
- *   'child' => array('tag' => 'em')
- * );
- *
- * // Matcher that asserts that there is a "span" containing a (possibly
- * // nested) "strong" tag.
- * $matcher = array(
- *   'tag'=> 'span',
- *   'descendant' => array('tag' => 'strong')
- * );
- *
- * // Matcher that asserts that there is a "span" containing 5-10 "em" tags
- * // as immediate children.
- * $matcher = array(
- *   'tag'  => 'span',
- *   'children' => array(
- * 'less_than'=> 11,
- * 'greater_than' => 4,
- * 'only' => array('tag' => 'em')
- *   )
- * );
- *
- * // Matcher that asserts that there is a "div", with an "ul" ancestor and
- * // a "li" parent (with class="enum"), and containing a "span" descendant
- * // that contains an element with id="my_test" and the text "Hello World".
- * $matcher = array(
- *   'tag'=> 'div',
- *   'ancestor'   => array('tag' => 'ul'),
- *   'parent' => array(
- * 'tag'=> 'li',
- * 'attributes' => array('class' => 'enum')
- *   ),
- *   'descendant' => array(
- * 'tag'   => 'span',
- * 'child' => array(
- *   'id'  => 'my_test',
- *   'content' => 'Hello World'
- * )
- *   )
- * );
- *
- * // Use assertTag() to apply a $matcher to a piece of $html.
- * $this->assertTag($matcher, $html);
- *
- * // Use assertTag() to apply a $matcher to a piece of $xml.
- * $this->assertTag($matcher, $xml, '', false);
- * </code>
- *
- * The second argument ($actual) is a string containing either HTML or
- * XML text to be tested.
- *
- * The third argument ($message) is an optional message that will be
- * used if the assertion fails.
- *
- * The fourth argument ($html) is an optional flag specifying whether
- * to load the $actual string into a DOMDocument using the HTML or
- * XML load strategy.  It is true by default, which assumes the HTML
- * load strategy.  In many cases, this will be acceptable for XML as well.
- *
- * @param  array   $matcher
- * @param  string  $actual
- * @param  string  $message
- * @param  boolean $isHtml
- * @since  Method available since Release 3.3.0
- * @author Mike Naberezny <mike@maintainable.com>
- * @author Derek DeVries <derek@maintainable.com>
- */
-function assertTag($matcher, $actual, $message = '', $isHtml = true)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertTag',
-        func_get_args()
-    );
-}
-
-/**
- * Evaluates a PHPUnit_Framework_Constraint matcher object.
- *
- * @param  mixed$value
- * @param  PHPUnit_Framework_Constraint $constraint
- * @param  string   $message
- * @since  Method available since Release 3.0.0
- */
-function assertThat($value, PHPUnit_Framework_Constraint $constraint, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertThat',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a condition is true.
- *
- * @param  boolean $condition
- * @param  string  $message
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertTrue($condition, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertTrue',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML files are equal.
- *
- * @param  string $expectedFile
- * @param  string $actualFile
- * @param  string $message
- * @since  Method available since Release 3.1.0
- */
-function assertXmlFileEqualsXmlFile($expectedFile, $actualFile, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlFileEqualsXmlFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML files are not equal.
- *
- * @param  string $expectedFile
- * @param  string $actualFile
- * @param  string $message
- * @since  Method available since Release 3.1.0
- */
-function assertXmlFileNotEqualsXmlFile($expectedFile, $actualFile, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlFileNotEqualsXmlFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML documents are equal.
- *
- * @param  string $expectedFile
- * @param  string $actualXml
- * @param  string $message
- * @since  Method available since Release 3.3.0
- */
-function assertXmlStringEqualsXmlFile($expectedFile, $actualXml, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlStringEqualsXmlFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML documents are equal.
- *
- * @param  string $expectedXml
- * @param  string $actualXml
- * @param  string $message
- * @since  Method available since Release 3.1.0
- */
-function assertXmlStringEqualsXmlString($expectedXml, $actualXml, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlStringEqualsXmlString',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML documents are not equal.
- *
- * @param  string $expectedFile
- * @param  string $actualXml
- * @param  string $message
- * @since  Method available since Release 3.3.0
- */
-function assertXmlStringNotEqualsXmlFile($expectedFile, $actualXml, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlStringNotEqualsXmlFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML documents are not equal.
- *
- * @param  string $expectedXml
- * @param  string $actualXml
- * @param  string $message
- * @since  Method available since Release 3.1.0
- */
-function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlStringNotEqualsXmlString',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a matcher that matches when the method it is evaluated for
- * is invoked at the given $index.
- *
- * @param  integer $index
- * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex
- * @since  Method available since Release 3.0.0
- */
-function at($index)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::at',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a matcher that matches when the method it is evaluated for
- * is executed at least once.
- *
- * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce
- * @since  Method available since Release 3.0.0
- */
-function atLeastOnce()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::atLeastOnce',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Attribute matcher object.
- *
- * @param  PHPUnit_Framework_Constraint $constraint
- * @param  string   $attributeName
- * @return PHPUnit_Framework_Constraint_Attribute
- * @since  Method available since Release 3.1.0
- */
-function attribute(PHPUnit_Framework_Constraint $constraint, $attributeName)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::attribute',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object
- * that is wrapped in a PHPUnit_Framework_Constraint_Attribute matcher
- * object.
- *
- * @param  string  $attributeName
- * @param  mixed   $value
- * @param  float   $delta
- * @param  integer $maxDepth
- * @param  boolean $canonicalize
- * @param  boolean $ignoreCase
- * @return PHPUnit_Framework_Constraint_Attribute
- * @since  Method available since Release 3.1.0
- */
-function attributeEqualTo($attributeName, $value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::attributeEqualTo',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Callback matcher object.
- *
- * @param callable $callback
- * @return PHPUnit_Framework_Constraint_Callback
- */
-function callback($callback)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::callback',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_ClassHasAttribute matcher object.
- *
- * @param  string $attributeName
- * @return PHPUnit_Framework_Constraint_ClassHasAttribute
- * @since  Method available since Release 3.1.0
- */
-function classHasAttribute($attributeName)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::classHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_ClassHasStaticAttribute matcher
- * object.
- *
- * @param  string $attributeName
- * @return PHPUnit_Framework_Constraint_ClassHasStaticAttribute
- * @since  Method available since Release 3.1.0
- */
-function classHasStaticAttribute($attributeName)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::classHasStaticAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_TraversableContains matcher
- * object.
- *
- * @param  mixed   $value
- * @param  boolean $checkForObjectIdentity
- * @param  boolean $checkForNonObjectIdentity
- * @return PHPUnit_Framework_Constraint_TraversableContains
- * @since  Method available since Release 3.0.0
- */
-function contains($value, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::contains',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
- * object.
- *
- * @param  string $type
- * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
- * @since  Method available since Release 3.1.4
- */
-function containsOnly($type)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::containsOnly',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
- * object.
- *
- * @param string $classname
- * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
- */
-function containsOnlyInstancesOf($classname)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::containsOnlyInstancesOf',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object.
- *
- * @param  mixed   $value
- * @param  float   $delta
- * @param  integer $maxDepth
- * @param  boolean $canonicalize
- * @param  boolean $ignoreCase
- * @return PHPUnit_Framework_Constraint_IsEqual
- * @since  Method available since Release 3.0.0
- */
-function equalTo($value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::equalTo',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a matcher that matches when the method it is evaluated for
- * is executed exactly $count times.
- *
- * @param  integer $count
- * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
- * @since  Method available since Release 3.0.0
- */
-function exactly($count)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::exactly',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_FileExists matcher object.
- *
- * @return PHPUnit_Framework_Constraint_FileExists
- * @since  Method available since Release 3.0.0
- */
-function fileExists()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::fileExists',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_GreaterThan matcher object.
- *
- * @param  mixed $value
- * @return PHPUnit_Framework_Constraint_GreaterThan
- * @since  Method available since Release 3.0.0
- */
-function greaterThan($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::greaterThan',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
- * a PHPUnit_Framework_Constraint_IsEqual and a
- * PHPUnit_Framework_Constraint_GreaterThan matcher object.
- *
- * @param  mixed $value
- * @return PHPUnit_Framework_Constraint_Or
- * @since  Method available since Release 3.1.0
- */
-function greaterThanOrEqual($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::greaterThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsIdentical matcher object.
- *
- * @param  mixed $value
- * @return PHPUnit_Framework_Constraint_IsIdentical
- * @since  Method available since Release 3.0.0
- */
-function identicalTo($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::identicalTo',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsEmpty matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsEmpty
- * @since  Method available since Release 3.5.0
- */
-function isEmpty()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isEmpty',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsFalse matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsFalse
- * @since  Method available since Release 3.3.0
- */
-function isFalse()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isFalse',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsInstanceOf matcher object.
- *
- * @param  string $className
- * @return PHPUnit_Framework_Constraint_IsInstanceOf
- * @since  Method available since Release 3.0.0
- */
-function isInstanceOf($className)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isInstanceOf',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsJson matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsJson
- * @since  Method available since Release 3.7.20
- */
-function isJson()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isJson',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsNull matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsNull
- * @since  Method available since Release 3.3.0
- */
-function isNull()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isNull',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsTrue matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsTrue
- * @since  Method available since Release 3.3.0
- */
-function isTrue()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isTrue',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsType matcher object.
- *
- * @param  string $type
- * @return PHPUnit_Framework_Constraint_IsType
- * @since  Method available since Release 3.0.0
- */
-function isType($type)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isType',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_LessThan matcher object.
- *
- * @param  mixed $value
- * @return PHPUnit_Framework_Constraint_LessThan
- * @since  Method available since Release 3.0.0
- */
-function lessThan($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::lessThan',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
- * a PHPUnit_Framework_Constraint_IsEqual and a
- * PHPUnit_Framework_Constraint_LessThan matcher object.
- *
- * @param  mixed $value
- * @return PHPUnit_Framework_Constraint_Or
- * @since  Method available since Release 3.1.0
- */
-function lessThanOrEqual($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::lessThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_And matcher object.
- *
- * @return PHPUnit_Framework_Constraint_And
- * @since  Method available since Release 3.0.0
- */
-function logicalAnd()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::logicalAnd',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Not matcher object.
- *
- * @param  PHPUnit_Framework_Constraint $constraint
- * @return PHPUnit_Framework_Constraint_Not
- * @since  Method available since Release 3.0.0
- */
-function logicalNot(PHPUnit_Framework_Constraint $constraint)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::logicalNot',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Or matcher object.
- *
- * @return PHPUnit_Framework_Constraint_Or
- * @since  Method available since Release 3.0.0
- */
-function logicalOr()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::logicalOr',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Xor matcher object.
- *
- * @return PHPUnit_Framework_Constraint_Xor
- * @since  Method available since Release 3.0.0
- */
-function logicalXor()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::logicalXor',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_StringMatches matcher object.
- *
- * @param  string $string
- * @return PHPUnit_Framework_Constraint_StringMatches
- * @since  Method available since Release 3.5.0
- */
-function matches($string)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::matches',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_PCREMatch matcher object.
- *
- * @param  string $pattern
- * @return PHPUnit_Framework_Constraint_PCREMatch
- * @since  Method available since Release 3.0.0
- */
-function matchesRegularExpression($pattern)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::matchesRegularExpression',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a matcher that matches when the method it is evaluated for
- * is never executed.
- *
- * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
- * @since  Method available since Release 3.0.0
- */
-function never()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::never',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_ObjectHasAttribute matcher object.
- *
- * @param  string $attributeName
- * @return PHPUnit_Framework_Constraint_ObjectHasAttribute
- * @since  Method available since Release 3.0.0
- */
-function objectHasAttribute($attributeName)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::objectHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * @param  mixed $value, ...
- * @return PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls
- * @since  Method available since Release 3.0.0
- */
-function onConsecutiveCalls()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::onConsecutiveCalls',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a matcher that matches when the method it is evaluated for
- * is executed exactly once.
- *
- * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
- * @since  Method available since Release 3.0.0
- */
-function once()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::once',
-        func_get_args()
-    );
-}
-
-/**
- *
- *
- * @param  integer $argumentIndex
- * @return PHPUnit_Framework_MockObject_Stub_ReturnArgument
- * @since  Method available since Release 3.3.0
- */
-function returnArgument($argumentIndex)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::returnArgument',
-        func_get_args()
-    );
-}
-
-/**
- *
- *
- * @param  mixed $callback
- * @return PHPUnit_Framework_MockObject_Stub_ReturnCallback
- * @since  Method available since Release 3.3.0
- */
-function returnCallback($callback)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::returnCallback',
-        func_get_args()
-    );
-}
-
-/**
- * Returns the current object.
- *
- * This method is useful when mocking a fluent interface.
- *
- * @return PHPUnit_Framework_MockObject_Stub_ReturnSelf
- * @since  Method available since Release 3.6.0
- */
-function returnSelf()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::returnSelf',
-        func_get_args()
-    );
-}
-
-/**
- *
- *
- * @param  mixed $value
- * @return PHPUnit_Framework_MockObject_Stub_Return
- * @since  Method available since Release 3.0.0
- */
-function returnValue($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::returnValue',
-        func_get_args()
-    );
-}
-
-/**
- *
- *
- * @param  array $valueMap
- * @return PHPUnit_Framework_MockObject_Stub_ReturnValueMap
- * @since  Method available since Release 3.6.0
- */
-function returnValueMap(array $valueMap)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::returnValueMap',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_StringContains matcher object.
- *
- * @param  string  $string
- * @param  boolean $case
- * @return PHPUnit_Framework_Constraint_StringContains
- * @since  Method available since Release 3.0.0
- */
-function stringContains($string, $case = true)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::stringContains',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_StringEndsWith matcher object.
- *
- * @param  mixed $suffix
- * @return PHPUnit_Framework_Constraint_StringEndsWith
- * @since  Method available since Release 3.4.0
- */
-function stringEndsWith($suffix)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::stringEndsWith',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_StringStartsWith matcher object.
- *
- * @param  mixed $prefix
- * @return PHPUnit_Framework_Constraint_StringStartsWith
- * @since  Method available since Release 3.4.0
- */
-function stringStartsWith($prefix)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::stringStartsWith',
-        func_get_args()
-    );
-}
-
-/**
- *
- *
- * @param  Exception $exception
- * @return PHPUnit_Framework_MockObject_Stub_Exception
- * @since  Method available since Release 3.1.0
- */
-function throwException(Exception $exception)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::throwException',
-        func_get_args()
-    );
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php b/core/vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php
deleted file mode 100644
index 4c0d137..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Thrown when an assertion failed.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Framework_AssertionFailedError extends PHPUnit_Framework_Exception implements PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * Wrapper for getMessage() which is declared as final.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->getMessage();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/BaseTestListener.php b/core/vendor/phpunit/phpunit/src/Framework/BaseTestListener.php
deleted file mode 100644
index 4996386..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/BaseTestListener.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An empty Listener that can be extended to implement TestListener
- * with just a few lines of code.
- * @see PHPUnit_Framework_TestListener for documentation on the API methods.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Giorgio Sironi<info@giorgiosironi.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-abstract class PHPUnit_Framework_BaseTestListener implements PHPUnit_Framework_TestListener
-{
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-    }
-
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-    }
-
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php b/core/vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php
deleted file mode 100644
index 7019cca..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Framework_CodeCoverageException extends PHPUnit_Framework_Exception
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint.php
deleted file mode 100644
index 63d3b08..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint.php
+++ /dev/null
@@ -1,153 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Exporter\Exporter;
-
-/**
- * Abstract base class for constraints. which are placed upon any value.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Interface available since Release 3.0.0
- */
-abstract class PHPUnit_Framework_Constraint implements Countable, PHPUnit_Framework_SelfDescribing
-{
-    protected $exporter;
-
-    public function __construct()
-    {
-        $this->exporter = new Exporter;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success = false;
-
-        if ($this->matches($other)) {
-            $success = true;
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * This method can be overridden to implement the evaluation algorithm.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return false;
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return integer
-     * @since  Method available since Release 3.4.0
-     */
-    public function count()
-    {
-        return 1;
-    }
-
-    /**
-     * Throws an exception for the given compared value and test description
-     *
-     * @param  mixed $other Evaluated value or object.
-     * @param  string $description Additional information about the test
-     * @param  SebastianBergmann\Comparator\ComparisonFailure $comparisonFailure
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    protected function fail($other, $description, SebastianBergmann\Comparator\ComparisonFailure $comparisonFailure = null)
-    {
-        $failureDescription = sprintf(
-            'Failed asserting that %s.',
-            $this->failureDescription($other)
-        );
-
-        $additionalFailureDescription = $this->additionalFailureDescription($other);
-
-        if ($additionalFailureDescription) {
-            $failureDescription .= "\n" . $additionalFailureDescription;
-        }
-
-        if (!empty($description)) {
-            $failureDescription = $description . "\n" . $failureDescription;
-        }
-
-        throw new PHPUnit_Framework_ExpectationFailedException(
-            $failureDescription,
-            $comparisonFailure
-        );
-    }
-
-    /**
-     * Return additional failure description where needed
-     *
-     * The function can be overridden to provide additional failure
-     * information like a diff
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function additionalFailureDescription($other)
-    {
-        return '';
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * To provide additional failure information additionalFailureDescription
-     * can be used.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return $this->exporter->export($other) . ' ' . $this->toString();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/And.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/And.php
deleted file mode 100644
index 97dead4..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/And.php
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Logical AND.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_And extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint[]
-     */
-    protected $constraints = array();
-
-    /**
-     * @var PHPUnit_Framework_Constraint
-     */
-    protected $lastConstraint = null;
-
-    /**
-     * @param  PHPUnit_Framework_Constraint[] $constraints
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function setConstraints(array $constraints)
-    {
-        $this->constraints = array();
-
-        foreach ($constraints as $constraint) {
-            if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
-                throw new PHPUnit_Framework_Exception(
-                    'All parameters to ' . __CLASS__ .
-                    ' must be a constraint object.'
-                );
-            }
-
-            $this->constraints[] = $constraint;
-        }
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success = true;
-        $constraint = null;
-
-        foreach ($this->constraints as $constraint) {
-            if (!$constraint->evaluate($other, $description, true)) {
-                $success = false;
-                break;
-            }
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        $text = '';
-
-        foreach ($this->constraints as $key => $constraint) {
-            if ($key > 0) {
-                $text .= ' and ';
-            }
-
-            $text .= $constraint->toString();
-        }
-
-        return $text;
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return integer
-     * @since  Method available since Release 3.4.0
-     */
-    public function count()
-    {
-        $count = 0;
-
-        foreach ($this->constraints as $constraint) {
-            $count += count($constraint);
-        }
-
-        return $count;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php
deleted file mode 100644
index fc4a280..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the array it is evaluated for has a given key.
- *
- * Uses array_key_exists() to check if the key is found in the input array, if
- * not found the evaluation fails.
- *
- * The array key is passed in the constructor.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_ArrayHasKey extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var integer|string
-     */
-    protected $key;
-
-    /**
-     * @param integer|string $key
-     */
-    public function __construct($key)
-    {
-        parent::__construct();
-        $this->key = $key;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if (is_array($other)) {
-            return array_key_exists($this->key, $other);
-        }
-
-        if ($other instanceof ArrayAccess) {
-            return $other->offsetExists($this->key);
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'has the key ' . $this->exporter->export($this->key);
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return 'an array ' . $this->toString();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php
deleted file mode 100644
index dbf28ca..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the array it is evaluated for has a specified subset.
- *
- * Uses array_replace_recursive() to check if a key value subset is part of the
- * subject array.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Márcio Almada <marcio3w@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.4.0
- */
-class PHPUnit_Framework_Constraint_ArraySubset extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var array|ArrayAccess
-     */
-    protected $subset;
-
-    /**
-     * @var boolean
-     */
-    protected $strict;
-
-    /**
-     * @param array|ArrayAccess $subset
-     * @param boolean           $strict Check for object identity
-     */
-    public function __construct($subset, $strict = false)
-    {
-        parent::__construct();
-        $this->strict  = $strict;
-        $this->subset = $subset;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  array|ArrayAccess $other  Array or ArrayAcess object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $patched = array_replace_recursive($other, $this->subset);
-
-        if ($this->strict) {
-            return $other === $patched;
-        } else {
-            return $other == $patched;
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'has the subset ' . $this->exporter->export($this->subset);
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return 'an array ' . $this->toString();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php
deleted file mode 100644
index 48f8194..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.1.0
- */
-class PHPUnit_Framework_Constraint_Attribute extends PHPUnit_Framework_Constraint_Composite
-{
-    /**
-     * @var string
-     */
-    protected $attributeName;
-
-    /**
-     * @param PHPUnit_Framework_Constraint $constraint
-     * @param string                       $attributeName
-     */
-    public function __construct(PHPUnit_Framework_Constraint $constraint, $attributeName)
-    {
-        parent::__construct($constraint);
-
-        $this->attributeName = $attributeName;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        return parent::evaluate(
-            PHPUnit_Framework_Assert::readAttribute(
-                $other,
-                $this->attributeName
-            ),
-            $description,
-            $returnResult
-        );
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'attribute "' . $this->attributeName . '" ' .
-               $this->innerConstraint->toString();
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return $this->toString();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php
deleted file mode 100644
index 690c58c..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that evaluates against a specified closure.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Timon Rapp <timon@zaeda.net>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- */
-class PHPUnit_Framework_Constraint_Callback extends PHPUnit_Framework_Constraint
-{
-    private $callback;
-
-    /**
-     * @param  callable                    $callback
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($callback)
-    {
-        if (!is_callable($callback)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'callable'
-            );
-        }
-
-        parent::__construct();
-
-        $this->callback = $callback;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $value. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return call_user_func($this->callback, $other);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is accepted by specified callback';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php
deleted file mode 100644
index 54edf01..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the class it is evaluated for has a given
- * attribute.
- *
- * The attribute name is passed in the constructor.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.1.0
- */
-class PHPUnit_Framework_Constraint_ClassHasAttribute extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $attributeName;
-
-    /**
-     * @param string $attributeName
-     */
-    public function __construct($attributeName)
-    {
-        parent::__construct();
-        $this->attributeName = $attributeName;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $class = new ReflectionClass($other);
-
-        return $class->hasProperty($this->attributeName);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'has attribute "%s"',
-            $this->attributeName
-        );
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            '%sclass "%s" %s',
-            is_object($other) ? 'object of ' : '',
-            is_object($other) ? get_class($other) : $other,
-            $this->toString()
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php
deleted file mode 100644
index 47a982a..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the class it is evaluated for has a given
- * static attribute.
- *
- * The attribute name is passed in the constructor.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.1.0
- */
-class PHPUnit_Framework_Constraint_ClassHasStaticAttribute extends PHPUnit_Framework_Constraint_ClassHasAttribute
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $class = new ReflectionClass($other);
-
-        if ($class->hasProperty($this->attributeName)) {
-            $attribute = $class->getProperty($this->attributeName);
-
-            return $attribute->isStatic();
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     * @since  Method available since Release 3.3.0
-     */
-    public function toString()
-    {
-        return sprintf(
-            'has static attribute "%s"',
-            $this->attributeName
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php
deleted file mode 100644
index 34f39e7..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.1.0
- */
-abstract class PHPUnit_Framework_Constraint_Composite extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint
-     */
-    protected $innerConstraint;
-
-    /**
-     * @param PHPUnit_Framework_Constraint $innerConstraint
-     */
-    public function __construct(PHPUnit_Framework_Constraint $innerConstraint)
-    {
-        parent::__construct();
-        $this->innerConstraint = $innerConstraint;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        try {
-            return $this->innerConstraint->evaluate(
-                $other,
-                $description,
-                $returnResult
-            );
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return integer
-     */
-    public function count()
-    {
-        return count($this->innerConstraint);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php
deleted file mode 100644
index d7c48b1..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.6.0
- */
-class PHPUnit_Framework_Constraint_Count extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var integer
-     */
-    protected $expectedCount = 0;
-
-    /**
-     * @param integer $expected
-     */
-    public function __construct($expected)
-    {
-        parent::__construct();
-        $this->expectedCount = $expected;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed   $other
-     * @return boolean
-     */
-    protected function matches($other)
-    {
-        return $this->expectedCount === $this->getCountOf($other);
-    }
-
-    /**
-     * @param  mixed   $other
-     * @return boolean
-     */
-    protected function getCountOf($other)
-    {
-        if ($other instanceof Countable || is_array($other)) {
-            return count($other);
-        } elseif ($other instanceof Traversable) {
-            if ($other instanceof IteratorAggregate) {
-                $iterator = $other->getIterator();
-            } else {
-                $iterator = $other;
-            }
-
-            $key = $iterator->key();
-            $count = iterator_count($iterator);
-
-            // manually rewind $iterator to previous key, since iterator_count
-            // moves pointer
-            if ($key !== null) {
-                $iterator->rewind();
-                while ($iterator->valid() && $key !== $iterator->key()) {
-                    $iterator->next();
-                }
-            }
-
-            return $count;
-        }
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            'actual size %d matches expected size %d',
-            $this->getCountOf($other),
-            $this->expectedCount
-        );
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'count matches %d',
-            $this->expectedCount
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php
deleted file mode 100644
index cc3e84d..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.6.6
- */
-class PHPUnit_Framework_Constraint_Exception extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $className;
-
-    /**
-     * @param string $className
-     */
-    public function __construct($className)
-    {
-        parent::__construct();
-        $this->className = $className;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $other instanceof $this->className;
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        if ($other !== null) {
-            $message = '';
-            if ($other instanceof Exception) {
-                $message = '. Message was: "' . $other->getMessage() . '" at'
-                        . "\n" . $other->getTraceAsString();
-            }
-
-            return sprintf(
-                'exception of type "%s" matches expected exception "%s"%s',
-                get_class($other),
-                $this->className,
-                $message
-            );
-        }
-
-        return sprintf(
-            'exception of type "%s" is thrown',
-            $this->className
-        );
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'exception of type "%s"',
-            $this->className
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php
deleted file mode 100644
index 6fecf99..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.6.6
- */
-class PHPUnit_Framework_Constraint_ExceptionCode extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var integer
-     */
-    protected $expectedCode;
-
-    /**
-     * @param integer $expected
-     */
-    public function __construct($expected)
-    {
-        parent::__construct();
-        $this->expectedCode = $expected;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  Exception $other
-     * @return boolean
-     */
-    protected function matches($other)
-    {
-        return (string) $other->getCode() == (string) $this->expectedCode;
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            '%s is equal to expected exception code %s',
-            $this->exporter->export($other->getCode()),
-            $this->exporter->export($this->expectedCode)
-        );
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'exception code is ';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php
deleted file mode 100644
index 2382891..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.6.6
- */
-class PHPUnit_Framework_Constraint_ExceptionMessage extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var integer
-     */
-    protected $expectedMessage;
-
-    /**
-     * @param string $expected
-     */
-    public function __construct($expected)
-    {
-        parent::__construct();
-        $this->expectedMessage = $expected;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  Exception $other
-     * @return boolean
-     */
-    protected function matches($other)
-    {
-        return strpos($other->getMessage(), $this->expectedMessage) !== false;
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            "exception message '%s' contains '%s'",
-            $other->getMessage(),
-            $this->expectedMessage
-        );
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'exception message contains ';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php
deleted file mode 100644
index cdd0602..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Márcio Almada <marcio3w@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.3.0
- */
-class PHPUnit_Framework_Constraint_ExceptionMessageRegExp extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var integer
-     */
-    protected $expectedMessageRegExp;
-
-    /**
-     * @param string $expected
-     */
-    public function __construct($expected)
-    {
-        parent::__construct();
-        $this->expectedMessageRegExp = $expected;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  Exception $other
-     * @return boolean
-     */
-    protected function matches($other)
-    {
-        $match = PHPUnit_Util_Regex::pregMatchSafe($this->expectedMessageRegExp, $other->getMessage());
-
-        if (false === $match) {
-            throw new PHPUnit_Framework_Exception(
-                "Invalid expected exception message regex given: '{$this->expectedMessageRegExp}'"
-            );
-        }
-
-        return 1 === $match;
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            "exception message '%s' matches '%s'",
-            $other->getMessage(),
-            $this->expectedMessageRegExp
-        );
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return "exception message matches ";
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php
deleted file mode 100644
index ec32b90..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that checks if the file(name) that it is evaluated for exists.
- *
- * The file path to check is passed as $other in evaluate().
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_FileExists extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return file_exists($other);
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            'file "%s" exists',
-            $other
-        );
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'file exists';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php
deleted file mode 100644
index 85a0ed7..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the value it is evaluated for is greater
- * than a given value.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_GreaterThan extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var numeric
-     */
-    protected $value;
-
-    /**
-     * @param numeric $value
-     */
-    public function __construct($value)
-    {
-        parent::__construct();
-        $this->value = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $this->value < $other;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is greater than ' . $this->exporter->export($this->value);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php
deleted file mode 100644
index ea920f2..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts any input value.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_IsAnything extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        return $returnResult ? true : null;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is anything';
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return integer
-     * @since  Method available since Release 3.5.0
-     */
-    public function count()
-    {
-        return 0;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php
deleted file mode 100644
index 9a7985b..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that checks whether a variable is empty().
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.5.0
- */
-class PHPUnit_Framework_Constraint_IsEmpty extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if ($other instanceof Countable) {
-            return count($other) === 0;
-        }
-
-        return empty($other);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is empty';
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        $type = gettype($other);
-
-        return sprintf(
-            '%s %s %s',
-            $type[0] == 'a' || $type[0] == 'o' ? 'an' : 'a',
-            $type,
-            $this->toString()
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php
deleted file mode 100644
index ecc9b96..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that checks if one value is equal to another.
- *
- * Equality is checked with PHP's == operator, the operator is explained in
- * detail at {@url http://www.php.net/manual/en/types.comparisons.php}.
- * Two values are equal if they have the same value disregarding type.
- *
- * The expected value is passed in the constructor.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Kore Nordmann <kn@ez.no>
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_IsEqual extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var mixed
-     */
-    protected $value;
-
-    /**
-     * @var float
-     */
-    protected $delta = 0.0;
-
-    /**
-     * @var integer
-     */
-    protected $maxDepth = 10;
-
-    /**
-     * @var boolean
-     */
-    protected $canonicalize = false;
-
-    /**
-     * @var boolean
-     */
-    protected $ignoreCase = false;
-
-    /**
-     * @var SebastianBergmann\Comparator\ComparisonFailure
-     */
-    protected $lastFailure;
-
-    /**
-     * @param  mixed                       $value
-     * @param  float                       $delta
-     * @param  integer                     $maxDepth
-     * @param  boolean                     $canonicalize
-     * @param  boolean                     $ignoreCase
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        parent::__construct();
-
-        if (!is_numeric($delta)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'numeric');
-        }
-
-        if (!is_int($maxDepth)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'integer');
-        }
-
-        if (!is_bool($canonicalize)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(4, 'boolean');
-        }
-
-        if (!is_bool($ignoreCase)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(5, 'boolean');
-        }
-
-        $this->value        = $value;
-        $this->delta        = $delta;
-        $this->maxDepth     = $maxDepth;
-        $this->canonicalize = $canonicalize;
-        $this->ignoreCase   = $ignoreCase;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        // If $this->value and $other are identical, they are also equal.
-        // This is the most common path and will allow us to skip
-        // initialization of all the comparators.
-        if ($this->value === $other) {
-            return true;
-        }
-
-        $comparatorFactory = SebastianBergmann\Comparator\Factory::getInstance();
-
-        try {
-            $comparator = $comparatorFactory->getComparatorFor(
-                $this->value,
-                $other
-            );
-
-            $comparator->assertEquals(
-                $this->value,
-                $other,
-                $this->delta,
-                $this->canonicalize,
-                $this->ignoreCase
-            );
-        } catch (SebastianBergmann\Comparator\ComparisonFailure $f) {
-            if ($returnResult) {
-                return false;
-            }
-
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                trim($description . "\n" . $f->getMessage()),
-                $f
-            );
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        $delta = '';
-
-        if (is_string($this->value)) {
-            if (strpos($this->value, "\n") !== false) {
-                return 'is equal to <text>';
-            } else {
-                return sprintf(
-                    'is equal to <string:%s>',
-                    $this->value
-                );
-            }
-        } else {
-            if ($this->delta != 0) {
-                $delta = sprintf(
-                    ' with delta <%F>',
-                    $this->delta
-                );
-            }
-
-            return sprintf(
-                'is equal to %s%s',
-                $this->exporter->export($this->value),
-                $delta
-            );
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php
deleted file mode 100644
index c6d441a..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts false.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Constraint_IsFalse extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $other === false;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is false';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php
deleted file mode 100644
index f8c8697..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that one value is identical to another.
- *
- * Identical check is performed with PHP's === operator, the operator is
- * explained in detail at
- * {@url http://www.php.net/manual/en/types.comparisons.php}.
- * Two values are identical if they have the same value and are of the same
- * type.
- *
- * The expected value is passed in the constructor.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_IsIdentical extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var float
-     */
-    const EPSILON = 0.0000000001;
-
-    /**
-     * @var mixed
-     */
-    protected $value;
-
-    /**
-     * @param mixed $value
-     */
-    public function __construct($value)
-    {
-        parent::__construct();
-        $this->value = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        if (is_double($this->value) && is_double($other) &&
-            !is_infinite($this->value) && !is_infinite($other) &&
-            !is_nan($this->value) && !is_nan($other)) {
-            $success = abs($this->value - $other) < self::EPSILON;
-        } else {
-            $success = $this->value === $other;
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $f = null;
-
-            // if both values are strings, make sure a diff is generated
-            if (is_string($this->value) && is_string($other)) {
-                $f = new SebastianBergmann\Comparator\ComparisonFailure(
-                    $this->value,
-                    $other,
-                    $this->value,
-                    $other
-                );
-            }
-
-            $this->fail($other, $description, $f);
-        }
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        if (is_object($this->value) && is_object($other)) {
-            return 'two variables reference the same object';
-        }
-
-        if (is_string($this->value) && is_string($other)) {
-            return 'two strings are identical';
-        }
-
-        return parent::failureDescription($other);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        if (is_object($this->value)) {
-            return 'is identical to an object of class "' .
-                   get_class($this->value) . '"';
-        } else {
-            return 'is identical to ' .
-                   $this->exporter->export($this->value);
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php
deleted file mode 100644
index 24aa2ff..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the object it is evaluated for is an instance
- * of a given class.
- *
- * The expected class name is passed in the constructor.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_IsInstanceOf extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $className;
-
-    /**
-     * @param string $className
-     */
-    public function __construct($className)
-    {
-        parent::__construct();
-        $this->className = $className;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return ($other instanceof $this->className);
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            '%s is an instance of %s "%s"',
-            $this->exporter->shortenedExport($other),
-            $this->getType(),
-            $this->className
-        );
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'is instance of %s "%s"',
-            $this->getType(),
-            $this->className
-        );
-    }
-
-    private function getType()
-    {
-        try {
-            $reflection = new ReflectionClass($this->className);
-            if ($reflection->isInterface()) {
-                return 'interface';
-            }
-        } catch (ReflectionException $e) {
-        }
-
-        return 'class';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php
deleted file mode 100644
index c541d3e..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that a string is valid JSON.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.7.20
- */
-class PHPUnit_Framework_Constraint_IsJson extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        json_decode($other);
-        if (json_last_error()) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        json_decode($other);
-        $error = PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::determineJsonError(
-            json_last_error()
-        );
-
-        return sprintf(
-            '%s is valid JSON (%s)',
-            $this->exporter->shortenedExport($other),
-            $error
-        );
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is valid JSON';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php
deleted file mode 100644
index 7ee492c..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts null.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Constraint_IsNull extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $other === null;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is null';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php
deleted file mode 100644
index 1d15fb2..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts true.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Constraint_IsTrue extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $other === true;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is true';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php
deleted file mode 100644
index 6f682c5..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php
+++ /dev/null
@@ -1,157 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the value it is evaluated for is of a
- * specified type.
- *
- * The expected value is passed in the constructor.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_IsType extends PHPUnit_Framework_Constraint
-{
-    const TYPE_ARRAY    = 'array';
-    const TYPE_BOOL     = 'bool';
-    const TYPE_FLOAT    = 'float';
-    const TYPE_INT      = 'int';
-    const TYPE_NULL     = 'null';
-    const TYPE_NUMERIC  = 'numeric';
-    const TYPE_OBJECT   = 'object';
-    const TYPE_RESOURCE = 'resource';
-    const TYPE_STRING   = 'string';
-    const TYPE_SCALAR   = 'scalar';
-    const TYPE_CALLABLE = 'callable';
-
-    /**
-     * @var array
-     */
-    protected $types = array(
-      'array' => true,
-      'boolean' => true,
-      'bool' => true,
-      'double' => true,
-      'float' => true,
-      'integer' => true,
-      'int' => true,
-      'null' => true,
-      'numeric' => true,
-      'object' => true,
-      'resource' => true,
-      'string' => true,
-      'scalar' => true,
-      'callable' => true
-    );
-
-    /**
-     * @var string
-     */
-    protected $type;
-
-    /**
-     * @param  string                      $type
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($type)
-    {
-        parent::__construct();
-
-        if (!isset($this->types[$type])) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'Type specified for PHPUnit_Framework_Constraint_IsType <%s> ' .
-                    'is not a valid type.',
-                    $type
-                )
-            );
-        }
-
-        $this->type = $type;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        switch ($this->type) {
-            case 'numeric': {
-                return is_numeric($other);
-                }
-
-            case 'integer':
-            case 'int': {
-                return is_integer($other);
-                }
-
-            case 'double':
-            case 'float': {
-                return is_float($other);
-                }
-
-            case 'string': {
-                return is_string($other);
-                }
-
-            case 'boolean':
-            case 'bool': {
-                return is_bool($other);
-                }
-
-            case 'null': {
-                return is_null($other);
-                }
-
-            case 'array': {
-                return is_array($other);
-                }
-
-            case 'object': {
-                return is_object($other);
-                }
-
-            case 'resource': {
-                return is_resource($other) || is_string(@get_resource_type($other));
-                }
-
-            case 'scalar': {
-                return is_scalar($other);
-                }
-
-            case 'callable': {
-                return is_callable($other);
-                }
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'is of type "%s"',
-            $this->type
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php
deleted file mode 100644
index 410ba47..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Asserts whether or not two JSON objects are equal.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Bastian Feder <php@bastian-feder.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.7.0
- */
-class PHPUnit_Framework_Constraint_JsonMatches extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $value;
-
-    /**
-     * Creates a new constraint.
-     *
-     * @param string $value
-     */
-    public function __construct($value)
-    {
-        parent::__construct();
-        $this->value = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * This method can be overridden to implement the evaluation algorithm.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $decodedOther = json_decode($other);
-        if (json_last_error()) {
-            return false;
-        }
-
-        $decodedValue = json_decode($this->value);
-        if (json_last_error()) {
-            return false;
-        }
-
-        return $decodedOther == $decodedValue;
-    }
-
-    /**
-     * Returns a string representation of the object.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'matches JSON string "%s"',
-            $this->value
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php
deleted file mode 100644
index fb9202e..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides human readable messages for each JSON error.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Bastian Feder <php@bastian-feder.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.7.0
- */
-class PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider
-{
-    /**
-     * Translates JSON error to a human readable string.
-     *
-     * @param  string $error
-     * @param  string $prefix
-     * @return string
-     */
-    public static function determineJsonError($error, $prefix = '')
-    {
-        switch ($error) {
-            case JSON_ERROR_NONE:
-                return;
-            case JSON_ERROR_DEPTH:
-                return $prefix . 'Maximum stack depth exceeded';
-            case JSON_ERROR_STATE_MISMATCH:
-                return $prefix . 'Underflow or the modes mismatch';
-            case JSON_ERROR_CTRL_CHAR:
-                return $prefix . 'Unexpected control character found';
-            case JSON_ERROR_SYNTAX:
-                return $prefix . 'Syntax error, malformed JSON';
-            case JSON_ERROR_UTF8:
-                return $prefix . 'Malformed UTF-8 characters, possibly incorrectly encoded';
-            default:
-                return $prefix . 'Unknown error';
-        }
-    }
-
-    /**
-     * Translates a given type to a human readable message prefix.
-     *
-     * @param  string $type
-     * @return string
-     */
-    public static function translateTypeToPrefix($type)
-    {
-        switch (strtolower($type)) {
-            case 'expected':
-                $prefix = 'Expected value JSON decode error - ';
-                break;
-            case 'actual':
-                $prefix = 'Actual value JSON decode error - ';
-                break;
-            default:
-                $prefix = '';
-                break;
-        }
-
-        return $prefix;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php
deleted file mode 100644
index 2aa3806..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the value it is evaluated for is less than
- * a given value.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_LessThan extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var numeric
-     */
-    protected $value;
-
-    /**
-     * @param numeric $value
-     */
-    public function __construct($value)
-    {
-        parent::__construct();
-        $this->value = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $this->value > $other;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is less than ' . $this->exporter->export($this->value);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Not.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/Not.php
deleted file mode 100644
index 2779ec5..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Not.php
+++ /dev/null
@@ -1,168 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Logical NOT.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_Not extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint
-     */
-    protected $constraint;
-
-    /**
-     * @param PHPUnit_Framework_Constraint $constraint
-     */
-    public function __construct($constraint)
-    {
-        parent::__construct();
-
-        if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
-            $constraint = new PHPUnit_Framework_Constraint_IsEqual($constraint);
-        }
-
-        $this->constraint = $constraint;
-    }
-
-    /**
-     * @param  string $string
-     * @return string
-     */
-    public static function negate($string)
-    {
-        return str_replace(
-            array(
-            'contains ',
-            'exists',
-            'has ',
-            'is ',
-            'are ',
-            'matches ',
-            'starts with ',
-            'ends with ',
-            'reference ',
-            'not not '
-            ),
-            array(
-            'does not contain ',
-            'does not exist',
-            'does not have ',
-            'is not ',
-            'are not ',
-            'does not match ',
-            'starts not with ',
-            'ends not with ',
-            'don\'t reference ',
-            'not '
-            ),
-            $string
-        );
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success = !$this->constraint->evaluate($other, $description, true);
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        switch (get_class($this->constraint)) {
-            case 'PHPUnit_Framework_Constraint_And':
-            case 'PHPUnit_Framework_Constraint_Not':
-            case 'PHPUnit_Framework_Constraint_Or': {
-                return 'not( ' . $this->constraint->failureDescription($other) . ' )';
-                }
-            break;
-
-            default: {
-                return self::negate(
-                    $this->constraint->failureDescription($other)
-                );
-                }
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        switch (get_class($this->constraint)) {
-            case 'PHPUnit_Framework_Constraint_And':
-            case 'PHPUnit_Framework_Constraint_Not':
-            case 'PHPUnit_Framework_Constraint_Or': {
-                return 'not( ' . $this->constraint->toString() . ' )';
-                }
-            break;
-
-            default: {
-                return self::negate(
-                    $this->constraint->toString()
-                );
-                }
-        }
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return integer
-     * @since  Method available since Release 3.4.0
-     */
-    public function count()
-    {
-        return count($this->constraint);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php
deleted file mode 100644
index fa56a93..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the object it is evaluated for has a given
- * attribute.
- *
- * The attribute name is passed in the constructor.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_ObjectHasAttribute extends PHPUnit_Framework_Constraint_ClassHasAttribute
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $object = new ReflectionObject($other);
-
-        return $object->hasProperty($this->attributeName);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Or.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/Or.php
deleted file mode 100644
index 5b30f6b..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Or.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Logical OR.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_Or extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint[]
-     */
-    protected $constraints = array();
-
-    /**
-     * @param PHPUnit_Framework_Constraint[] $constraints
-     */
-    public function setConstraints(array $constraints)
-    {
-        $this->constraints = array();
-
-        foreach ($constraints as $constraint) {
-            if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
-                $constraint = new PHPUnit_Framework_Constraint_IsEqual(
-                    $constraint
-                );
-            }
-
-            $this->constraints[] = $constraint;
-        }
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success = false;
-        $constraint = null;
-
-        foreach ($this->constraints as $constraint) {
-            if ($constraint->evaluate($other, $description, true)) {
-                $success = true;
-                break;
-            }
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        $text = '';
-
-        foreach ($this->constraints as $key => $constraint) {
-            if ($key > 0) {
-                $text .= ' or ';
-            }
-
-            $text .= $constraint->toString();
-        }
-
-        return $text;
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return integer
-     * @since  Method available since Release 3.4.0
-     */
-    public function count()
-    {
-        $count = 0;
-
-        foreach ($this->constraints as $constraint) {
-            $count += count($constraint);
-        }
-
-        return $count;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php
deleted file mode 100644
index 28d8dfb..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the string it is evaluated for matches
- * a regular expression.
- *
- * Checks a given value using the Perl Compatible Regular Expression extension
- * in PHP. The pattern is matched by executing preg_match().
- *
- * The pattern string passed in the constructor.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_PCREMatch extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $pattern;
-
-    /**
-     * @param string $pattern
-     */
-    public function __construct($pattern)
-    {
-        parent::__construct();
-        $this->pattern = $pattern;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return preg_match($this->pattern, $other) > 0;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'matches PCRE pattern "%s"',
-            $this->pattern
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php
deleted file mode 100644
index c41b53f..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.6.0
- */
-class PHPUnit_Framework_Constraint_SameSize extends PHPUnit_Framework_Constraint_Count
-{
-    /**
-     * @var integer
-     */
-    protected $expectedCount;
-
-    /**
-     * @param integer $expected
-     */
-    public function __construct($expected)
-    {
-        parent::__construct($this->getCountOf($expected));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php
deleted file mode 100644
index cde1e5f..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the string it is evaluated for contains
- * a given string.
- *
- * Uses strpos() to find the position of the string in the input, if not found
- * the evaluation fails.
- *
- * The sub-string is passed in the constructor.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_StringContains extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $string;
-
-    /**
-     * @var boolean
-     */
-    protected $ignoreCase;
-
-    /**
-     * @param string  $string
-     * @param boolean $ignoreCase
-     */
-    public function __construct($string, $ignoreCase = false)
-    {
-        parent::__construct();
-
-        $this->string     = $string;
-        $this->ignoreCase = $ignoreCase;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if ($this->ignoreCase) {
-            return stripos($other, $this->string) !== false;
-        } else {
-            return strpos($other, $this->string) !== false;
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        if ($this->ignoreCase) {
-            $string = strtolower($this->string);
-        } else {
-            $string = $this->string;
-        }
-
-        return sprintf(
-            'contains "%s"',
-            $string
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php
deleted file mode 100644
index 271762e..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the string it is evaluated for ends with a given
- * suffix.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.4.0
- */
-class PHPUnit_Framework_Constraint_StringEndsWith extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $suffix;
-
-    /**
-     * @param string $suffix
-     */
-    public function __construct($suffix)
-    {
-        parent::__construct();
-        $this->suffix = $suffix;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return substr($other, 0 - strlen($this->suffix)) == $this->suffix;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'ends with "' . $this->suffix . '"';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatches.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatches.php
deleted file mode 100644
index 4228381..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatches.php
+++ /dev/null
@@ -1,108 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Diff\Differ;
-
-/**
- * ...
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.5.0
- */
-class PHPUnit_Framework_Constraint_StringMatches extends PHPUnit_Framework_Constraint_PCREMatch
-{
-    /**
-     * @var string
-     */
-    protected $string;
-
-    /**
-     * @param string $string
-     */
-    public function __construct($string)
-    {
-        parent::__construct($string);
-
-        $this->pattern = $this->createPatternFromFormat(
-            preg_replace('/\r\n/', "\n", $string)
-        );
-
-        $this->string = $string;
-    }
-
-    protected function failureDescription($other)
-    {
-        return "format description matches text";
-    }
-
-    protected function additionalFailureDescription($other)
-    {
-        $from = preg_split('(\r\n|\r|\n)', $this->string);
-        $to   = preg_split('(\r\n|\r|\n)', $other);
-
-        foreach ($from as $index => $line) {
-            if (isset($to[$index]) && $line !== $to[$index]) {
-                $line = $this->createPatternFromFormat($line);
-
-                if (preg_match($line, $to[$index]) > 0) {
-                    $from[$index] = $to[$index];
-                }
-            }
-        }
-
-        $this->string = implode("\n", $from);
-        $other        = implode("\n", $to);
-
-        $differ = new Differ("--- Expected\n+++ Actual\n");
-
-        return $differ->diff($this->string, $other);
-    }
-
-    protected function createPatternFromFormat($string)
-    {
-        $string = str_replace(
-            array(
-            '%e',
-            '%s',
-            '%S',
-            '%a',
-            '%A',
-            '%w',
-            '%i',
-            '%d',
-            '%x',
-            '%f',
-            '%c'
-            ),
-            array(
-            '\\' . DIRECTORY_SEPARATOR,
-            '[^\r\n]+',
-            '[^\r\n]*',
-            '.+',
-            '.*',
-            '\s*',
-            '[+-]?\d+',
-            '\d+',
-            '[0-9a-fA-F]+',
-            '[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?',
-            '.'
-            ),
-            preg_quote($string, '/')
-        );
-
-        return '/^' . $string . '$/s';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php
deleted file mode 100644
index 3998a34..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the string it is evaluated for begins with a
- * given prefix.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.4.0
- */
-class PHPUnit_Framework_Constraint_StringStartsWith extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $prefix;
-
-    /**
-     * @param string $prefix
-     */
-    public function __construct($prefix)
-    {
-        parent::__construct();
-        $this->prefix = $prefix;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return strpos($other, $this->prefix) === 0;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'starts with "' . $this->prefix . '"';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php
deleted file mode 100644
index 5ea3c2a..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the Traversable it is applied to contains
- * a given value.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_TraversableContains extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var boolean
-     */
-    protected $checkForObjectIdentity;
-
-    /**
-     * @var boolean
-     */
-    protected $checkForNonObjectIdentity;
-
-    /**
-     * @var mixed
-     */
-    protected $value;
-
-    /**
-     * @param  mixed                       $value
-     * @param  boolean                     $checkForObjectIdentity
-     * @param  boolean                     $checkForNonObjectIdentity
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($value, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        parent::__construct();
-
-        if (!is_bool($checkForObjectIdentity)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'boolean');
-        }
-
-        if (!is_bool($checkForNonObjectIdentity)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'boolean');
-        }
-
-        $this->checkForObjectIdentity    = $checkForObjectIdentity;
-        $this->checkForNonObjectIdentity = $checkForNonObjectIdentity;
-        $this->value                     = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if ($other instanceof SplObjectStorage) {
-            return $other->contains($this->value);
-        }
-
-        if (is_object($this->value)) {
-            foreach ($other as $element) {
-                if (($this->checkForObjectIdentity &&
-                     $element === $this->value) ||
-                    (!$this->checkForObjectIdentity &&
-                     $element == $this->value)) {
-                    return true;
-                }
-            }
-        } else {
-            foreach ($other as $element) {
-                if (($this->checkForNonObjectIdentity &&
-                     $element === $this->value) ||
-                    (!$this->checkForNonObjectIdentity &&
-                     $element == $this->value)) {
-                    return true;
-                }
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        if (is_string($this->value) && strpos($this->value, "\n") !== false) {
-            return 'contains "' . $this->value . '"';
-        } else {
-            return 'contains ' . $this->exporter->export($this->value);
-        }
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            '%s %s',
-            is_array($other) ? 'an array' : 'a traversable',
-            $this->toString()
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php
deleted file mode 100644
index 702a7a4..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the Traversable it is applied to contains
- * only values of a given type.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.1.4
- */
-class PHPUnit_Framework_Constraint_TraversableContainsOnly extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint
-     */
-    protected $constraint;
-
-    /**
-     * @var string
-     */
-    protected $type;
-
-    /**
-     * @param string  $type
-     * @param boolean $isNativeType
-     */
-    public function __construct($type, $isNativeType = true)
-    {
-        parent::__construct();
-
-        if ($isNativeType) {
-            $this->constraint = new PHPUnit_Framework_Constraint_IsType($type);
-        } else {
-            $this->constraint = new PHPUnit_Framework_Constraint_IsInstanceOf(
-                $type
-            );
-        }
-
-        $this->type = $type;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success = true;
-
-        foreach ($other as $item) {
-            if (!$this->constraint->evaluate($item, '', true)) {
-                $success = false;
-                break;
-            }
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'contains only values of type "' . $this->type . '"';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Xor.php b/core/vendor/phpunit/phpunit/src/Framework/Constraint/Xor.php
deleted file mode 100644
index 8466c2a..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Xor.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Logical XOR.
- *
- * @package    PHPUnit
- * @subpackage Framework_Constraint
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_Xor extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint[]
-     */
-    protected $constraints = array();
-
-    /**
-     * @param PHPUnit_Framework_Constraint[] $constraints
-     */
-    public function setConstraints(array $constraints)
-    {
-        $this->constraints = array();
-
-        foreach ($constraints as $constraint) {
-            if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
-                $constraint = new PHPUnit_Framework_Constraint_IsEqual(
-                    $constraint
-                );
-            }
-
-            $this->constraints[] = $constraint;
-        }
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param  mixed                                        $other        Value or object to evaluate.
-     * @param  string                                       $description  Additional information about the test
-     * @param  bool                                         $returnResult Whether to return a result or throw an exception
-     * @return mixed
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success = true;
-        $lastResult = null;
-        $constraint = null;
-
-        foreach ($this->constraints as $constraint) {
-            $result = $constraint->evaluate($other, $description, true);
-
-            if ($result === $lastResult) {
-                $success = false;
-                break;
-            }
-
-            $lastResult = $result;
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        $text = '';
-
-        foreach ($this->constraints as $key => $constraint) {
-            if ($key > 0) {
-                $text .= ' xor ';
-            }
-
-            $text .= $constraint->toString();
-        }
-
-        return $text;
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return integer
-     * @since  Method available since Release 3.4.0
-     */
-    public function count()
-    {
-        $count = 0;
-
-        foreach ($this->constraints as $constraint) {
-            $count += count($constraint);
-        }
-
-        return $count;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Error.php b/core/vendor/phpunit/phpunit/src/Framework/Error.php
deleted file mode 100644
index e0ac278..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Error.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for PHP errors.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.2.0
- */
-class PHPUnit_Framework_Error extends PHPUnit_Framework_Exception
-{
-    /**
-     * Constructor.
-     *
-     * @param string    $message
-     * @param integer   $code
-     * @param string    $file
-     * @param integer   $line
-     * @param Exception $previous
-     */
-    public function __construct($message, $code, $file, $line, Exception $previous = null)
-    {
-        parent::__construct($message, $code, $previous);
-
-        $this->file  = $file;
-        $this->line  = $line;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php b/core/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php
deleted file mode 100644
index c3e7406..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for PHP deprecated errors.
- * You can disable deprecated-to-exception conversion by setting
- *
- * <code>
- * PHPUnit_Framework_Error_Deprecated::$enabled = false;
- * </code>
- *
- * @package    PHPUnit
- * @subpackage Framework_Error
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Error_Deprecated extends PHPUnit_Framework_Error
-{
-    public static $enabled = true;
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Error/Notice.php b/core/vendor/phpunit/phpunit/src/Framework/Error/Notice.php
deleted file mode 100644
index f7bc91d..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Error/Notice.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for PHP notices.
- * You can disable notice-to-exception conversion by setting
- *
- * <code>
- * PHPUnit_Framework_Error_Notice::$enabled = false;
- * </code>
- *
- * @package    PHPUnit
- * @subpackage Framework_Error
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Error_Notice extends PHPUnit_Framework_Error
-{
-    public static $enabled = true;
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Error/Warning.php b/core/vendor/phpunit/phpunit/src/Framework/Error/Warning.php
deleted file mode 100644
index 220b502..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Error/Warning.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for PHP warnings.
- * You can disable notice-to-exception conversion by setting
- *
- * <code>
- * PHPUnit_Framework_Error_Warning::$enabled = false;
- * </code>
- *
- * @package    PHPUnit
- * @subpackage Framework_Error
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Error_Warning extends PHPUnit_Framework_Error
-{
-    public static $enabled = true;
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Exception.php b/core/vendor/phpunit/phpunit/src/Framework/Exception.php
deleted file mode 100644
index 5c19c1d..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Exception.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for all PHPUnit Framework exceptions.
- *
- * Ensures that exceptions thrown during a test run do not leave stray
- * references behind.
- *
- * Every Exception contains a stack trace. Each stack frame contains the 'args'
- * of the called function. The function arguments can contain references to
- * instantiated objects. The references prevent the objects from being
- * destructed (until test results are eventually printed), so memory cannot be
- * freed up.
- *
- * With enabled process isolation, test results are serialized in the child
- * process and unserialized in the parent process. The stack trace of Exceptions
- * may contain objects that cannot be serialized or unserialized (e.g., PDO
- * connections). Unserializing user-space objects from the child process into
- * the parent would break the intended encapsulation of process isolation.
- *
- * @see http://fabien.potencier.org/article/9/php-serialization-stack-traces-and-exceptions
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.4.0
- */
-class PHPUnit_Framework_Exception extends RuntimeException implements PHPUnit_Exception
-{
-    /**
-     * @var array
-     */
-    protected $serializableTrace;
-
-    public function __construct($message = '', $code = 0, Exception $previous = null)
-    {
-        parent::__construct($message, $code, $previous);
-
-        $this->serializableTrace = $this->getTrace();
-        foreach ($this->serializableTrace as $i => $call) {
-            unset($this->serializableTrace[$i]['args']);
-        }
-    }
-
-    /**
-     * Returns the serializable trace (without 'args').
-     *
-     * @return array
-     */
-    public function getSerializableTrace()
-    {
-        return $this->serializableTrace;
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        $string = PHPUnit_Framework_TestFailure::exceptionToString($this);
-
-        if ($trace = PHPUnit_Util_Filter::getFilteredStacktrace($this)) {
-            $string .= "\n" . $trace;
-        }
-
-        return $string;
-    }
-
-    public function __sleep()
-    {
-        return array_keys(get_object_vars($this));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php b/core/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php
deleted file mode 100644
index 4ac77b2..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wraps Exceptions thrown by code under test.
- *
- * Re-instantiates Exceptions thrown by user-space code to retain their original
- * class names, properties, and stack traces (but without arguments).
- *
- * Unlike PHPUnit_Framework_Exception, the complete stack of previous Exceptions
- * is processed.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Daniel F. Kudwien <sun@unleashedmind.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.3.0
- */
-class PHPUnit_Framework_ExceptionWrapper extends PHPUnit_Framework_Exception
-{
-    /**
-     * @var string
-     */
-    protected $classname;
-
-    /**
-     * @var PHPUnit_Framework_ExceptionWrapper|null
-     */
-    protected $previous;
-
-    public function __construct(Exception $e)
-    {
-        // PDOException::getCode() is a string.
-        // @see http://php.net/manual/en/class.pdoexception.php#95812
-        parent::__construct($e->getMessage(), (int) $e->getCode());
-
-        $this->classname = get_class($e);
-        $this->file = $e->getFile();
-        $this->line = $e->getLine();
-
-        $this->serializableTrace = $e->getTrace();
-        foreach ($this->serializableTrace as $i => $call) {
-            unset($this->serializableTrace[$i]['args']);
-        }
-
-        if ($e->getPrevious()) {
-            $this->previous = new self($e->getPrevious());
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function getClassname()
-    {
-        return $this->classname;
-    }
-
-    /**
-     * @return PHPUnit_Framework_ExceptionWrapper
-     */
-    public function getPreviousWrapped()
-    {
-        return $this->previous;
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        $string = PHPUnit_Framework_TestFailure::exceptionToString($this);
-
-        if ($trace = PHPUnit_Util_Filter::getFilteredStacktrace($this)) {
-            $string .= "\n" . $trace;
-        }
-
-        if ($this->previous) {
-            $string .= "\nCaused by\n" . $this->previous;
-        }
-
-        return $string;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php b/core/vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php
deleted file mode 100644
index 612d7f0..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception for expectations which failed their check.
- *
- * The exception contains the error message and optionally a
- * SebastianBergmann\Comparator\ComparisonFailure which is used to
- * generate diff output of the failed expectations.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_ExpectationFailedException extends PHPUnit_Framework_AssertionFailedError
-{
-    /**
-     * @var SebastianBergmann\Comparator\ComparisonFailure
-     */
-    protected $comparisonFailure;
-
-    public function __construct($message, SebastianBergmann\Comparator\ComparisonFailure $comparisonFailure = null, Exception $previous = null)
-    {
-        $this->comparisonFailure = $comparisonFailure;
-
-        parent::__construct($message, 0, $previous);
-    }
-
-    /**
-     * @return SebastianBergmann\Comparator\ComparisonFailure
-     */
-    public function getComparisonFailure()
-    {
-        return $this->comparisonFailure;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php b/core/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php
deleted file mode 100644
index 271a905..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A marker interface for marking any exception/error as result of an unit
- * test as incomplete implementation or currently not implemented.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Interface available since Release 2.0.0
- */
-interface PHPUnit_Framework_IncompleteTest
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php b/core/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php
deleted file mode 100644
index 2985316..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An incomplete test case
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Davey Shafik <me@daveyshafik.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.3.0
- */
-class PHPUnit_Framework_IncompleteTestCase extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var string
-     */
-    protected $message = '';
-
-    /**
-     * @var boolean
-     */
-    protected $backupGlobals = false;
-
-    /**
-     * @var boolean
-     */
-    protected $backupStaticAttributes = false;
-
-    /**
-     * @var boolean
-     */
-    protected $runTestInSeparateProcess = false;
-
-    /**
-     * @var boolean
-     */
-    protected $useErrorHandler = false;
-
-    /**
-     * @var boolean
-     */
-    protected $useOutputBuffering = false;
-
-    /**
-     * @param string $className
-     * @param string $methodName
-     * @param string $message
-     */
-    public function __construct($className, $methodName, $message = '')
-    {
-        $this->message = $message;
-        parent::__construct($className . '::' . $methodName);
-    }
-
-    /**
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function runTest()
-    {
-        $this->markTestIncomplete($this->message);
-    }
-
-    /**
-     * @return string
-     */
-    public function getMessage()
-    {
-        return $this->message;
-    }
-
-    /**
-     * Returns a string representation of the test case.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->getName();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php b/core/vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php
deleted file mode 100644
index 3990377..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of an incomplete test.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Framework_IncompleteTestError extends PHPUnit_Framework_AssertionFailedError implements PHPUnit_Framework_IncompleteTest
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php b/core/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php
deleted file mode 100644
index 35bfd75..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a test that is skipped because of an invalid @covers annotation.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Framework_InvalidCoversTargetError extends PHPUnit_Framework_AssertionFailedError implements PHPUnit_Framework_SkippedTest
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php b/core/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php
deleted file mode 100644
index 5e67af5..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Framework_InvalidCoversTargetException extends PHPUnit_Framework_CodeCoverageException
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/OutputError.php b/core/vendor/phpunit/phpunit/src/Framework/OutputError.php
deleted file mode 100644
index f15edaf..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/OutputError.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a test that printed output.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.6.0
- */
-class PHPUnit_Framework_OutputError extends PHPUnit_Framework_AssertionFailedError
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/RiskyTest.php b/core/vendor/phpunit/phpunit/src/Framework/RiskyTest.php
deleted file mode 100644
index 0c8b653..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/RiskyTest.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A marker interface for marking any exception/error as result of an unit
- * test as risky.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Interface available since Release 4.0.0
- */
-interface PHPUnit_Framework_RiskyTest
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/RiskyTestError.php b/core/vendor/phpunit/phpunit/src/Framework/RiskyTestError.php
deleted file mode 100644
index 4f165df..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/RiskyTestError.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a risky test.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Framework_RiskyTestError extends PHPUnit_Framework_AssertionFailedError implements PHPUnit_Framework_RiskyTest
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php b/core/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php
deleted file mode 100644
index 9038061..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for classes that can return a description of itself.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Interface available since Release 3.0.0
- */
-interface PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * Returns a string representation of the object.
-     *
-     * @return string
-     */
-    public function toString();
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SkippedTest.php b/core/vendor/phpunit/phpunit/src/Framework/SkippedTest.php
deleted file mode 100644
index cede762..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/SkippedTest.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A marker interface for marking a unit test as being skipped.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Interface available since Release 3.0.0
- */
-interface PHPUnit_Framework_SkippedTest
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php b/core/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php
deleted file mode 100644
index c698f4b..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A skipped test case
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Davey Shafik <me@daveyshafik.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.3.0
- */
-class PHPUnit_Framework_SkippedTestCase extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var string
-     */
-    protected $message = '';
-
-    /**
-     * @var boolean
-     */
-    protected $backupGlobals = false;
-
-    /**
-     * @var boolean
-     */
-    protected $backupStaticAttributes = false;
-
-    /**
-     * @var boolean
-     */
-    protected $runTestInSeparateProcess = false;
-
-    /**
-     * @var boolean
-     */
-    protected $useErrorHandler = false;
-
-    /**
-     * @var boolean
-     */
-    protected $useOutputBuffering = false;
-
-    /**
-     * @param string $message
-     */
-    public function __construct($className, $methodName, $message = '')
-    {
-        $this->message = $message;
-        parent::__construct($className . '::' . $methodName);
-    }
-
-    /**
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function runTest()
-    {
-        $this->markTestSkipped($this->message);
-    }
-
-    /**
-     * @return string
-     */
-    public function getMessage()
-    {
-        return $this->message;
-    }
-
-    /**
-     * Returns a string representation of the test case.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->getName();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SkippedTestError.php b/core/vendor/phpunit/phpunit/src/Framework/SkippedTestError.php
deleted file mode 100644
index 95520f1..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/SkippedTestError.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a skipped test.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Framework_SkippedTestError extends PHPUnit_Framework_AssertionFailedError implements PHPUnit_Framework_SkippedTest
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php b/core/vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php
deleted file mode 100644
index cfae4e8..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a skipped test suite.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.1.0
- */
-class PHPUnit_Framework_SkippedTestSuiteError extends PHPUnit_Framework_AssertionFailedError implements PHPUnit_Framework_SkippedTest
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SyntheticError.php b/core/vendor/phpunit/phpunit/src/Framework/SyntheticError.php
deleted file mode 100644
index c292b53..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/SyntheticError.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates a synthetic failed assertion.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.5.0
- */
-class PHPUnit_Framework_SyntheticError extends PHPUnit_Framework_AssertionFailedError
-{
-    /**
-     * The synthetic file.
-     *
-     * @var string
-     */
-    protected $syntheticFile = '';
-
-    /**
-     * The synthetic line number.
-     *
-     * @var integer
-     */
-    protected $syntheticLine = 0;
-
-    /**
-     * The synthetic trace.
-     *
-     * @var array
-     */
-    protected $syntheticTrace = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string  $message
-     * @param integer $code
-     * @param string  $file
-     * @param integer $line
-     * @param array   $trace
-     */
-    public function __construct($message, $code, $file, $line, $trace)
-    {
-        parent::__construct($message, $code);
-
-        $this->syntheticFile  = $file;
-        $this->syntheticLine  = $line;
-        $this->syntheticTrace = $trace;
-    }
-
-    /**
-     * @return string
-     */
-    public function getSyntheticFile()
-    {
-        return $this->syntheticFile;
-    }
-
-    /**
-     * @return integer
-     */
-    public function getSyntheticLine()
-    {
-        return $this->syntheticLine;
-    }
-
-    /**
-     * @return array
-     */
-    public function getSyntheticTrace()
-    {
-        return $this->syntheticTrace;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Test.php b/core/vendor/phpunit/phpunit/src/Framework/Test.php
deleted file mode 100644
index 03bc44b..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Test.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A Test can be run and collect its results.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Interface available since Release 2.0.0
- */
-interface PHPUnit_Framework_Test extends Countable
-{
-    /**
-     * Runs a test and collects its result in a TestResult instance.
-     *
-     * @param  PHPUnit_Framework_TestResult $result
-     * @return PHPUnit_Framework_TestResult
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null);
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestCase.php b/core/vendor/phpunit/phpunit/src/Framework/TestCase.php
deleted file mode 100644
index 75c3d12..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/TestCase.php
+++ /dev/null
@@ -1,2075 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\GlobalState\Snapshot;
-use SebastianBergmann\GlobalState\Restorer;
-use SebastianBergmann\GlobalState\Blacklist;
-use SebastianBergmann\Diff\Differ;
-use SebastianBergmann\Exporter\Exporter;
-use Prophecy\Exception\Prediction\PredictionException;
-use Prophecy\Prophet;
-
-/**
- * A TestCase defines the fixture to run multiple tests.
- *
- * To define a TestCase
- *
- *   1) Implement a subclass of PHPUnit_Framework_TestCase.
- *   2) Define instance variables that store the state of the fixture.
- *   3) Initialize the fixture state by overriding setUp().
- *   4) Clean-up after a test by overriding tearDown().
- *
- * Each test runs in its own fixture so there can be no side effects
- * among test runs.
- *
- * Here is an example:
- *
- * <code>
- * <?php
- * class MathTest extends PHPUnit_Framework_TestCase
- * {
- *     public $value1;
- *     public $value2;
- *
- *     protected function setUp()
- *     {
- *         $this->value1 = 2;
- *         $this->value2 = 3;
- *     }
- * }
- * ?>
- * </code>
- *
- * For each test implement a method which interacts with the fixture.
- * Verify the expected results with assertions specified by calling
- * assert with a boolean.
- *
- * <code>
- * <?php
- * public function testPass()
- * {
- *     $this->assertTrue($this->value1 + $this->value2 == 5);
- * }
- * ?>
- * </code>
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-abstract class PHPUnit_Framework_TestCase extends PHPUnit_Framework_Assert implements PHPUnit_Framework_Test, PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * Enable or disable the backup and restoration of the $GLOBALS array.
-     * Overwrite this attribute in a child class of TestCase.
-     * Setting this attribute in setUp() has no effect!
-     *
-     * @var boolean
-     */
-    protected $backupGlobals = null;
-
-    /**
-     * @var array
-     */
-    protected $backupGlobalsBlacklist = array();
-
-    /**
-     * Enable or disable the backup and restoration of static attributes.
-     * Overwrite this attribute in a child class of TestCase.
-     * Setting this attribute in setUp() has no effect!
-     *
-     * @var boolean
-     */
-    protected $backupStaticAttributes = null;
-
-    /**
-     * @var array
-     */
-    protected $backupStaticAttributesBlacklist = array();
-
-    /**
-     * Whether or not this test is to be run in a separate PHP process.
-     *
-     * @var boolean
-     */
-    protected $runTestInSeparateProcess = null;
-
-    /**
-     * Whether or not this test should preserve the global state when
-     * running in a separate PHP process.
-     *
-     * @var boolean
-     */
-    protected $preserveGlobalState = true;
-
-    /**
-     * Whether or not this test is running in a separate PHP process.
-     *
-     * @var boolean
-     */
-    private $inIsolation = false;
-
-    /**
-     * @var array
-     */
-    private $data = array();
-
-    /**
-     * @var string
-     */
-    private $dataName = '';
-
-    /**
-     * @var boolean
-     */
-    private $useErrorHandler = null;
-
-    /**
-     * The name of the expected Exception.
-     *
-     * @var mixed
-     */
-    private $expectedException = null;
-
-    /**
-     * The message of the expected Exception.
-     *
-     * @var string
-     */
-    private $expectedExceptionMessage = '';
-
-    /**
-     * The regex pattern to validate the expected Exception message.
-     *
-     * @var string
-     */
-    private $expectedExceptionMessageRegExp = '';
-
-    /**
-     * The code of the expected Exception.
-     *
-     * @var integer
-     */
-    private $expectedExceptionCode;
-
-    /**
-     * The name of the test case.
-     *
-     * @var string
-     */
-    private $name = null;
-
-    /**
-     * @var array
-     */
-    private $dependencies = array();
-
-    /**
-     * @var array
-     */
-    private $dependencyInput = array();
-
-    /**
-     * @var array
-     */
-    private $iniSettings = array();
-
-    /**
-     * @var array
-     */
-    private $locale = array();
-
-    /**
-     * @var array
-     */
-    private $mockObjects = array();
-
-    /**
-     * @var array
-     */
-    private $mockObjectGenerator = null;
-
-    /**
-     * @var integer
-     */
-    private $status;
-
-    /**
-     * @var string
-     */
-    private $statusMessage = '';
-
-    /**
-     * @var integer
-     */
-    private $numAssertions = 0;
-
-    /**
-     * @var PHPUnit_Framework_TestResult
-     */
-    private $result;
-
-    /**
-     * @var mixed
-     */
-    private $testResult;
-
-    /**
-     * @var string
-     */
-    private $output = '';
-
-    /**
-     * @var string
-     */
-    private $outputExpectedRegex = null;
-
-    /**
-     * @var string
-     */
-    private $outputExpectedString = null;
-
-    /**
-     * @var mixed
-     */
-    private $outputCallback = false;
-
-    /**
-     * @var boolean
-     */
-    private $outputBufferingActive = false;
-
-    /**
-     * @var integer
-     */
-    private $outputBufferingLevel;
-
-    /**
-     * @var SebastianBergmann\GlobalState\Snapshot
-     */
-    private $snapshot;
-
-    /**
-     * @var Prophecy\Prophet
-     */
-    private $prophet;
-
-    /**
-     * @var boolean
-     */
-    private $disallowChangesToGlobalState = false;
-
-    /**
-     * Constructs a test case with the given name.
-     *
-     * @param string $name
-     * @param array  $data
-     * @param string $dataName
-     */
-    public function __construct($name = null, array $data = array(), $dataName = '')
-    {
-        if ($name !== null) {
-            $this->setName($name);
-        }
-
-        $this->data                = $data;
-        $this->dataName            = $dataName;
-    }
-
-    /**
-     * Returns a string representation of the test case.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        $class = new ReflectionClass($this);
-
-        $buffer = sprintf(
-            '%s::%s',
-            $class->name,
-            $this->getName(false)
-        );
-
-        return $buffer . $this->getDataSetAsString();
-    }
-
-    /**
-     * Counts the number of test cases executed by run(TestResult result).
-     *
-     * @return integer
-     */
-    public function count()
-    {
-        return 1;
-    }
-
-    /**
-     * Returns the annotations for this test.
-     *
-     * @return array
-     * @since Method available since Release 3.4.0
-     */
-    public function getAnnotations()
-    {
-        return PHPUnit_Util_Test::parseTestMethodAnnotations(
-            get_class($this),
-            $this->name
-        );
-    }
-
-    /**
-     * Gets the name of a TestCase.
-     *
-     * @param  boolean $withDataSet
-     * @return string
-     */
-    public function getName($withDataSet = true)
-    {
-        if ($withDataSet) {
-            return $this->name . $this->getDataSetAsString(false);
-        } else {
-            return $this->name;
-        }
-    }
-
-    /**
-     * Returns the size of the test.
-     *
-     * @return integer
-     * @since  Method available since Release 3.6.0
-     */
-    public function getSize()
-    {
-        return PHPUnit_Util_Test::getSize(
-            get_class($this),
-            $this->getName(false)
-        );
-    }
-
-    /**
-     * @return string
-     * @since  Method available since Release 3.6.0
-     */
-    public function getActualOutput()
-    {
-        if (!$this->outputBufferingActive) {
-            return $this->output;
-        } else {
-            return ob_get_contents();
-        }
-    }
-
-    /**
-     * @return boolean
-     * @since  Method available since Release 3.6.0
-     */
-    public function hasOutput()
-    {
-        if (strlen($this->output) === 0) {
-            return false;
-        }
-
-        if ($this->hasExpectationOnOutput()) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * @param  string                      $expectedRegex
-     * @since Method available since Release 3.6.0
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function expectOutputRegex($expectedRegex)
-    {
-        if ($this->outputExpectedString !== null) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        if (is_string($expectedRegex) || is_null($expectedRegex)) {
-            $this->outputExpectedRegex = $expectedRegex;
-        }
-    }
-
-    /**
-     * @param string $expectedString
-     * @since Method available since Release 3.6.0
-     */
-    public function expectOutputString($expectedString)
-    {
-        if ($this->outputExpectedRegex !== null) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        if (is_string($expectedString) || is_null($expectedString)) {
-            $this->outputExpectedString = $expectedString;
-        }
-    }
-
-    /**
-     * @return bool
-     * @since Method available since Release 3.6.5
-     * @deprecated
-     */
-    public function hasPerformedExpectationsOnOutput()
-    {
-        return $this->hasExpectationOnOutput();
-    }
-
-    /**
-     * @return bool
-     * @since Method available since Release 4.3.3
-     */
-    public function hasExpectationOnOutput()
-    {
-        return is_string($this->outputExpectedString) || is_string($this->outputExpectedRegex);
-    }
-
-    /**
-     * @return string
-     * @since  Method available since Release 3.2.0
-     */
-    public function getExpectedException()
-    {
-        return $this->expectedException;
-    }
-
-    /**
-     * @param mixed   $exceptionName
-     * @param string  $exceptionMessage
-     * @param integer $exceptionCode
-     * @since  Method available since Release 3.2.0
-     */
-    public function setExpectedException($exceptionName, $exceptionMessage = '', $exceptionCode = null)
-    {
-        $this->expectedException        = $exceptionName;
-        $this->expectedExceptionMessage = $exceptionMessage;
-        $this->expectedExceptionCode    = $exceptionCode;
-    }
-
-    /**
-     * @param mixed   $exceptionName
-     * @param string  $exceptionMessageRegExp
-     * @param integer $exceptionCode
-     * @since Method available since Release 4.3.0
-     */
-    public function setExpectedExceptionRegExp($exceptionName, $exceptionMessageRegExp = '', $exceptionCode = null)
-    {
-        $this->expectedException              = $exceptionName;
-        $this->expectedExceptionMessageRegExp = $exceptionMessageRegExp;
-        $this->expectedExceptionCode          = $exceptionCode;
-    }
-
-    /**
-     * @since  Method available since Release 3.4.0
-     */
-    protected function setExpectedExceptionFromAnnotation()
-    {
-        try {
-            $expectedException = PHPUnit_Util_Test::getExpectedException(
-                get_class($this),
-                $this->name
-            );
-
-            if ($expectedException !== false) {
-                $this->setExpectedException(
-                    $expectedException['class'],
-                    $expectedException['message'],
-                    $expectedException['code']
-                );
-
-                if (!empty($expectedException['message_regex'])) {
-                    $this->setExpectedExceptionRegExp(
-                        $expectedException['class'],
-                        $expectedException['message_regex'],
-                        $expectedException['code']
-                    );
-                }
-            }
-        } catch (ReflectionException $e) {
-        }
-    }
-
-    /**
-     * @param boolean $useErrorHandler
-     * @since Method available since Release 3.4.0
-     */
-    public function setUseErrorHandler($useErrorHandler)
-    {
-        $this->useErrorHandler = $useErrorHandler;
-    }
-
-    /**
-     * @since Method available since Release 3.4.0
-     */
-    protected function setUseErrorHandlerFromAnnotation()
-    {
-        try {
-            $useErrorHandler = PHPUnit_Util_Test::getErrorHandlerSettings(
-                get_class($this),
-                $this->name
-            );
-
-            if ($useErrorHandler !== null) {
-                $this->setUseErrorHandler($useErrorHandler);
-            }
-        } catch (ReflectionException $e) {
-        }
-    }
-
-    /**
-     * @since Method available since Release 3.6.0
-     */
-    protected function checkRequirements()
-    {
-        if (!$this->name || !method_exists($this, $this->name)) {
-            return;
-        }
-
-        $missingRequirements = PHPUnit_Util_Test::getMissingRequirements(
-            get_class($this),
-            $this->name
-        );
-
-        if ($missingRequirements) {
-            $this->markTestSkipped(implode(PHP_EOL, $missingRequirements));
-        }
-    }
-
-    /**
-     * Returns the status of this test.
-     *
-     * @return integer
-     * @since  Method available since Release 3.1.0
-     */
-    public function getStatus()
-    {
-        return $this->status;
-    }
-
-    /**
-     * Returns the status message of this test.
-     *
-     * @return string
-     * @since  Method available since Release 3.3.0
-     */
-    public function getStatusMessage()
-    {
-        return $this->statusMessage;
-    }
-
-    /**
-     * Returns whether or not this test has failed.
-     *
-     * @return boolean
-     * @since  Method available since Release 3.0.0
-     */
-    public function hasFailed()
-    {
-        $status = $this->getStatus();
-
-        return $status == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE ||
-               $status == PHPUnit_Runner_BaseTestRunner::STATUS_ERROR;
-    }
-
-    /**
-     * Runs the test case and collects the results in a TestResult object.
-     * If no TestResult object is passed a new one will be created.
-     *
-     * @param  PHPUnit_Framework_TestResult $result
-     * @return PHPUnit_Framework_TestResult
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        if ($result === null) {
-            $result = $this->createResult();
-        }
-
-        if (!$this instanceof PHPUnit_Framework_Warning) {
-            $this->setTestResultObject($result);
-            $this->setUseErrorHandlerFromAnnotation();
-        }
-
-        if ($this->useErrorHandler !== null) {
-            $oldErrorHandlerSetting = $result->getConvertErrorsToExceptions();
-            $result->convertErrorsToExceptions($this->useErrorHandler);
-        }
-
-        if (!$this instanceof PHPUnit_Framework_Warning && !$this->handleDependencies()) {
-            return;
-        }
-
-        if ($this->runTestInSeparateProcess === true &&
-            $this->inIsolation !== true &&
-            !$this instanceof PHPUnit_Extensions_SeleniumTestCase &&
-            !$this instanceof PHPUnit_Extensions_PhptTestCase) {
-            $class = new ReflectionClass($this);
-
-            $template = new Text_Template(
-                __DIR__ . '/../Util/PHP/Template/TestCaseMethod.tpl'
-            );
-
-            if ($this->preserveGlobalState) {
-                $constants     = PHPUnit_Util_GlobalState::getConstantsAsString();
-                $globals       = PHPUnit_Util_GlobalState::getGlobalsAsString();
-                $includedFiles = PHPUnit_Util_GlobalState::getIncludedFilesAsString();
-                $iniSettings   = PHPUnit_Util_GlobalState::getIniSettingsAsString();
-            } else {
-                $constants     = '';
-                if (!empty($GLOBALS['__PHPUNIT_BOOTSTRAP'])) {
-                    $globals     = '$GLOBALS[\'__PHPUNIT_BOOTSTRAP\'] = ' . var_export($GLOBALS['__PHPUNIT_BOOTSTRAP'], true) . ";\n";
-                } else {
-                    $globals     = '';
-                }
-                $includedFiles = '';
-                $iniSettings   = '';
-            }
-
-            $coverage                                = $result->getCollectCodeCoverageInformation()       ? 'true' : 'false';
-            $isStrictAboutTestsThatDoNotTestAnything = $result->isStrictAboutTestsThatDoNotTestAnything() ? 'true' : 'false';
-            $isStrictAboutOutputDuringTests          = $result->isStrictAboutOutputDuringTests()          ? 'true' : 'false';
-            $isStrictAboutTestSize                   = $result->isStrictAboutTestSize()                   ? 'true' : 'false';
-            $isStrictAboutTodoAnnotatedTests         = $result->isStrictAboutTodoAnnotatedTests()         ? 'true' : 'false';
-
-            if (defined('PHPUNIT_COMPOSER_INSTALL')) {
-                $composerAutoload = var_export(PHPUNIT_COMPOSER_INSTALL, true);
-            } else {
-                $composerAutoload = '\'\'';
-            }
-
-            if (defined('__PHPUNIT_PHAR__')) {
-                $phar = var_export(__PHPUNIT_PHAR__, true);
-            } else {
-                $phar = '\'\'';
-            }
-
-            $data            = var_export(serialize($this->data), true);
-            $dataName        = var_export($this->dataName, true);
-            $dependencyInput = var_export(serialize($this->dependencyInput), true);
-            $includePath     = var_export(get_include_path(), true);
-            // must do these fixes because TestCaseMethod.tpl has unserialize('{data}') in it, and we can't break BC
-            // the lines above used to use addcslashes() rather than var_export(), which breaks null byte escape sequences
-            $data            = "'." . $data . ".'";
-            $dataName        = "'.(" . $dataName . ").'";
-            $dependencyInput = "'." . $dependencyInput . ".'";
-            $includePath     = "'." . $includePath . ".'";
-
-            $template->setVar(
-                array(
-                'composerAutoload'                        => $composerAutoload,
-                'phar'                                    => $phar,
-                'filename'                                => $class->getFileName(),
-                'className'                               => $class->getName(),
-                'methodName'                              => $this->name,
-                'collectCodeCoverageInformation'          => $coverage,
-                'data'                                    => $data,
-                'dataName'                                => $dataName,
-                'dependencyInput'                         => $dependencyInput,
-                'constants'                               => $constants,
-                'globals'                                 => $globals,
-                'include_path'                            => $includePath,
-                'included_files'                          => $includedFiles,
-                'iniSettings'                             => $iniSettings,
-                'isStrictAboutTestsThatDoNotTestAnything' => $isStrictAboutTestsThatDoNotTestAnything,
-                'isStrictAboutOutputDuringTests'          => $isStrictAboutOutputDuringTests,
-                'isStrictAboutTestSize'                   => $isStrictAboutTestSize,
-                'isStrictAboutTodoAnnotatedTests'         => $isStrictAboutTodoAnnotatedTests
-                )
-            );
-
-            $this->prepareTemplate($template);
-
-            $php = PHPUnit_Util_PHP::factory();
-            $php->runTestJob($template->render(), $this, $result);
-        } else {
-            $result->run($this);
-        }
-
-        if ($this->useErrorHandler !== null) {
-            $result->convertErrorsToExceptions($oldErrorHandlerSetting);
-        }
-
-        $this->result = null;
-
-        return $result;
-    }
-
-    /**
-     * Runs the bare test sequence.
-     */
-    public function runBare()
-    {
-        $this->numAssertions = 0;
-
-        $this->snapshotGlobalState();
-        $this->startOutputBuffering();
-        clearstatcache();
-        $currentWorkingDirectory = getcwd();
-
-        $hookMethods = PHPUnit_Util_Test::getHookMethods(get_class($this));
-
-        try {
-            $hasMetRequirements = false;
-            $this->checkRequirements();
-            $hasMetRequirements = true;
-
-            if ($this->inIsolation) {
-                foreach ($hookMethods['beforeClass'] as $method) {
-                    $this->$method();
-                }
-            }
-
-            $this->setExpectedExceptionFromAnnotation();
-
-            foreach ($hookMethods['before'] as $method) {
-                $this->$method();
-            }
-
-            $this->assertPreConditions();
-            $this->testResult = $this->runTest();
-            $this->verifyMockObjects();
-            $this->assertPostConditions();
-
-            $this->status = PHPUnit_Runner_BaseTestRunner::STATUS_PASSED;
-        } catch (PHPUnit_Framework_IncompleteTest $e) {
-            $this->status        = PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE;
-            $this->statusMessage = $e->getMessage();
-        } catch (PHPUnit_Framework_SkippedTest $e) {
-            $this->status        = PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED;
-            $this->statusMessage = $e->getMessage();
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            $this->status = PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE;
-            $this->statusMessage = $e->getMessage();
-        } catch (PredictionException $e) {
-            $this->status        = PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE;
-            $this->statusMessage = $e->getMessage();
-        } catch (Exception $e) {
-            $this->status        = PHPUnit_Runner_BaseTestRunner::STATUS_ERROR;
-            $this->statusMessage = $e->getMessage();
-        }
-
-        // Clean up the mock objects.
-        $this->mockObjects = array();
-        $this->prophet     = null;
-
-        // Tear down the fixture. An exception raised in tearDown() will be
-        // caught and passed on when no exception was raised before.
-        try {
-            if ($hasMetRequirements) {
-                foreach ($hookMethods['after'] as $method) {
-                    $this->$method();
-                }
-
-                if ($this->inIsolation) {
-                    foreach ($hookMethods['afterClass'] as $method) {
-                        $this->$method();
-                    }
-                }
-            }
-        } catch (Exception $_e) {
-            if (!isset($e)) {
-                $e = $_e;
-            }
-        }
-
-        try {
-            $this->stopOutputBuffering();
-        } catch (PHPUnit_Framework_RiskyTestError $_e) {
-            if (!isset($e)) {
-                $e = $_e;
-            }
-        }
-
-        clearstatcache();
-
-        if ($currentWorkingDirectory != getcwd()) {
-            chdir($currentWorkingDirectory);
-        }
-
-        $this->restoreGlobalState();
-
-        // Clean up INI settings.
-        foreach ($this->iniSettings as $varName => $oldValue) {
-            ini_set($varName, $oldValue);
-        }
-
-        $this->iniSettings = array();
-
-        // Clean up locale settings.
-        foreach ($this->locale as $category => $locale) {
-            setlocale($category, $locale);
-        }
-
-        // Perform assertion on output.
-        if (!isset($e)) {
-            try {
-                if ($this->outputExpectedRegex !== null) {
-                    $this->assertRegExp($this->outputExpectedRegex, $this->output);
-                } elseif ($this->outputExpectedString !== null) {
-                    $this->assertEquals($this->outputExpectedString, $this->output);
-                }
-            } catch (Exception $_e) {
-                $e = $_e;
-            }
-        }
-
-        // Workaround for missing "finally".
-        if (isset($e)) {
-            if ($e instanceof PredictionException) {
-                $e = new PHPUnit_Framework_AssertionFailedError($e->getMessage());
-            }
-
-            $this->onNotSuccessfulTest($e);
-        }
-    }
-
-    /**
-     * Override to run the test and assert its state.
-     *
-     * @return mixed
-     * @throws Exception|PHPUnit_Framework_Exception
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function runTest()
-    {
-        if ($this->name === null) {
-            throw new PHPUnit_Framework_Exception(
-                'PHPUnit_Framework_TestCase::$name must not be null.'
-            );
-        }
-
-        try {
-            $class  = new ReflectionClass($this);
-            $method = $class->getMethod($this->name);
-        } catch (ReflectionException $e) {
-            $this->fail($e->getMessage());
-        }
-
-        try {
-            $testResult = $method->invokeArgs(
-                $this,
-                array_merge($this->data, $this->dependencyInput)
-            );
-        } catch (Exception $e) {
-            $checkException = false;
-
-            if (is_string($this->expectedException)) {
-                $checkException = true;
-
-                if ($e instanceof PHPUnit_Framework_Exception) {
-                    $checkException = false;
-                }
-
-                $reflector = new ReflectionClass($this->expectedException);
-
-                if ($this->expectedException == 'PHPUnit_Framework_Exception' ||
-                    $reflector->isSubclassOf('PHPUnit_Framework_Exception')) {
-                    $checkException = true;
-                }
-            }
-
-            if ($checkException) {
-                $this->assertThat(
-                    $e,
-                    new PHPUnit_Framework_Constraint_Exception(
-                        $this->expectedException
-                    )
-                );
-
-                if (is_string($this->expectedExceptionMessage) &&
-                    !empty($this->expectedExceptionMessage)) {
-                    $this->assertThat(
-                        $e,
-                        new PHPUnit_Framework_Constraint_ExceptionMessage(
-                            $this->expectedExceptionMessage
-                        )
-                    );
-                }
-
-                if (is_string($this->expectedExceptionMessageRegExp) &&
-                    !empty($this->expectedExceptionMessageRegExp)) {
-                    $this->assertThat(
-                        $e,
-                        new PHPUnit_Framework_Constraint_ExceptionMessageRegExp(
-                            $this->expectedExceptionMessageRegExp
-                        )
-                    );
-                }
-
-                if ($this->expectedExceptionCode !== null) {
-                    $this->assertThat(
-                        $e,
-                        new PHPUnit_Framework_Constraint_ExceptionCode(
-                            $this->expectedExceptionCode
-                        )
-                    );
-                }
-
-                return;
-            } else {
-                throw $e;
-            }
-        }
-
-        if ($this->expectedException !== null) {
-            $this->assertThat(
-                null,
-                new PHPUnit_Framework_Constraint_Exception(
-                    $this->expectedException
-                )
-            );
-        }
-
-        return $testResult;
-    }
-
-    /**
-     * Verifies the mock object expectations.
-     *
-     * @since Method available since Release 3.5.0
-     */
-    protected function verifyMockObjects()
-    {
-        foreach ($this->mockObjects as $mockObject) {
-            if ($mockObject->__phpunit_hasMatchers()) {
-                $this->numAssertions++;
-            }
-
-            $mockObject->__phpunit_verify();
-        }
-
-        if ($this->prophet !== null) {
-            try {
-                $this->prophet->checkPredictions();
-            } catch (Exception $e) {
-                /** Intentionally left empty */
-            }
-
-            foreach ($this->prophet->getProphecies() as $objectProphecy) {
-                foreach ($objectProphecy->getMethodProphecies() as $methodProphecies) {
-                    foreach ($methodProphecies as $methodProphecy) {
-                        $this->numAssertions += count($methodProphecy->getCheckedPredictions());
-                    }
-                }
-            }
-
-            if (isset($e)) {
-                throw $e;
-            }
-        }
-    }
-
-    /**
-     * Sets the name of a TestCase.
-     *
-     * @param  string
-     */
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-
-    /**
-     * Sets the dependencies of a TestCase.
-     *
-     * @param array $dependencies
-     * @since  Method available since Release 3.4.0
-     */
-    public function setDependencies(array $dependencies)
-    {
-        $this->dependencies = $dependencies;
-    }
-
-    /**
-     * Returns true if the tests has dependencies
-     *
-     * @return boolean
-     * @since Method available since Release 4.0.0
-     */
-    public function hasDependencies()
-    {
-        return count($this->dependencies) > 0;
-    }
-
-    /**
-     * Sets
-     *
-     * @param array $dependencyInput
-     * @since  Method available since Release 3.4.0
-     */
-    public function setDependencyInput(array $dependencyInput)
-    {
-        $this->dependencyInput = $dependencyInput;
-    }
-
-    /**
-     * @param boolean $disallowChangesToGlobalState
-     * @since Method available since Release 4.6.0
-     */
-    public function setDisallowChangesToGlobalState($disallowChangesToGlobalState)
-    {
-        $this->disallowChangesToGlobalState = $disallowChangesToGlobalState;
-    }
-
-    /**
-     * Calling this method in setUp() has no effect!
-     *
-     * @param boolean $backupGlobals
-     * @since  Method available since Release 3.3.0
-     */
-    public function setBackupGlobals($backupGlobals)
-    {
-        if (is_null($this->backupGlobals) && is_bool($backupGlobals)) {
-            $this->backupGlobals = $backupGlobals;
-        }
-    }
-
-    /**
-     * Calling this method in setUp() has no effect!
-     *
-     * @param boolean $backupStaticAttributes
-     * @since  Method available since Release 3.4.0
-     */
-    public function setBackupStaticAttributes($backupStaticAttributes)
-    {
-        if (is_null($this->backupStaticAttributes) &&
-            is_bool($backupStaticAttributes)) {
-            $this->backupStaticAttributes = $backupStaticAttributes;
-        }
-    }
-
-    /**
-     * @param  boolean                     $runTestInSeparateProcess
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.4.0
-     */
-    public function setRunTestInSeparateProcess($runTestInSeparateProcess)
-    {
-        if (is_bool($runTestInSeparateProcess)) {
-            if ($this->runTestInSeparateProcess === null) {
-                $this->runTestInSeparateProcess = $runTestInSeparateProcess;
-            }
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-    }
-
-    /**
-     * @param  boolean                     $preserveGlobalState
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.4.0
-     */
-    public function setPreserveGlobalState($preserveGlobalState)
-    {
-        if (is_bool($preserveGlobalState)) {
-            $this->preserveGlobalState = $preserveGlobalState;
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-    }
-
-    /**
-     * @param  boolean                     $inIsolation
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.4.0
-     */
-    public function setInIsolation($inIsolation)
-    {
-        if (is_bool($inIsolation)) {
-            $this->inIsolation = $inIsolation;
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-    }
-
-    /**
-     * @return boolean
-     * @since  Method available since Release 4.3.0
-     */
-    public function isInIsolation()
-    {
-        return $this->inIsolation;
-    }
-
-    /**
-     * @return mixed
-     * @since  Method available since Release 3.4.0
-     */
-    public function getResult()
-    {
-        return $this->testResult;
-    }
-
-    /**
-     * @param mixed $result
-     * @since  Method available since Release 3.4.0
-     */
-    public function setResult($result)
-    {
-        $this->testResult = $result;
-    }
-
-    /**
-     * @param  callable                    $callback
-     * @throws PHPUnit_Framework_Exception
-     * @since Method available since Release 3.6.0
-     */
-    public function setOutputCallback($callback)
-    {
-        if (!is_callable($callback)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'callback');
-        }
-
-        $this->outputCallback = $callback;
-    }
-
-    /**
-     * @return PHPUnit_Framework_TestResult
-     * @since  Method available since Release 3.5.7
-     */
-    public function getTestResultObject()
-    {
-        return $this->result;
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     * @since Method available since Release 3.6.0
-     */
-    public function setTestResultObject(PHPUnit_Framework_TestResult $result)
-    {
-        $this->result = $result;
-    }
-
-    /**
-     * This method is a wrapper for the ini_set() function that automatically
-     * resets the modified php.ini setting to its original value after the
-     * test is run.
-     *
-     * @param  string                      $varName
-     * @param  string                      $newValue
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.0.0
-     */
-    protected function iniSet($varName, $newValue)
-    {
-        if (!is_string($varName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $currentValue = ini_set($varName, $newValue);
-
-        if ($currentValue !== false) {
-            $this->iniSettings[$varName] = $currentValue;
-        } else {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'INI setting "%s" could not be set to "%s".',
-                    $varName,
-                    $newValue
-                )
-            );
-        }
-    }
-
-    /**
-     * This method is a wrapper for the setlocale() function that automatically
-     * resets the locale to its original value after the test is run.
-     *
-     * @param  integer                     $category
-     * @param  string                      $locale
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.1.0
-     */
-    protected function setLocale()
-    {
-        $args = func_get_args();
-
-        if (count($args) < 2) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        $category = $args[0];
-        $locale   = $args[1];
-
-        $categories = array(
-          LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME
-        );
-
-        if (defined('LC_MESSAGES')) {
-            $categories[] = LC_MESSAGES;
-        }
-
-        if (!in_array($category, $categories)) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        if (!is_array($locale) && !is_string($locale)) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        $this->locale[$category] = setlocale($category, null);
-
-        $result = call_user_func_array('setlocale', $args);
-
-        if ($result === false) {
-            throw new PHPUnit_Framework_Exception(
-                'The locale functionality is not implemented on your platform, ' .
-                'the specified locale does not exist or the category name is ' .
-                'invalid.'
-            );
-        }
-    }
-
-    /**
-     * Returns a mock object for the specified class.
-     *
-     * @param  string                                  $originalClassName       Name of the class to mock.
-     * @param  array|null                              $methods                 When provided, only methods whose names are in the array
-     *                                                                          are replaced with a configurable test double. The behavior
-     *                                                                          of the other methods is not changed.
-     *                                                                          Providing null means that no methods will be replaced.
-     * @param  array                                   $arguments               Parameters to pass to the original class' constructor.
-     * @param  string                                  $mockClassName           Class name for the generated test double class.
-     * @param  boolean                                 $callOriginalConstructor Can be used to disable the call to the original class' constructor.
-     * @param  boolean                                 $callOriginalClone       Can be used to disable the call to the original class' clone constructor.
-     * @param  boolean                                 $callAutoload            Can be used to disable __autoload() during the generation of the test double class.
-     * @param  boolean                                 $cloneArguments
-     * @param  boolean                                 $callOriginalMethods
-     * @return PHPUnit_Framework_MockObject_MockObject
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.0.0
-     */
-    public function getMock($originalClassName, $methods = array(), array $arguments = array(), $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $cloneArguments = false, $callOriginalMethods = false)
-    {
-        $mockObject = $this->getMockObjectGenerator()->getMock(
-            $originalClassName,
-            $methods,
-            $arguments,
-            $mockClassName,
-            $callOriginalConstructor,
-            $callOriginalClone,
-            $callAutoload,
-            $cloneArguments,
-            $callOriginalMethods
-        );
-
-        $this->mockObjects[] = $mockObject;
-
-        return $mockObject;
-    }
-
-    /**
-     * Returns a builder object to create mock objects using a fluent interface.
-     *
-     * @param  string                                   $className
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     * @since  Method available since Release 3.5.0
-     */
-    public function getMockBuilder($className)
-    {
-        return new PHPUnit_Framework_MockObject_MockBuilder($this, $className);
-    }
-
-    /**
-     * Mocks the specified class and returns the name of the mocked class.
-     *
-     * @param  string                      $originalClassName
-     * @param  array                       $methods
-     * @param  array                       $arguments
-     * @param  string                      $mockClassName
-     * @param  boolean                     $callOriginalConstructor
-     * @param  boolean                     $callOriginalClone
-     * @param  boolean                     $callAutoload
-     * @param  boolean                     $cloneArguments
-     * @return string
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.5.0
-     */
-    protected function getMockClass($originalClassName, $methods = array(), array $arguments = array(), $mockClassName = '', $callOriginalConstructor = false, $callOriginalClone = true, $callAutoload = true, $cloneArguments = false)
-    {
-        $mock = $this->getMock(
-            $originalClassName,
-            $methods,
-            $arguments,
-            $mockClassName,
-            $callOriginalConstructor,
-            $callOriginalClone,
-            $callAutoload,
-            $cloneArguments
-        );
-
-        return get_class($mock);
-    }
-
-    /**
-     * Returns a mock object for the specified abstract class with all abstract
-     * methods of the class mocked. Concrete methods are not mocked by default.
-     * To mock concrete methods, use the 7th parameter ($mockedMethods).
-     *
-     * @param  string                                  $originalClassName
-     * @param  array                                   $arguments
-     * @param  string                                  $mockClassName
-     * @param  boolean                                 $callOriginalConstructor
-     * @param  boolean                                 $callOriginalClone
-     * @param  boolean                                 $callAutoload
-     * @param  array                                   $mockedMethods
-     * @param  boolean                                 $cloneArguments
-     * @return PHPUnit_Framework_MockObject_MockObject
-     * @since  Method available since Release 3.4.0
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function getMockForAbstractClass($originalClassName, array $arguments = array(), $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = array(), $cloneArguments = false)
-    {
-        $mockObject = $this->getMockObjectGenerator()->getMockForAbstractClass(
-            $originalClassName,
-            $arguments,
-            $mockClassName,
-            $callOriginalConstructor,
-            $callOriginalClone,
-            $callAutoload,
-            $mockedMethods,
-            $cloneArguments
-        );
-
-        $this->mockObjects[] = $mockObject;
-
-        return $mockObject;
-    }
-
-    /**
-     * Returns a mock object based on the given WSDL file.
-     *
-     * @param  string                                  $wsdlFile
-     * @param  string                                  $originalClassName
-     * @param  string                                  $mockClassName
-     * @param  array                                   $methods
-     * @param  boolean                                 $callOriginalConstructor
-     * @param  array                                   $options                 An array of options passed to SOAPClient::_construct
-     * @return PHPUnit_Framework_MockObject_MockObject
-     * @since  Method available since Release 3.4.0
-     */
-    protected function getMockFromWsdl($wsdlFile, $originalClassName = '', $mockClassName = '', array $methods = array(), $callOriginalConstructor = true, array $options = array())
-    {
-        if ($originalClassName === '') {
-            $originalClassName = str_replace('.wsdl', '', basename($wsdlFile));
-        }
-
-        if (!class_exists($originalClassName)) {
-            eval(
-            $this->getMockObjectGenerator()->generateClassFromWsdl(
-                $wsdlFile,
-                $originalClassName,
-                $methods,
-                $options
-            )
-            );
-        }
-
-        return $this->getMock(
-            $originalClassName,
-            $methods,
-            array('', $options),
-            $mockClassName,
-            $callOriginalConstructor,
-            false,
-            false
-        );
-    }
-
-    /**
-     * Returns a mock object for the specified trait with all abstract methods
-     * of the trait mocked. Concrete methods to mock can be specified with the
-     * `$mockedMethods` parameter.
-     *
-     * @param  string                                  $traitName
-     * @param  array                                   $arguments
-     * @param  string                                  $mockClassName
-     * @param  boolean                                 $callOriginalConstructor
-     * @param  boolean                                 $callOriginalClone
-     * @param  boolean                                 $callAutoload
-     * @param  array                                   $mockedMethods
-     * @param  boolean                                 $cloneArguments
-     * @return PHPUnit_Framework_MockObject_MockObject
-     * @since  Method available since Release 4.0.0
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function getMockForTrait($traitName, array $arguments = array(), $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = array(), $cloneArguments = false)
-    {
-        $mockObject = $this->getMockObjectGenerator()->getMockForTrait(
-            $traitName,
-            $arguments,
-            $mockClassName,
-            $callOriginalConstructor,
-            $callOriginalClone,
-            $callAutoload,
-            $mockedMethods,
-            $cloneArguments
-        );
-
-        $this->mockObjects[] = $mockObject;
-
-        return $mockObject;
-    }
-
-    /**
-     * Returns an object for the specified trait.
-     *
-     * @param  string                      $traitName
-     * @param  array                       $arguments
-     * @param  string                      $traitClassName
-     * @param  boolean                     $callOriginalConstructor
-     * @param  boolean                     $callOriginalClone
-     * @param  boolean                     $callAutoload
-     * @param  boolean                     $cloneArguments
-     * @return object
-     * @since  Method available since Release 3.6.0
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function getObjectForTrait($traitName, array $arguments = array(), $traitClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $cloneArguments = false)
-    {
-        return $this->getMockObjectGenerator()->getObjectForTrait(
-            $traitName,
-            $arguments,
-            $traitClassName,
-            $callOriginalConstructor,
-            $callOriginalClone,
-            $callAutoload,
-            $cloneArguments
-        );
-    }
-
-    /**
-     * @param string|null $classOrInterface
-     * @return \Prophecy\Prophecy\ObjectProphecy
-     * @throws \LogicException
-     * @since  Method available since Release 4.5.0
-     */
-    protected function prophesize($classOrInterface = null)
-    {
-        return $this->getProphet()->prophesize($classOrInterface);
-    }
-
-    /**
-     * Adds a value to the assertion counter.
-     *
-     * @param integer $count
-     * @since Method available since Release 3.3.3
-     */
-    public function addToAssertionCount($count)
-    {
-        $this->numAssertions += $count;
-    }
-
-    /**
-     * Returns the number of assertions performed by this test.
-     *
-     * @return integer
-     * @since  Method available since Release 3.3.0
-     */
-    public function getNumAssertions()
-    {
-        return $this->numAssertions;
-    }
-
-    /**
-     * Returns a matcher that matches when the method it is evaluated for
-     * is executed zero or more times.
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount
-     * @since  Method available since Release 3.0.0
-     */
-    public static function any()
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-    }
-
-    /**
-     * Returns a matcher that matches when the method it is evaluated for
-     * is never executed.
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
-     * @since  Method available since Release 3.0.0
-     */
-    public static function never()
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedCount(0);
-    }
-
-    /**
-     * Returns a matcher that matches when the method it is evaluated for
-     * is executed at least N times.
-     *
-     * @param  integer $requiredInvocations
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount
-     * @since  Method available since Release 4.2.0
-     */
-    public static function atLeast($requiredInvocations)
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount(
-            $requiredInvocations
-        );
-    }
-
-    /**
-     * Returns a matcher that matches when the method it is evaluated for
-     * is executed at least once.
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce
-     * @since  Method available since Release 3.0.0
-     */
-    public static function atLeastOnce()
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce;
-    }
-
-    /**
-     * Returns a matcher that matches when the method it is evaluated for
-     * is executed exactly once.
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
-     * @since  Method available since Release 3.0.0
-     */
-    public static function once()
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedCount(1);
-    }
-
-    /**
-     * Returns a matcher that matches when the method it is evaluated for
-     * is executed exactly $count times.
-     *
-     * @param  integer                                           $count
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
-     * @since  Method available since Release 3.0.0
-     */
-    public static function exactly($count)
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedCount($count);
-    }
-
-    /**
-     * Returns a matcher that matches when the method it is evaluated for
-     * is executed at most N times.
-     *
-     * @param  integer $allowedInvocations
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount
-     * @since  Method available since Release 4.2.0
-     */
-    public static function atMost($allowedInvocations)
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount(
-            $allowedInvocations
-        );
-    }
-
-    /**
-     * Returns a matcher that matches when the method it is evaluated for
-     * is invoked at the given $index.
-     *
-     * @param  integer                                             $index
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex
-     * @since  Method available since Release 3.0.0
-     */
-    public static function at($index)
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex($index);
-    }
-
-    /**
-     *
-     *
-     * @param  mixed                                    $value
-     * @return PHPUnit_Framework_MockObject_Stub_Return
-     * @since  Method available since Release 3.0.0
-     */
-    public static function returnValue($value)
-    {
-        return new PHPUnit_Framework_MockObject_Stub_Return($value);
-    }
-
-    /**
-     *
-     *
-     * @param  array                                            $valueMap
-     * @return PHPUnit_Framework_MockObject_Stub_ReturnValueMap
-     * @since  Method available since Release 3.6.0
-     */
-    public static function returnValueMap(array $valueMap)
-    {
-        return new PHPUnit_Framework_MockObject_Stub_ReturnValueMap($valueMap);
-    }
-
-    /**
-     *
-     *
-     * @param  integer                                          $argumentIndex
-     * @return PHPUnit_Framework_MockObject_Stub_ReturnArgument
-     * @since  Method available since Release 3.3.0
-     */
-    public static function returnArgument($argumentIndex)
-    {
-        return new PHPUnit_Framework_MockObject_Stub_ReturnArgument(
-            $argumentIndex
-        );
-    }
-
-    /**
-     *
-     *
-     * @param  mixed                                            $callback
-     * @return PHPUnit_Framework_MockObject_Stub_ReturnCallback
-     * @since  Method available since Release 3.3.0
-     */
-    public static function returnCallback($callback)
-    {
-        return new PHPUnit_Framework_MockObject_Stub_ReturnCallback($callback);
-    }
-
-    /**
-     * Returns the current object.
-     *
-     * This method is useful when mocking a fluent interface.
-     *
-     * @return PHPUnit_Framework_MockObject_Stub_ReturnSelf
-     * @since  Method available since Release 3.6.0
-     */
-    public static function returnSelf()
-    {
-        return new PHPUnit_Framework_MockObject_Stub_ReturnSelf();
-    }
-
-    /**
-     *
-     *
-     * @param  Exception                                   $exception
-     * @return PHPUnit_Framework_MockObject_Stub_Exception
-     * @since  Method available since Release 3.1.0
-     */
-    public static function throwException(Exception $exception)
-    {
-        return new PHPUnit_Framework_MockObject_Stub_Exception($exception);
-    }
-
-    /**
-     * @param  mixed                                              $value, ...
-     * @return PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls
-     * @since  Method available since Release 3.0.0
-     */
-    public static function onConsecutiveCalls()
-    {
-        $args = func_get_args();
-
-        return new PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls($args);
-    }
-
-    /**
-     * Gets the data set description of a TestCase.
-     *
-     * @param  boolean $includeData
-     * @return string
-     * @since  Method available since Release 3.3.0
-     */
-    protected function getDataSetAsString($includeData = true)
-    {
-        $buffer = '';
-
-        if (!empty($this->data)) {
-            if (is_int($this->dataName)) {
-                $buffer .= sprintf(' with data set #%d', $this->dataName);
-            } else {
-                $buffer .= sprintf(' with data set "%s"', $this->dataName);
-            }
-
-            $exporter = new Exporter;
-
-            if ($includeData) {
-                $buffer .= sprintf(' (%s)', $exporter->shortenedRecursiveExport($this->data));
-            }
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * Creates a default TestResult object.
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    protected function createResult()
-    {
-        return new PHPUnit_Framework_TestResult;
-    }
-
-    /**
-     * @since Method available since Release 3.5.4
-     */
-    protected function handleDependencies()
-    {
-        if (!empty($this->dependencies) && !$this->inIsolation) {
-            $className  = get_class($this);
-            $passed     = $this->result->passed();
-            $passedKeys = array_keys($passed);
-            $numKeys    = count($passedKeys);
-
-            for ($i = 0; $i < $numKeys; $i++) {
-                $pos = strpos($passedKeys[$i], ' with data set');
-
-                if ($pos !== false) {
-                    $passedKeys[$i] = substr($passedKeys[$i], 0, $pos);
-                }
-            }
-
-            $passedKeys = array_flip(array_unique($passedKeys));
-
-            foreach ($this->dependencies as $dependency) {
-                if (strpos($dependency, '::') === false) {
-                    $dependency = $className . '::' . $dependency;
-                }
-
-                if (!isset($passedKeys[$dependency])) {
-                    $this->result->addError(
-                        $this,
-                        new PHPUnit_Framework_SkippedTestError(
-                            sprintf(
-                                'This test depends on "%s" to pass.',
-                                $dependency
-                            )
-                        ),
-                        0
-                    );
-
-                    return false;
-                }
-
-                if (isset($passed[$dependency])) {
-                    if ($passed[$dependency]['size'] > $this->getSize()) {
-                        $this->result->addError(
-                            $this,
-                            new PHPUnit_Framework_SkippedTestError(
-                                'This test depends on a test that is larger than itself.'
-                            ),
-                            0
-                        );
-
-                        return false;
-                    }
-
-                    $this->dependencyInput[$dependency] = $passed[$dependency]['result'];
-                } else {
-                    $this->dependencyInput[$dependency] = null;
-                }
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * This method is called before the first test of this test class is run.
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function setUpBeforeClass()
-    {
-    }
-
-    /**
-     * Sets up the fixture, for example, open a network connection.
-     * This method is called before a test is executed.
-     *
-     */
-    protected function setUp()
-    {
-    }
-
-    /**
-     * Performs assertions shared by all tests of a test case.
-     *
-     * This method is called before the execution of a test starts
-     * and after setUp() is called.
-     *
-     * @since  Method available since Release 3.2.8
-     */
-    protected function assertPreConditions()
-    {
-    }
-
-    /**
-     * Performs assertions shared by all tests of a test case.
-     *
-     * This method is called before the execution of a test ends
-     * and before tearDown() is called.
-     *
-     * @since  Method available since Release 3.2.8
-     */
-    protected function assertPostConditions()
-    {
-    }
-
-    /**
-     * Tears down the fixture, for example, close a network connection.
-     * This method is called after a test is executed.
-     */
-    protected function tearDown()
-    {
-    }
-
-    /**
-     * This method is called after the last test of this test class is run.
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function tearDownAfterClass()
-    {
-    }
-
-    /**
-     * This method is called when a test method did not execute successfully.
-     *
-     * @param  Exception $e
-     * @since Method available since Release 3.4.0
-     * @throws Exception
-     */
-    protected function onNotSuccessfulTest(Exception $e)
-    {
-        throw $e;
-    }
-
-    /**
-     * Performs custom preparations on the process isolation template.
-     *
-     * @param Text_Template $template
-     * @since Method available since Release 3.4.0
-     */
-    protected function prepareTemplate(Text_Template $template)
-    {
-    }
-
-    /**
-     * Get the mock object generator, creating it if it doesn't exist.
-     *
-     * @return   PHPUnit_Framework_MockObject_Generator
-     */
-    protected function getMockObjectGenerator()
-    {
-        if (null === $this->mockObjectGenerator) {
-            $this->mockObjectGenerator = new PHPUnit_Framework_MockObject_Generator;
-        }
-
-        return $this->mockObjectGenerator;
-    }
-
-    /**
-     * @since Method available since Release 4.2.0
-     */
-    private function startOutputBuffering()
-    {
-        while (!defined('PHPUNIT_TESTSUITE') && ob_get_level() > 0) {
-            ob_end_clean();
-        }
-
-        ob_start();
-
-        $this->outputBufferingActive = true;
-        $this->outputBufferingLevel  = ob_get_level();
-    }
-
-    /**
-     * @since Method available since Release 4.2.0
-     */
-    private function stopOutputBuffering()
-    {
-        if (ob_get_level() != $this->outputBufferingLevel) {
-            while (ob_get_level() > 0) {
-                ob_end_clean();
-            }
-
-            throw new PHPUnit_Framework_RiskyTestError(
-                'Test code or tested code did not (only) close its own output buffers'
-            );
-        }
-
-        $output = ob_get_contents();
-
-        if ($this->outputCallback === false) {
-            $this->output = $output;
-        } else {
-            $this->output = call_user_func_array(
-                $this->outputCallback,
-                array($output)
-            );
-        }
-
-        ob_end_clean();
-
-        $this->outputBufferingActive = false;
-        $this->outputBufferingLevel  = ob_get_level();
-    }
-
-    private function snapshotGlobalState()
-    {
-        $backupGlobals = $this->backupGlobals === null || $this->backupGlobals === true;
-
-        if ($this->runTestInSeparateProcess || $this->inIsolation ||
-            (!$backupGlobals && !$this->backupStaticAttributes)) {
-            return;
-        }
-
-        $this->snapshot = $this->createGlobalStateSnapshot($backupGlobals);
-    }
-
-    private function restoreGlobalState()
-    {
-        if (!$this->snapshot instanceof Snapshot) {
-            return;
-        }
-
-        $backupGlobals = $this->backupGlobals === null || $this->backupGlobals === true;
-
-        if ($this->disallowChangesToGlobalState) {
-            $this->compareGlobalStateSnapshots(
-                $this->snapshot,
-                $this->createGlobalStateSnapshot($backupGlobals)
-            );
-        }
-
-        $restorer = new Restorer;
-
-        if ($backupGlobals) {
-            $restorer->restoreGlobalVariables($this->snapshot);
-        }
-
-        if ($this->backupStaticAttributes) {
-            $restorer->restoreStaticAttributes($this->snapshot);
-        }
-
-        $this->snapshot = null;
-    }
-
-    /**
-     * @param  boolean $backupGlobals
-     * @return Snapshot
-     */
-    private function createGlobalStateSnapshot($backupGlobals)
-    {
-        $blacklist = new Blacklist;
-
-        foreach ($this->backupGlobalsBlacklist as $globalVariable) {
-            $blacklist->addGlobalVariable($globalVariable);
-        }
-
-        if (!defined('PHPUNIT_TESTSUITE')) {
-            $blacklist->addClassNamePrefix('PHPUnit');
-            $blacklist->addClassNamePrefix('File_Iterator');
-            $blacklist->addClassNamePrefix('PHP_CodeCoverage');
-            $blacklist->addClassNamePrefix('PHP_Invoker');
-            $blacklist->addClassNamePrefix('PHP_Timer');
-            $blacklist->addClassNamePrefix('PHP_Token');
-            $blacklist->addClassNamePrefix('Symfony');
-            $blacklist->addClassNamePrefix('Text_Template');
-            $blacklist->addClassNamePrefix('Doctrine\Instantiator');
-
-            foreach ($this->backupStaticAttributesBlacklist as $class => $attributes) {
-                foreach ($attributes as $attribute) {
-                    $blacklist->addStaticAttribute($class, $attribute);
-                }
-            }
-        }
-
-        return new Snapshot(
-            $blacklist,
-            $backupGlobals,
-            $this->backupStaticAttributes,
-            false,
-            false,
-            false,
-            false,
-            false,
-            false,
-            false
-        );
-    }
-
-    /**
-     * @param  Snapshot $before
-     * @param  Snapshot $after
-     * @throws PHPUnit_Framework_RiskyTestError
-     */
-    private function compareGlobalStateSnapshots(Snapshot $before, Snapshot $after)
-    {
-        $backupGlobals = $this->backupGlobals === null || $this->backupGlobals === true;
-
-        if ($backupGlobals) {
-            $this->compareGlobalStateSnapshotPart(
-                $before->globalVariables(),
-                $after->globalVariables(),
-                "--- Global variables before the test\n+++ Global variables after the test\n"
-            );
-
-            $this->compareGlobalStateSnapshotPart(
-                $before->superGlobalVariables(),
-                $after->superGlobalVariables(),
-                "--- Super-global variables before the test\n+++ Super-global variables after the test\n"
-            );
-        }
-
-        if ($this->backupStaticAttributes) {
-            $this->compareGlobalStateSnapshotPart(
-                $before->staticAttributes(),
-                $after->staticAttributes(),
-                "--- Static attributes before the test\n+++ Static attributes after the test\n"
-            );
-        }
-    }
-
-    /**
-     * @param  array  $before
-     * @param  array  $after
-     * @param  string $header
-     * @throws PHPUnit_Framework_RiskyTestError
-     */
-    private function compareGlobalStateSnapshotPart(array $before, array $after, $header)
-    {
-        if ($before != $after) {
-            $differ   = new Differ($header);
-            $exporter = new Exporter;
-
-            $diff = $differ->diff(
-                $exporter->export($before),
-                $exporter->export($after)
-            );
-
-            throw new PHPUnit_Framework_RiskyTestError(
-                $diff
-            );
-        }
-    }
-
-    /**
-     * @return Prophecy\Prophet
-     * @since Method available since Release 4.5.0
-     */
-    private function getProphet()
-    {
-        if ($this->prophet === null) {
-            $this->prophet = new Prophet;
-        }
-
-        return $this->prophet;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestFailure.php b/core/vendor/phpunit/phpunit/src/Framework/TestFailure.php
deleted file mode 100644
index 19604b1..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/TestFailure.php
+++ /dev/null
@@ -1,169 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestFailure collects a failed test together with the caught exception.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Framework_TestFailure
-{
-    /**
-     * @var string
-     */
-    private $testName;
-
-    /**
-     * @var PHPUnit_Framework_Test|null
-     */
-    protected $failedTest;
-
-    /**
-     * @var    Exception
-     */
-    protected $thrownException;
-
-    /**
-     * Constructs a TestFailure with the given test and exception.
-     *
-     * @param PHPUnit_Framework_Test $failedTest
-     * @param Exception              $thrownException
-     */
-    public function __construct(PHPUnit_Framework_Test $failedTest, Exception $thrownException)
-    {
-        if ($failedTest instanceof PHPUnit_Framework_SelfDescribing) {
-            $this->testName = $failedTest->toString();
-        } else {
-            $this->testName = get_class($failedTest);
-        }
-        if (!$failedTest instanceof PHPUnit_Framework_TestCase || !$failedTest->isInIsolation()) {
-            $this->failedTest = $failedTest;
-        }
-        $this->thrownException = $thrownException;
-    }
-
-    /**
-     * Returns a short description of the failure.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            '%s: %s',
-            $this->testName,
-            $this->thrownException->getMessage()
-        );
-    }
-
-    /**
-     * Returns a description for the thrown exception.
-     *
-     * @return string
-     * @since  Method available since Release 3.4.0
-     */
-    public function getExceptionAsString()
-    {
-        return self::exceptionToString($this->thrownException);
-    }
-
-    /**
-     * Returns a description for an exception.
-     *
-     * @param  Exception $e
-     * @return string
-     * @since  Method available since Release 3.2.0
-     */
-    public static function exceptionToString(Exception $e)
-    {
-        if ($e instanceof PHPUnit_Framework_SelfDescribing) {
-            $buffer = $e->toString();
-
-            if ($e instanceof PHPUnit_Framework_ExpectationFailedException && $e->getComparisonFailure()) {
-                $buffer = $buffer . $e->getComparisonFailure()->getDiff();
-            }
-
-            if (!empty($buffer)) {
-                $buffer = trim($buffer) . "\n";
-            }
-        } elseif ($e instanceof PHPUnit_Framework_Error) {
-            $buffer = $e->getMessage() . "\n";
-        } elseif ($e instanceof PHPUnit_Framework_ExceptionWrapper) {
-            $buffer = $e->getClassname() . ': ' . $e->getMessage() . "\n";
-        } else {
-            $buffer = get_class($e) . ': ' . $e->getMessage() . "\n";
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * Returns the name of the failing test (including data set, if any).
-     *
-     * @return string
-     * @since  Method available since Release 4.3.0
-     */
-    public function getTestName()
-    {
-        return $this->testName;
-    }
-
-    /**
-     * Returns the failing test.
-     *
-     * Note: The test object is not set when the test is executed in process
-     * isolation.
-     *
-     * @see PHPUnit_Framework_Exception
-     *
-     * @return PHPUnit_Framework_Test|null
-     */
-    public function failedTest()
-    {
-        return $this->failedTest;
-    }
-
-    /**
-     * Gets the thrown exception.
-     *
-     * @return Exception
-     */
-    public function thrownException()
-    {
-        return $this->thrownException;
-    }
-
-    /**
-     * Returns the exception's message.
-     *
-     * @return string
-     */
-    public function exceptionMessage()
-    {
-        return $this->thrownException()->getMessage();
-    }
-
-    /**
-     * Returns true if the thrown exception
-     * is of type AssertionFailedError.
-     *
-     * @return boolean
-     */
-    public function isFailure()
-    {
-        return ($this->thrownException() instanceof PHPUnit_Framework_AssertionFailedError);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestListener.php b/core/vendor/phpunit/phpunit/src/Framework/TestListener.php
deleted file mode 100644
index 8bb7dd3..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/TestListener.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A Listener for test progress.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Interface available since Release 2.0.0
- */
-interface PHPUnit_Framework_TestListener
-{
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time);
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time);
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time);
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time);
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time);
-
-    /**
-     * A test suite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite);
-
-    /**
-     * A test suite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite);
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test);
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time);
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestResult.php b/core/vendor/phpunit/phpunit/src/Framework/TestResult.php
deleted file mode 100644
index 6d882ad..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/TestResult.php
+++ /dev/null
@@ -1,1089 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestResult collects the results of executing a test case.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Framework_TestResult implements Countable
-{
-    /**
-     * @var array
-     */
-    protected $passed = array();
-
-    /**
-     * @var array
-     */
-    protected $errors = array();
-
-    /**
-     * @var array
-     */
-    protected $failures = array();
-
-    /**
-     * @var array
-     */
-    protected $notImplemented = array();
-
-    /**
-     * @var array
-     */
-    protected $risky = array();
-
-    /**
-     * @var array
-     */
-    protected $skipped = array();
-
-    /**
-     * @var array
-     */
-    protected $listeners = array();
-
-    /**
-     * @var integer
-     */
-    protected $runTests = 0;
-
-    /**
-     * @var float
-     */
-    protected $time = 0;
-
-    /**
-     * @var PHPUnit_Framework_TestSuite
-     */
-    protected $topTestSuite = null;
-
-    /**
-     * Code Coverage information.
-     *
-     * @var PHP_CodeCoverage
-     */
-    protected $codeCoverage;
-
-    /**
-     * @var boolean
-     */
-    protected $convertErrorsToExceptions = true;
-
-    /**
-     * @var boolean
-     */
-    protected $stop = false;
-
-    /**
-     * @var boolean
-     */
-    protected $stopOnError = false;
-
-    /**
-     * @var boolean
-     */
-    protected $stopOnFailure = false;
-
-    /**
-     * @var boolean
-     */
-    protected $beStrictAboutTestsThatDoNotTestAnything = false;
-
-    /**
-     * @var boolean
-     */
-    protected $beStrictAboutOutputDuringTests = false;
-
-    /**
-     * @var boolean
-     */
-    protected $beStrictAboutTestSize = false;
-
-    /**
-     * @var boolean
-     */
-    protected $beStrictAboutTodoAnnotatedTests = false;
-
-    /**
-     * @var boolean
-     */
-    protected $stopOnRisky = false;
-
-    /**
-     * @var boolean
-     */
-    protected $stopOnIncomplete = false;
-
-    /**
-     * @var boolean
-     */
-    protected $stopOnSkipped = false;
-
-    /**
-     * @var boolean
-     */
-    protected $lastTestFailed = false;
-
-    /**
-     * @var integer
-     */
-    protected $timeoutForSmallTests = 1;
-
-    /**
-     * @var integer
-     */
-    protected $timeoutForMediumTests = 10;
-
-    /**
-     * @var integer
-     */
-    protected $timeoutForLargeTests = 60;
-
-    /**
-     * Registers a TestListener.
-     *
-     * @param  PHPUnit_Framework_TestListener
-     */
-    public function addListener(PHPUnit_Framework_TestListener $listener)
-    {
-        $this->listeners[] = $listener;
-    }
-
-    /**
-     * Unregisters a TestListener.
-     *
-     * @param PHPUnit_Framework_TestListener $listener
-     */
-    public function removeListener(PHPUnit_Framework_TestListener $listener)
-    {
-        foreach ($this->listeners as $key => $_listener) {
-            if ($listener === $_listener) {
-                unset($this->listeners[$key]);
-            }
-        }
-    }
-
-    /**
-     * Flushes all flushable TestListeners.
-     *
-     * @since  Method available since Release 3.0.0
-     */
-    public function flushListeners()
-    {
-        foreach ($this->listeners as $listener) {
-            if ($listener instanceof PHPUnit_Util_Printer) {
-                $listener->flush();
-            }
-        }
-    }
-
-    /**
-     * Adds an error to the list of errors.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($e instanceof PHPUnit_Framework_RiskyTest) {
-            $this->risky[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod  = 'addRiskyTest';
-
-            if ($this->stopOnRisky) {
-                $this->stop();
-            }
-        } elseif ($e instanceof PHPUnit_Framework_IncompleteTest) {
-            $this->notImplemented[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod           = 'addIncompleteTest';
-
-            if ($this->stopOnIncomplete) {
-                $this->stop();
-            }
-        } elseif ($e instanceof PHPUnit_Framework_SkippedTest) {
-            $this->skipped[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod    = 'addSkippedTest';
-
-            if ($this->stopOnSkipped) {
-                $this->stop();
-            }
-        } else {
-            $this->errors[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod   = 'addError';
-
-            if ($this->stopOnError || $this->stopOnFailure) {
-                $this->stop();
-            }
-        }
-
-        foreach ($this->listeners as $listener) {
-            $listener->$notifyMethod($test, $e, $time);
-        }
-
-        $this->lastTestFailed = true;
-        $this->time          += $time;
-    }
-
-    /**
-     * Adds a failure to the list of failures.
-     * The passed in exception caused the failure.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        if ($e instanceof PHPUnit_Framework_RiskyTest ||
-            $e instanceof PHPUnit_Framework_OutputError) {
-            $this->risky[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod  = 'addRiskyTest';
-
-            if ($this->stopOnRisky) {
-                $this->stop();
-            }
-        } elseif ($e instanceof PHPUnit_Framework_IncompleteTest) {
-            $this->notImplemented[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod           = 'addIncompleteTest';
-
-            if ($this->stopOnIncomplete) {
-                $this->stop();
-            }
-        } elseif ($e instanceof PHPUnit_Framework_SkippedTest) {
-            $this->skipped[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod    = 'addSkippedTest';
-
-            if ($this->stopOnSkipped) {
-                $this->stop();
-            }
-        } else {
-            $this->failures[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod     = 'addFailure';
-
-            if ($this->stopOnFailure) {
-                $this->stop();
-            }
-        }
-
-        foreach ($this->listeners as $listener) {
-            $listener->$notifyMethod($test, $e, $time);
-        }
-
-        $this->lastTestFailed = true;
-        $this->time          += $time;
-    }
-
-    /**
-     * Informs the result that a testsuite will be started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        if ($this->topTestSuite === null) {
-            $this->topTestSuite = $suite;
-        }
-
-        foreach ($this->listeners as $listener) {
-            $listener->startTestSuite($suite);
-        }
-    }
-
-    /**
-     * Informs the result that a testsuite was completed.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        foreach ($this->listeners as $listener) {
-            $listener->endTestSuite($suite);
-        }
-    }
-
-    /**
-     * Informs the result that a test will be started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        $this->lastTestFailed = false;
-        $this->runTests      += count($test);
-
-        foreach ($this->listeners as $listener) {
-            $listener->startTest($test);
-        }
-    }
-
-    /**
-     * Informs the result that a test was completed.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        foreach ($this->listeners as $listener) {
-            $listener->endTest($test, $time);
-        }
-
-        if (!$this->lastTestFailed && $test instanceof PHPUnit_Framework_TestCase) {
-            $class  = get_class($test);
-            $key    =  $class . '::' . $test->getName();
-
-            $this->passed[$key] = array(
-              'result' => $test->getResult(),
-              'size'   => PHPUnit_Util_Test::getSize(
-                  $class,
-                  $test->getName(false)
-              )
-            );
-
-            $this->time += $time;
-        }
-    }
-
-    /**
-     * Returns true if no risky test occurred.
-     *
-     * @return boolean
-     * @since  Method available since Release 4.0.0
-     */
-    public function allHarmless()
-    {
-        return $this->riskyCount() == 0;
-    }
-
-    /**
-     * Gets the number of risky tests.
-     *
-     * @return integer
-     * @since  Method available since Release 4.0.0
-     */
-    public function riskyCount()
-    {
-        return count($this->risky);
-    }
-
-    /**
-     * Returns true if no incomplete test occurred.
-     *
-     * @return boolean
-     */
-    public function allCompletelyImplemented()
-    {
-        return $this->notImplementedCount() == 0;
-    }
-
-    /**
-     * Gets the number of incomplete tests.
-     *
-     * @return integer
-     */
-    public function notImplementedCount()
-    {
-        return count($this->notImplemented);
-    }
-
-    /**
-     * Returns an Enumeration for the risky tests.
-     *
-     * @return array
-     * @since  Method available since Release 4.0.0
-     */
-    public function risky()
-    {
-        return $this->risky;
-    }
-
-    /**
-     * Returns an Enumeration for the incomplete tests.
-     *
-     * @return array
-     */
-    public function notImplemented()
-    {
-        return $this->notImplemented;
-    }
-
-    /**
-     * Returns true if no test has been skipped.
-     *
-     * @return boolean
-     * @since  Method available since Release 3.0.0
-     */
-    public function noneSkipped()
-    {
-        return $this->skippedCount() == 0;
-    }
-
-    /**
-     * Gets the number of skipped tests.
-     *
-     * @return integer
-     * @since  Method available since Release 3.0.0
-     */
-    public function skippedCount()
-    {
-        return count($this->skipped);
-    }
-
-    /**
-     * Returns an Enumeration for the skipped tests.
-     *
-     * @return array
-     * @since  Method available since Release 3.0.0
-     */
-    public function skipped()
-    {
-        return $this->skipped;
-    }
-
-    /**
-     * Gets the number of detected errors.
-     *
-     * @return integer
-     */
-    public function errorCount()
-    {
-        return count($this->errors);
-    }
-
-    /**
-     * Returns an Enumeration for the errors.
-     *
-     * @return array
-     */
-    public function errors()
-    {
-        return $this->errors;
-    }
-
-    /**
-     * Gets the number of detected failures.
-     *
-     * @return integer
-     */
-    public function failureCount()
-    {
-        return count($this->failures);
-    }
-
-    /**
-     * Returns an Enumeration for the failures.
-     *
-     * @return array
-     */
-    public function failures()
-    {
-        return $this->failures;
-    }
-
-    /**
-     * Returns the names of the tests that have passed.
-     *
-     * @return array
-     * @since  Method available since Release 3.4.0
-     */
-    public function passed()
-    {
-        return $this->passed;
-    }
-
-    /**
-     * Returns the (top) test suite.
-     *
-     * @return PHPUnit_Framework_TestSuite
-     * @since  Method available since Release 3.0.0
-     */
-    public function topTestSuite()
-    {
-        return $this->topTestSuite;
-    }
-
-    /**
-     * Returns whether code coverage information should be collected.
-     *
-     * @return boolean If code coverage should be collected
-     * @since  Method available since Release 3.2.0
-     */
-    public function getCollectCodeCoverageInformation()
-    {
-        return $this->codeCoverage !== null;
-    }
-
-    /**
-     * Runs a TestCase.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function run(PHPUnit_Framework_Test $test)
-    {
-        PHPUnit_Framework_Assert::resetCount();
-
-        $error      = false;
-        $failure    = false;
-        $incomplete = false;
-        $risky      = false;
-        $skipped    = false;
-
-        $this->startTest($test);
-
-        $errorHandlerSet = false;
-
-        if ($this->convertErrorsToExceptions) {
-            $oldErrorHandler = set_error_handler(
-                array('PHPUnit_Util_ErrorHandler', 'handleError'),
-                E_ALL | E_STRICT
-            );
-
-            if ($oldErrorHandler === null) {
-                $errorHandlerSet = true;
-            } else {
-                restore_error_handler();
-            }
-        }
-
-        $collectCodeCoverage = $this->codeCoverage !== null &&
-                               !$test instanceof PHPUnit_Extensions_SeleniumTestCase &&
-                               !$test instanceof PHPUnit_Framework_Warning;
-
-        if ($collectCodeCoverage) {
-            // We need to blacklist test source files when no whitelist is used.
-            if (!$this->codeCoverage->filter()->hasWhitelist()) {
-                $classes = $this->getHierarchy(get_class($test), true);
-
-                foreach ($classes as $class) {
-                    $this->codeCoverage->filter()->addFileToBlacklist(
-                        $class->getFileName()
-                    );
-                }
-            }
-
-            $this->codeCoverage->start($test);
-        }
-
-        PHP_Timer::start();
-
-        try {
-            if (!$test instanceof PHPUnit_Framework_Warning &&
-                $this->beStrictAboutTestSize &&
-                extension_loaded('pcntl') && class_exists('PHP_Invoker')) {
-                switch ($test->getSize()) {
-                    case PHPUnit_Util_Test::SMALL: {
-                        $_timeout = $this->timeoutForSmallTests;
-                        }
-                    break;
-
-                    case PHPUnit_Util_Test::MEDIUM: {
-                        $_timeout = $this->timeoutForMediumTests;
-                        }
-                    break;
-
-                    case PHPUnit_Util_Test::LARGE: {
-                        $_timeout = $this->timeoutForLargeTests;
-                        }
-                    break;
-                }
-
-                $invoker = new PHP_Invoker;
-                $invoker->invoke(array($test, 'runBare'), array(), $_timeout);
-            } else {
-                $test->runBare();
-            }
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            $failure = true;
-
-            if ($e instanceof PHPUnit_Framework_RiskyTestError) {
-                $risky = true;
-            } elseif ($e instanceof PHPUnit_Framework_IncompleteTestError) {
-                $incomplete = true;
-            } elseif ($e instanceof PHPUnit_Framework_SkippedTestError) {
-                $skipped = true;
-            }
-        } catch (PHPUnit_Framework_Exception $e) {
-            $error = true;
-        } catch (Exception $e) {
-            $e = new PHPUnit_Framework_ExceptionWrapper($e);
-            $error = true;
-        }
-
-        $time = PHP_Timer::stop();
-        $test->addToAssertionCount(PHPUnit_Framework_Assert::getCount());
-
-        if ($this->beStrictAboutTestsThatDoNotTestAnything &&
-            $test->getNumAssertions() == 0) {
-            $risky = true;
-        }
-
-        if ($collectCodeCoverage) {
-            $append           = !$risky && !$incomplete && !$skipped;
-            $linesToBeCovered = array();
-            $linesToBeUsed    = array();
-
-            if ($append && $test instanceof PHPUnit_Framework_TestCase) {
-                $linesToBeCovered = PHPUnit_Util_Test::getLinesToBeCovered(
-                    get_class($test),
-                    $test->getName(false)
-                );
-
-                $linesToBeUsed = PHPUnit_Util_Test::getLinesToBeUsed(
-                    get_class($test),
-                    $test->getName(false)
-                );
-            }
-
-            try {
-                $this->codeCoverage->stop(
-                    $append,
-                    $linesToBeCovered,
-                    $linesToBeUsed
-                );
-            } catch (PHP_CodeCoverage_Exception_UnintentionallyCoveredCode $cce) {
-                $this->addFailure(
-                    $test,
-                    new PHPUnit_Framework_UnintentionallyCoveredCodeError(
-                        'This test executed code that is not listed as code to be covered or used:' .
-                        PHP_EOL . $cce->getMessage()
-                    ),
-                    $time
-                );
-            } catch (PHPUnit_Framework_InvalidCoversTargetException $cce) {
-                $this->addFailure(
-                    $test,
-                    new PHPUnit_Framework_InvalidCoversTargetError(
-                        $cce->getMessage()
-                    ),
-                    $time
-                );
-            } catch (PHP_CodeCoverage_Exception $cce) {
-                $error = true;
-
-                if (!isset($e)) {
-                    $e = $cce;
-                }
-            }
-        }
-
-        if ($errorHandlerSet === true) {
-            restore_error_handler();
-        }
-
-        if ($error === true) {
-            $this->addError($test, $e, $time);
-        } elseif ($failure === true) {
-            $this->addFailure($test, $e, $time);
-        } elseif ($this->beStrictAboutTestsThatDoNotTestAnything &&
-                 $test->getNumAssertions() == 0) {
-            $this->addFailure(
-                $test,
-                new PHPUnit_Framework_RiskyTestError(
-                    'This test did not perform any assertions'
-                ),
-                $time
-            );
-        } elseif ($this->beStrictAboutOutputDuringTests && $test->hasOutput()) {
-            $this->addFailure(
-                $test,
-                new PHPUnit_Framework_OutputError(
-                    sprintf(
-                        'This test printed output: %s',
-                        $test->getActualOutput()
-                    )
-                ),
-                $time
-            );
-        } elseif ($this->beStrictAboutTodoAnnotatedTests && $test instanceof PHPUnit_Framework_TestCase) {
-            $annotations = $test->getAnnotations();
-
-            if (isset($annotations['method']['todo'])) {
-                $this->addFailure(
-                    $test,
-                    new PHPUnit_Framework_RiskyTestError(
-                        'Test method is annotated with @todo'
-                    ),
-                    $time
-                );
-            }
-        }
-
-        $this->endTest($test, $time);
-    }
-
-    /**
-     * Gets the number of run tests.
-     *
-     * @return integer
-     */
-    public function count()
-    {
-        return $this->runTests;
-    }
-
-    /**
-     * Checks whether the test run should stop.
-     *
-     * @return boolean
-     */
-    public function shouldStop()
-    {
-        return $this->stop;
-    }
-
-    /**
-     * Marks that the test run should stop.
-     *
-     */
-    public function stop()
-    {
-        $this->stop = true;
-    }
-
-    /**
-     * Returns the PHP_CodeCoverage object.
-     *
-     * @return PHP_CodeCoverage
-     * @since  Method available since Release 3.5.0
-     */
-    public function getCodeCoverage()
-    {
-        return $this->codeCoverage;
-    }
-
-    /**
-     * Sets the PHP_CodeCoverage object.
-     *
-     * @param PHP_CodeCoverage $codeCoverage
-     * @since Method available since Release 3.6.0
-     */
-    public function setCodeCoverage(PHP_CodeCoverage $codeCoverage)
-    {
-        $this->codeCoverage = $codeCoverage;
-    }
-
-    /**
-     * Enables or disables the error-to-exception conversion.
-     *
-     * @param  boolean                     $flag
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.2.14
-     */
-    public function convertErrorsToExceptions($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->convertErrorsToExceptions = $flag;
-    }
-
-    /**
-     * Returns the error-to-exception conversion setting.
-     *
-     * @return boolean
-     * @since  Method available since Release 3.4.0
-     */
-    public function getConvertErrorsToExceptions()
-    {
-        return $this->convertErrorsToExceptions;
-    }
-
-    /**
-     * Enables or disables the stopping when an error occurs.
-     *
-     * @param  boolean                     $flag
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.5.0
-     */
-    public function stopOnError($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnError = $flag;
-    }
-
-    /**
-     * Enables or disables the stopping when a failure occurs.
-     *
-     * @param  boolean                     $flag
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.1.0
-     */
-    public function stopOnFailure($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnFailure = $flag;
-    }
-
-    /**
-     * @param  boolean                     $flag
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 4.0.0
-     */
-    public function beStrictAboutTestsThatDoNotTestAnything($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->beStrictAboutTestsThatDoNotTestAnything = $flag;
-    }
-
-    /**
-     * @return boolean
-     * @since  Method available since Release 4.0.0
-     */
-    public function isStrictAboutTestsThatDoNotTestAnything()
-    {
-        return $this->beStrictAboutTestsThatDoNotTestAnything;
-    }
-
-    /**
-     * @param  boolean                     $flag
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 4.0.0
-     */
-    public function beStrictAboutOutputDuringTests($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->beStrictAboutOutputDuringTests = $flag;
-    }
-
-    /**
-     * @return boolean
-     * @since  Method available since Release 4.0.0
-     */
-    public function isStrictAboutOutputDuringTests()
-    {
-        return $this->beStrictAboutOutputDuringTests;
-    }
-
-    /**
-     * @param  boolean                     $flag
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 4.0.0
-     */
-    public function beStrictAboutTestSize($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->beStrictAboutTestSize = $flag;
-    }
-
-    /**
-     * @return boolean
-     * @since  Method available since Release 4.0.0
-     */
-    public function isStrictAboutTestSize()
-    {
-        return $this->beStrictAboutTestSize;
-    }
-
-    /**
-     * @param  boolean                     $flag
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 4.2.0
-     */
-    public function beStrictAboutTodoAnnotatedTests($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->beStrictAboutTodoAnnotatedTests = $flag;
-    }
-
-    /**
-     * @return boolean
-     * @since  Method available since Release 4.2.0
-     */
-    public function isStrictAboutTodoAnnotatedTests()
-    {
-        return $this->beStrictAboutTodoAnnotatedTests;
-    }
-
-    /**
-     * Enables or disables the stopping for risky tests.
-     *
-     * @param  boolean                     $flag
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 4.0.0
-     */
-    public function stopOnRisky($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnRisky = $flag;
-    }
-
-    /**
-     * Enables or disables the stopping for incomplete tests.
-     *
-     * @param  boolean                     $flag
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.5.0
-     */
-    public function stopOnIncomplete($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnIncomplete = $flag;
-    }
-
-    /**
-     * Enables or disables the stopping for skipped tests.
-     *
-     * @param  boolean                     $flag
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.1.0
-     */
-    public function stopOnSkipped($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnSkipped = $flag;
-    }
-
-    /**
-     * Returns the time spent running the tests.
-     *
-     * @return float
-     */
-    public function time()
-    {
-        return $this->time;
-    }
-
-    /**
-     * Returns whether the entire test was successful or not.
-     *
-     * @return boolean
-     */
-    public function wasSuccessful()
-    {
-        return empty($this->errors) && empty($this->failures);
-    }
-
-    /**
-     * Sets the timeout for small tests.
-     *
-     * @param  integer                     $timeout
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.6.0
-     */
-    public function setTimeoutForSmallTests($timeout)
-    {
-        if (!is_integer($timeout)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        $this->timeoutForSmallTests = $timeout;
-    }
-
-    /**
-     * Sets the timeout for medium tests.
-     *
-     * @param  integer                     $timeout
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.6.0
-     */
-    public function setTimeoutForMediumTests($timeout)
-    {
-        if (!is_integer($timeout)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        $this->timeoutForMediumTests = $timeout;
-    }
-
-    /**
-     * Sets the timeout for large tests.
-     *
-     * @param  integer                     $timeout
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.6.0
-     */
-    public function setTimeoutForLargeTests($timeout)
-    {
-        if (!is_integer($timeout)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        $this->timeoutForLargeTests = $timeout;
-    }
-
-    /**
-     * Returns the class hierarchy for a given class.
-     *
-     * @param  string  $className
-     * @param  boolean $asReflectionObjects
-     * @return array
-     */
-    protected function getHierarchy($className, $asReflectionObjects = false)
-    {
-        if ($asReflectionObjects) {
-            $classes = array(new ReflectionClass($className));
-        } else {
-            $classes = array($className);
-        }
-
-        $done = false;
-
-        while (!$done) {
-            if ($asReflectionObjects) {
-                $class = new ReflectionClass(
-                    $classes[count($classes)-1]->getName()
-                );
-            } else {
-                $class = new ReflectionClass($classes[count($classes)-1]);
-            }
-
-            $parent = $class->getParentClass();
-
-            if ($parent !== false) {
-                if ($asReflectionObjects) {
-                    $classes[] = $parent;
-                } else {
-                    $classes[] = $parent->getName();
-                }
-            } else {
-                $done = true;
-            }
-        }
-
-        return $classes;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestSuite.php b/core/vendor/phpunit/phpunit/src/Framework/TestSuite.php
deleted file mode 100644
index 0998316..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/TestSuite.php
+++ /dev/null
@@ -1,994 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestSuite is a composite of Tests. It runs a collection of test cases.
- *
- * Here is an example using the dynamic test definition.
- *
- * <code>
- * <?php
- * $suite = new PHPUnit_Framework_TestSuite;
- * $suite->addTest(new MathTest('testPass'));
- * ?>
- * </code>
- *
- * Alternatively, a TestSuite can extract the tests to be run automatically.
- * To do so you pass a ReflectionClass instance for your
- * PHPUnit_Framework_TestCase class to the PHPUnit_Framework_TestSuite
- * constructor.
- *
- * <code>
- * <?php
- * $suite = new PHPUnit_Framework_TestSuite(
- *   new ReflectionClass('MathTest')
- * );
- * ?>
- * </code>
- *
- * This constructor creates a suite with all the methods starting with
- * "test" that take no arguments.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Framework_TestSuite implements PHPUnit_Framework_Test, PHPUnit_Framework_SelfDescribing, IteratorAggregate
-{
-    /**
-     * Enable or disable the backup and restoration of the $GLOBALS array.
-     *
-     * @var boolean
-     */
-    protected $backupGlobals = null;
-
-    /**
-     * Enable or disable the backup and restoration of static attributes.
-     *
-     * @var boolean
-     */
-    protected $backupStaticAttributes = null;
-
-    /**
-     * @var boolean
-     */
-    private $disallowChangesToGlobalState = null;
-
-    /**
-     * @var boolean
-     */
-    protected $runTestInSeparateProcess = false;
-
-    /**
-     * The name of the test suite.
-     *
-     * @var string
-     */
-    protected $name = '';
-
-    /**
-     * The test groups of the test suite.
-     *
-     * @var array
-     */
-    protected $groups = array();
-
-    /**
-     * The tests in the test suite.
-     *
-     * @var array
-     */
-    protected $tests = array();
-
-    /**
-     * The number of tests in the test suite.
-     *
-     * @var integer
-     */
-    protected $numTests = -1;
-
-    /**
-     * @var boolean
-     */
-    protected $testCase = false;
-
-    /**
-     * @var array
-     */
-    protected $foundClasses = array();
-
-    /**
-     * @var PHPUnit_Runner_Filter_Factory
-     */
-    private $iteratorFilter = null;
-
-    /**
-     * Constructs a new TestSuite:
-     *
-     *   - PHPUnit_Framework_TestSuite() constructs an empty TestSuite.
-     *
-     *   - PHPUnit_Framework_TestSuite(ReflectionClass) constructs a
-     *     TestSuite from the given class.
-     *
-     *   - PHPUnit_Framework_TestSuite(ReflectionClass, String)
-     *     constructs a TestSuite from the given class with the given
-     *     name.
-     *
-     *   - PHPUnit_Framework_TestSuite(String) either constructs a
-     *     TestSuite from the given class (if the passed string is the
-     *     name of an existing class) or constructs an empty TestSuite
-     *     with the given name.
-     *
-     * @param  mixed                       $theClass
-     * @param  string                      $name
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($theClass = '', $name = '')
-    {
-        $argumentsValid = false;
-
-        if (is_object($theClass) &&
-            $theClass instanceof ReflectionClass) {
-            $argumentsValid = true;
-        } elseif (is_string($theClass) &&
-                 $theClass !== '' &&
-                 class_exists($theClass, false)) {
-            $argumentsValid = true;
-
-            if ($name == '') {
-                $name = $theClass;
-            }
-
-            $theClass = new ReflectionClass($theClass);
-        } elseif (is_string($theClass)) {
-            $this->setName($theClass);
-
-            return;
-        }
-
-        if (!$argumentsValid) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        if (!$theClass->isSubclassOf('PHPUnit_Framework_TestCase')) {
-            throw new PHPUnit_Framework_Exception(
-                'Class "' . $theClass->name . '" does not extend PHPUnit_Framework_TestCase.'
-            );
-        }
-
-        if ($name != '') {
-            $this->setName($name);
-        } else {
-            $this->setName($theClass->getName());
-        }
-
-        $constructor = $theClass->getConstructor();
-
-        if ($constructor !== null &&
-            !$constructor->isPublic()) {
-            $this->addTest(
-                self::warning(
-                    sprintf(
-                        'Class "%s" has no public constructor.',
-                        $theClass->getName()
-                    )
-                )
-            );
-
-            return;
-        }
-
-        foreach ($theClass->getMethods() as $method) {
-            $this->addTestMethod($theClass, $method);
-        }
-
-        if (empty($this->tests)) {
-            $this->addTest(
-                self::warning(
-                    sprintf(
-                        'No tests found in class "%s".',
-                        $theClass->getName()
-                    )
-                )
-            );
-        }
-
-        $this->testCase = true;
-    }
-
-    /**
-     * Returns a string representation of the test suite.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->getName();
-    }
-
-    /**
-     * Adds a test to the suite.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param array                  $groups
-     */
-    public function addTest(PHPUnit_Framework_Test $test, $groups = array())
-    {
-        $class = new ReflectionClass($test);
-
-        if (!$class->isAbstract()) {
-            $this->tests[]  = $test;
-            $this->numTests = -1;
-
-            if ($test instanceof PHPUnit_Framework_TestSuite &&
-                empty($groups)) {
-                $groups = $test->getGroups();
-            }
-
-            if (empty($groups)) {
-                $groups = array('__nogroup__');
-            }
-
-            foreach ($groups as $group) {
-                if (!isset($this->groups[$group])) {
-                    $this->groups[$group] = array($test);
-                } else {
-                    $this->groups[$group][] = $test;
-                }
-            }
-        }
-    }
-
-    /**
-     * Adds the tests from the given class to the suite.
-     *
-     * @param  mixed                       $testClass
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function addTestSuite($testClass)
-    {
-        if (is_string($testClass) && class_exists($testClass)) {
-            $testClass = new ReflectionClass($testClass);
-        }
-
-        if (!is_object($testClass)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'class name or object'
-            );
-        }
-
-        if ($testClass instanceof PHPUnit_Framework_TestSuite) {
-            $this->addTest($testClass);
-        } elseif ($testClass instanceof ReflectionClass) {
-            $suiteMethod = false;
-
-            if (!$testClass->isAbstract()) {
-                if ($testClass->hasMethod(PHPUnit_Runner_BaseTestRunner::SUITE_METHODNAME)) {
-                    $method = $testClass->getMethod(
-                        PHPUnit_Runner_BaseTestRunner::SUITE_METHODNAME
-                    );
-
-                    if ($method->isStatic()) {
-                        $this->addTest(
-                            $method->invoke(null, $testClass->getName())
-                        );
-
-                        $suiteMethod = true;
-                    }
-                }
-            }
-
-            if (!$suiteMethod && !$testClass->isAbstract()) {
-                $this->addTest(new PHPUnit_Framework_TestSuite($testClass));
-            }
-        } else {
-            throw new PHPUnit_Framework_Exception;
-        }
-    }
-
-    /**
-     * Wraps both <code>addTest()</code> and <code>addTestSuite</code>
-     * as well as the separate import statements for the user's convenience.
-     *
-     * If the named file cannot be read or there are no new tests that can be
-     * added, a <code>PHPUnit_Framework_Warning</code> will be created instead,
-     * leaving the current test run untouched.
-     *
-     * @param  string                      $filename
-     * @param  array                       $phptOptions Array with ini settings for the php instance
-     *                                                  run, key being the name if the setting,
-     *                                                  value the ini value.
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 2.3.0
-     * @author Stefano F. Rausch <stefano@rausch-e.net>
-     */
-    public function addTestFile($filename, $phptOptions = array())
-    {
-        if (!is_string($filename)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (file_exists($filename) && substr($filename, -5) == '.phpt') {
-            $this->addTest(
-                new PHPUnit_Extensions_PhptTestCase($filename, $phptOptions)
-            );
-            return;
-        }
-
-        // The given file may contain further stub classes in addition to the
-        // test class itself. Figure out the actual test class.
-        $classes    = get_declared_classes();
-        $filename   = PHPUnit_Util_Fileloader::checkAndLoad($filename);
-        $newClasses = array_diff(get_declared_classes(), $classes);
-
-        // The diff is empty in case a parent class (with test methods) is added
-        // AFTER a child class that inherited from it. To account for that case,
-        // cumulate all discovered classes, so the parent class may be found in
-        // a later invocation.
-        if ($newClasses) {
-            // On the assumption that test classes are defined first in files,
-            // process discovered classes in approximate LIFO order, so as to
-            // avoid unnecessary reflection.
-            $this->foundClasses = array_merge($newClasses, $this->foundClasses);
-        }
-
-        // The test class's name must match the filename, either in full, or as
-        // a PEAR/PSR-0 prefixed shortname ('NameSpace_ShortName'), or as a
-        // PSR-1 local shortname ('NameSpace\ShortName'). The comparison must be
-        // anchored to prevent false-positive matches (e.g., 'OtherShortName').
-        $shortname = basename($filename, '.php');
-        $shortnameRegEx = '/(?:^|_|\\\\)' . preg_quote($shortname, '/') . '$/';
-
-        foreach ($this->foundClasses as $i => $className) {
-            if (preg_match($shortnameRegEx, $className)) {
-                $class = new ReflectionClass($className);
-
-                if ($class->getFileName() == $filename) {
-                    $newClasses = array($className);
-                    unset($this->foundClasses[$i]);
-                    break;
-                }
-            }
-        }
-
-        foreach ($newClasses as $className) {
-            $class = new ReflectionClass($className);
-
-            if (!$class->isAbstract()) {
-                if ($class->hasMethod(PHPUnit_Runner_BaseTestRunner::SUITE_METHODNAME)) {
-                    $method = $class->getMethod(
-                        PHPUnit_Runner_BaseTestRunner::SUITE_METHODNAME
-                    );
-
-                    if ($method->isStatic()) {
-                        $this->addTest($method->invoke(null, $className));
-                    }
-                } elseif ($class->implementsInterface('PHPUnit_Framework_Test')) {
-                    $this->addTestSuite($class);
-                }
-            }
-        }
-
-        $this->numTests = -1;
-    }
-
-    /**
-     * Wrapper for addTestFile() that adds multiple test files.
-     *
-     * @param  array|Iterator              $filenames
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 2.3.0
-     */
-    public function addTestFiles($filenames)
-    {
-        if (!(is_array($filenames) ||
-             (is_object($filenames) && $filenames instanceof Iterator))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'array or iterator'
-            );
-        }
-
-        foreach ($filenames as $filename) {
-            $this->addTestFile((string) $filename);
-        }
-    }
-
-    /**
-     * Counts the number of test cases that will be run by this test.
-     *
-     * @return integer
-     */
-    public function count()
-    {
-        $numTests = 0;
-
-        foreach ($this as $test) {
-            $numTests += count($test);
-        }
-
-        return $numTests;
-    }
-
-    /**
-     * @param  ReflectionClass             $theClass
-     * @param  string                      $name
-     * @return PHPUnit_Framework_Test
-     * @throws PHPUnit_Framework_Exception
-     */
-    public static function createTest(ReflectionClass $theClass, $name)
-    {
-        $className = $theClass->getName();
-
-        if (!$theClass->isInstantiable()) {
-            return self::warning(
-                sprintf('Cannot instantiate class "%s".', $className)
-            );
-        }
-
-        $backupSettings = PHPUnit_Util_Test::getBackupSettings(
-            $className,
-            $name
-        );
-
-        $preserveGlobalState = PHPUnit_Util_Test::getPreserveGlobalStateSettings(
-            $className,
-            $name
-        );
-
-        $runTestInSeparateProcess = PHPUnit_Util_Test::getProcessIsolationSettings(
-            $className,
-            $name
-        );
-
-        $constructor = $theClass->getConstructor();
-
-        if ($constructor !== null) {
-            $parameters = $constructor->getParameters();
-
-            // TestCase() or TestCase($name)
-            if (count($parameters) < 2) {
-                $test = new $className;
-            } // TestCase($name, $data)
-            else {
-                try {
-                    $data = PHPUnit_Util_Test::getProvidedData(
-                        $className,
-                        $name
-                    );
-                } catch (Exception $e) {
-                    if (!($e instanceof PHPUnit_Framework_SkippedTestError || $e instanceof PHPUnit_Framework_IncompleteTestError)) {
-                        $message = sprintf(
-                            'The data provider specified for %s::%s is invalid.',
-                            $className,
-                            $name
-                        );
-
-                        $_message = $e->getMessage();
-
-                        if (!empty($_message)) {
-                            $message .= "\n" . $_message;
-                        }
-
-                        $data = self::warning($message);
-                    } elseif ($e instanceof PHPUnit_Framework_SkippedTestError) {
-                        $message = sprintf(
-                            'Test for %s::%s skipped by data provider',
-                            $className,
-                            $name
-                        );
-
-                        $_message = $e->getMessage();
-
-                        if (!empty($_message)) {
-                            $message .= "\n" . $_message;
-                        }
-
-                        $data = self::skipTest($className, $name, $message);
-                    } elseif ($e instanceof PHPUnit_Framework_IncompleteTestError) {
-                        $message = sprintf(
-                            'Test for %s::%s marked incomplete by data provider',
-                            $className,
-                            $name
-                        );
-
-                        $_message = $e->getMessage();
-
-                        if (!empty($_message)) {
-                            $message .= "\n" . $_message;
-                        }
-
-                        $data = self::incompleteTest($className, $name, $message);
-                    }
-                }
-
-                // Test method with @dataProvider.
-                if (isset($data)) {
-                    $test = new PHPUnit_Framework_TestSuite_DataProvider(
-                        $className . '::' . $name
-                    );
-
-                    if (empty($data)) {
-                        $data = self::warning(
-                            sprintf(
-                                'No tests found in suite "%s".',
-                                $test->getName()
-                            )
-                        );
-                    }
-
-                    $groups = PHPUnit_Util_Test::getGroups($className, $name);
-
-                    if ($data instanceof PHPUnit_Framework_Warning ||
-                        $data instanceof PHPUnit_Framework_SkippedTestCase ||
-                        $data instanceof PHPUnit_Framework_IncompleteTestCase) {
-                        $test->addTest($data, $groups);
-                    } else {
-                        foreach ($data as $_dataName => $_data) {
-                            $_test = new $className($name, $_data, $_dataName);
-
-                            if ($runTestInSeparateProcess) {
-                                $_test->setRunTestInSeparateProcess(true);
-
-                                if ($preserveGlobalState !== null) {
-                                    $_test->setPreserveGlobalState($preserveGlobalState);
-                                }
-                            }
-
-                            if ($backupSettings['backupGlobals'] !== null) {
-                                $_test->setBackupGlobals(
-                                    $backupSettings['backupGlobals']
-                                );
-                            }
-
-                            if ($backupSettings['backupStaticAttributes'] !== null) {
-                                $_test->setBackupStaticAttributes(
-                                    $backupSettings['backupStaticAttributes']
-                                );
-                            }
-
-                            $test->addTest($_test, $groups);
-                        }
-                    }
-                } else {
-                    $test = new $className;
-                }
-            }
-        }
-
-        if (!isset($test)) {
-            throw new PHPUnit_Framework_Exception('No valid test provided.');
-        }
-
-        if ($test instanceof PHPUnit_Framework_TestCase) {
-            $test->setName($name);
-
-            if ($runTestInSeparateProcess) {
-                $test->setRunTestInSeparateProcess(true);
-
-                if ($preserveGlobalState !== null) {
-                    $test->setPreserveGlobalState($preserveGlobalState);
-                }
-            }
-
-            if ($backupSettings['backupGlobals'] !== null) {
-                $test->setBackupGlobals($backupSettings['backupGlobals']);
-            }
-
-            if ($backupSettings['backupStaticAttributes'] !== null) {
-                $test->setBackupStaticAttributes(
-                    $backupSettings['backupStaticAttributes']
-                );
-            }
-        }
-
-        return $test;
-    }
-
-    /**
-     * Creates a default TestResult object.
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    protected function createResult()
-    {
-        return new PHPUnit_Framework_TestResult;
-    }
-
-    /**
-     * Returns the name of the suite.
-     *
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * Returns the test groups of the suite.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.0
-     */
-    public function getGroups()
-    {
-        return array_keys($this->groups);
-    }
-
-    public function getGroupDetails()
-    {
-        return $this->groups;
-    }
-
-    /**
-     * Set tests groups of the test case
-     *
-     * @param array $groups
-     * @since Method available since Release 4.0.0
-     */
-    public function setGroupDetails(array $groups)
-    {
-        $this->groups = $groups;
-    }
-
-    /**
-     * Runs the tests and collects their result in a TestResult.
-     *
-     * @param PHPUnit_Framework_TestResult $result
-     * @return PHPUnit_Framework_TestResult
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        if ($result === null) {
-            $result = $this->createResult();
-        }
-
-        if (count($this) == 0) {
-            return $result;
-        }
-
-        $hookMethods = PHPUnit_Util_Test::getHookMethods($this->name);
-
-        $result->startTestSuite($this);
-
-        try {
-            $this->setUp();
-
-            foreach ($hookMethods['beforeClass'] as $beforeClassMethod) {
-                if ($this->testCase === true &&
-                    class_exists($this->name, false) &&
-                    method_exists($this->name, $beforeClassMethod)) {
-                    if ($missingRequirements = PHPUnit_Util_Test::getMissingRequirements($this->name, $beforeClassMethod)) {
-                        $this->markTestSuiteSkipped(implode(PHP_EOL, $missingRequirements));
-                    }
-
-                    call_user_func(array($this->name, $beforeClassMethod));
-                }
-            }
-        } catch (PHPUnit_Framework_SkippedTestSuiteError $e) {
-            $numTests = count($this);
-
-            for ($i = 0; $i < $numTests; $i++) {
-                $result->startTest($this);
-                $result->addFailure($this, $e, 0);
-                $result->endTest($this, 0);
-            }
-
-            $this->tearDown();
-            $result->endTestSuite($this);
-
-            return $result;
-        } catch (Exception $e) {
-            $numTests = count($this);
-
-            for ($i = 0; $i < $numTests; $i++) {
-                $result->startTest($this);
-                $result->addError($this, $e, 0);
-                $result->endTest($this, 0);
-            }
-
-            $this->tearDown();
-            $result->endTestSuite($this);
-
-            return $result;
-        }
-
-        foreach ($this as $test) {
-            if ($result->shouldStop()) {
-                break;
-            }
-
-            if ($test instanceof PHPUnit_Framework_TestCase ||
-                $test instanceof PHPUnit_Framework_TestSuite) {
-                $test->setDisallowChangesToGlobalState($this->disallowChangesToGlobalState);
-                $test->setBackupGlobals($this->backupGlobals);
-                $test->setBackupStaticAttributes($this->backupStaticAttributes);
-                $test->setRunTestInSeparateProcess($this->runTestInSeparateProcess);
-            }
-
-            $test->run($result);
-        }
-
-        foreach ($hookMethods['afterClass'] as $afterClassMethod) {
-            if ($this->testCase === true && class_exists($this->name, false) && method_exists($this->name, $afterClassMethod)) {
-                call_user_func(array($this->name, $afterClassMethod));
-            }
-        }
-
-        $this->tearDown();
-
-        $result->endTestSuite($this);
-
-        return $result;
-    }
-
-    /**
-     * @param  boolean                     $runTestInSeparateProcess
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.7.0
-     */
-    public function setRunTestInSeparateProcess($runTestInSeparateProcess)
-    {
-        if (is_bool($runTestInSeparateProcess)) {
-            $this->runTestInSeparateProcess = $runTestInSeparateProcess;
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-    }
-
-    /**
-     * Runs a test.
-     *
-     * @deprecated
-     * @param PHPUnit_Framework_Test       $test
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    public function runTest(PHPUnit_Framework_Test $test, PHPUnit_Framework_TestResult $result)
-    {
-        $test->run($result);
-    }
-
-    /**
-     * Sets the name of the suite.
-     *
-     * @param  string
-     */
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-
-    /**
-     * Returns the test at the given index.
-     *
-     * @param  integer
-     * @return PHPUnit_Framework_Test
-     */
-    public function testAt($index)
-    {
-        if (isset($this->tests[$index])) {
-            return $this->tests[$index];
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Returns the tests as an enumeration.
-     *
-     * @return array
-     */
-    public function tests()
-    {
-        return $this->tests;
-    }
-
-    /**
-     * Set tests of the test suite
-     *
-     * @param array $tests
-     * @since Method available since Release 4.0.0
-     */
-    public function setTests(array $tests)
-    {
-        $this->tests = $tests;
-    }
-
-    /**
-     * Mark the test suite as skipped.
-     *
-     * @param  string                                  $message
-     * @throws PHPUnit_Framework_SkippedTestSuiteError
-     * @since  Method available since Release 3.0.0
-     */
-    public function markTestSuiteSkipped($message = '')
-    {
-        throw new PHPUnit_Framework_SkippedTestSuiteError($message);
-    }
-
-    /**
-     * @param ReflectionClass  $class
-     * @param ReflectionMethod $method
-     */
-    protected function addTestMethod(ReflectionClass $class, ReflectionMethod $method)
-    {
-        if (!$this->isTestMethod($method)) {
-            return;
-        }
-
-        $name = $method->getName();
-
-        if (!$method->isPublic()) {
-            $this->addTest(
-                self::warning(
-                    sprintf(
-                        'Test method "%s" in test class "%s" is not public.',
-                        $name,
-                        $class->getName()
-                    )
-                )
-            );
-
-            return;
-        }
-
-        $test = self::createTest($class, $name);
-
-        if ($test instanceof PHPUnit_Framework_TestCase ||
-            $test instanceof PHPUnit_Framework_TestSuite_DataProvider) {
-            $test->setDependencies(
-                PHPUnit_Util_Test::getDependencies($class->getName(), $name)
-            );
-        }
-
-        $this->addTest(
-            $test,
-            PHPUnit_Util_Test::getGroups($class->getName(), $name)
-        );
-    }
-
-    /**
-     * @param  ReflectionMethod $method
-     * @return boolean
-     */
-    public static function isTestMethod(ReflectionMethod $method)
-    {
-        if (strpos($method->name, 'test') === 0) {
-            return true;
-        }
-
-        // @scenario on TestCase::testMethod()
-        // @test     on TestCase::testMethod()
-        $doc_comment = $method->getDocComment();
-
-        return strpos($doc_comment, '@test')     !== false ||
-               strpos($doc_comment, '@scenario') !== false;
-    }
-
-    /**
-     * @param  string                    $message
-     * @return PHPUnit_Framework_Warning
-     */
-    protected static function warning($message)
-    {
-        return new PHPUnit_Framework_Warning($message);
-    }
-
-    /**
-     * @param  string $class
-     * @param  string $methodName
-     * @param  string $message
-     * @return PHPUnit_Framework_SkippedTestCase
-     * @since  Method available since Release 4.3.0
-     */
-    protected static function skipTest($class, $methodName, $message)
-    {
-        return new PHPUnit_Framework_SkippedTestCase($class, $methodName, $message);
-    }
-
-    /**
-     * @param  string $class
-     * @param  string $methodName
-     * @param  string $message
-     * @return PHPUnit_Framework_IncompleteTestCase
-     * @since  Method available since Release 4.3.0
-     */
-    protected static function incompleteTest($class, $methodName, $message)
-    {
-        return new PHPUnit_Framework_IncompleteTestCase($class, $methodName, $message);
-    }
-
-    /**
-     * @param boolean $disallowChangesToGlobalState
-     * @since  Method available since Release 4.6.0
-     */
-    public function setDisallowChangesToGlobalState($disallowChangesToGlobalState)
-    {
-        if (is_null($this->disallowChangesToGlobalState) && is_bool($disallowChangesToGlobalState)) {
-            $this->disallowChangesToGlobalState = $disallowChangesToGlobalState;
-        }
-    }
-
-    /**
-     * @param boolean $backupGlobals
-     * @since  Method available since Release 3.3.0
-     */
-    public function setBackupGlobals($backupGlobals)
-    {
-        if (is_null($this->backupGlobals) && is_bool($backupGlobals)) {
-            $this->backupGlobals = $backupGlobals;
-        }
-    }
-
-    /**
-     * @param boolean $backupStaticAttributes
-     * @since  Method available since Release 3.4.0
-     */
-    public function setBackupStaticAttributes($backupStaticAttributes)
-    {
-        if (is_null($this->backupStaticAttributes) &&
-            is_bool($backupStaticAttributes)) {
-            $this->backupStaticAttributes = $backupStaticAttributes;
-        }
-    }
-
-    /**
-     * Returns an iterator for this test suite.
-     *
-     * @return RecursiveIteratorIterator
-     * @since  Method available since Release 3.1.0
-     */
-    public function getIterator()
-    {
-        $iterator = new PHPUnit_Util_TestSuiteIterator($this);
-
-        if ($this->iteratorFilter !== null) {
-            $iterator = $this->iteratorFilter->factory($iterator, $this);
-        }
-
-        return $iterator;
-    }
-
-    public function injectFilter(PHPUnit_Runner_Filter_Factory $filter)
-    {
-        $this->iteratorFilter = $filter;
-        foreach ($this as $test) {
-            if ($test instanceof PHPUnit_Framework_TestSuite) {
-                $test->injectFilter($filter);
-            }
-        }
-    }
-
-    /**
-     * Template Method that is called before the tests
-     * of this test suite are run.
-     *
-     * @since  Method available since Release 3.1.0
-     */
-    protected function setUp()
-    {
-    }
-
-    /**
-     * Template Method that is called after the tests
-     * of this test suite have finished running.
-     *
-     * @since  Method available since Release 3.1.0
-     */
-    protected function tearDown()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php b/core/vendor/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php
deleted file mode 100644
index d5bfcf1..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @subpackage Framework_TestSuite
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.4.0
- */
-class PHPUnit_Framework_TestSuite_DataProvider extends PHPUnit_Framework_TestSuite
-{
-    /**
-     * Sets the dependencies of a TestCase.
-     *
-     * @param array $dependencies
-     */
-    public function setDependencies(array $dependencies)
-    {
-        foreach ($this->tests as $test) {
-            $test->setDependencies($dependencies);
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php b/core/vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php
deleted file mode 100644
index 32b0c06..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a test test that unintentionally covers code.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Framework_UnintentionallyCoveredCodeError extends PHPUnit_Framework_RiskyTestError
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Warning.php b/core/vendor/phpunit/phpunit/src/Framework/Warning.php
deleted file mode 100644
index 96e26d0..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Warning.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A warning.
- *
- * @package    PHPUnit
- * @subpackage Framework
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Framework_Warning extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var string
-     */
-    protected $message = '';
-
-    /**
-     * @var boolean
-     */
-    protected $backupGlobals = false;
-
-    /**
-     * @var boolean
-     */
-    protected $backupStaticAttributes = false;
-
-    /**
-     * @var boolean
-     */
-    protected $runTestInSeparateProcess = false;
-
-    /**
-     * @var boolean
-     */
-    protected $useErrorHandler = false;
-
-    /**
-     * @param string $message
-     */
-    public function __construct($message = '')
-    {
-        $this->message = $message;
-        parent::__construct('Warning');
-    }
-
-    /**
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function runTest()
-    {
-        $this->fail($this->message);
-    }
-
-    /**
-     * @return string
-     * @since  Method available since Release 3.0.0
-     */
-    public function getMessage()
-    {
-        return $this->message;
-    }
-
-    /**
-     * Returns a string representation of the test case.
-     *
-     * @return string
-     * @since  Method available since Release 3.4.0
-     */
-    public function toString()
-    {
-        return 'Warning';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php b/core/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php
deleted file mode 100644
index 5fa766e..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for all test runners.
- *
- * @package    PHPUnit
- * @subpackage Runner
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-abstract class PHPUnit_Runner_BaseTestRunner
-{
-    const STATUS_PASSED     = 0;
-    const STATUS_SKIPPED    = 1;
-    const STATUS_INCOMPLETE = 2;
-    const STATUS_FAILURE    = 3;
-    const STATUS_ERROR      = 4;
-    const STATUS_RISKY      = 5;
-    const SUITE_METHODNAME  = 'suite';
-
-    /**
-     * Returns the loader to be used.
-     *
-     * @return PHPUnit_Runner_TestSuiteLoader
-     */
-    public function getLoader()
-    {
-        return new PHPUnit_Runner_StandardTestSuiteLoader;
-    }
-
-    /**
-     * Returns the Test corresponding to the given suite.
-     * This is a template method, subclasses override
-     * the runFailed() and clearStatus() methods.
-     *
-     * @param  string                 $suiteClassName
-     * @param  string                 $suiteClassFile
-     * @param  mixed                  $suffixes
-     * @return PHPUnit_Framework_Test
-     */
-    public function getTest($suiteClassName, $suiteClassFile = '', $suffixes = '')
-    {
-        if (is_dir($suiteClassName) &&
-            !is_file($suiteClassName . '.php') && empty($suiteClassFile)) {
-            $facade = new File_Iterator_Facade;
-            $files  = $facade->getFilesAsArray(
-                $suiteClassName,
-                $suffixes
-            );
-
-            $suite = new PHPUnit_Framework_TestSuite($suiteClassName);
-            $suite->addTestFiles($files);
-
-            return $suite;
-        }
-
-        try {
-            $testClass = $this->loadSuiteClass(
-                $suiteClassName,
-                $suiteClassFile
-            );
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->runFailed($e->getMessage());
-
-            return;
-        }
-
-        try {
-            $suiteMethod = $testClass->getMethod(self::SUITE_METHODNAME);
-
-            if (!$suiteMethod->isStatic()) {
-                $this->runFailed(
-                    'suite() method must be static.'
-                );
-
-                return;
-            }
-
-            try {
-                $test = $suiteMethod->invoke(null, $testClass->getName());
-            } catch (ReflectionException $e) {
-                $this->runFailed(
-                    sprintf(
-                        "Failed to invoke suite() method.\n%s",
-                        $e->getMessage()
-                    )
-                );
-
-                return;
-            }
-        } catch (ReflectionException $e) {
-            try {
-                $test = new PHPUnit_Framework_TestSuite($testClass);
-            } catch (PHPUnit_Framework_Exception $e) {
-                $test = new PHPUnit_Framework_TestSuite;
-                $test->setName($suiteClassName);
-            }
-        }
-
-        $this->clearStatus();
-
-        return $test;
-    }
-
-    /**
-     * Returns the loaded ReflectionClass for a suite name.
-     *
-     * @param  string          $suiteClassName
-     * @param  string          $suiteClassFile
-     * @return ReflectionClass
-     */
-    protected function loadSuiteClass($suiteClassName, $suiteClassFile = '')
-    {
-        $loader = $this->getLoader();
-
-        return $loader->load($suiteClassName, $suiteClassFile);
-    }
-
-    /**
-     * Clears the status message.
-     *
-     */
-    protected function clearStatus()
-    {
-    }
-
-    /**
-     * Override to define how to handle a failed loading of
-     * a test suite.
-     *
-     * @param string $message
-     */
-    abstract protected function runFailed($message);
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Exception.php b/core/vendor/phpunit/phpunit/src/Runner/Exception.php
deleted file mode 100644
index b353aa0..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/Exception.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @subpackage Runner
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Runner_Exception extends RuntimeException implements PHPUnit_Exception
-{
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php b/core/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php
deleted file mode 100644
index c3f7730..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @subpackage Runner
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Runner_Filter_Factory
-{
-    /**
-     * @var array
-     */
-    private $filters = array();
-
-    /**
-     * @param ReflectionClass $filter
-     * @param mixed           $args
-     */
-    public function addFilter(ReflectionClass $filter, $args)
-    {
-        if (!$filter->isSubclassOf('RecursiveFilterIterator')) {
-            throw new InvalidArgumentException(
-                sprintf(
-                    'Class "%s" does not extend RecursiveFilterIterator',
-                    $filter->name
-                )
-            );
-        }
-
-        $this->filters[] = array($filter, $args);
-    }
-
-    /**
-     * @return FilterIterator
-     */
-    public function factory(Iterator $iterator, PHPUnit_Framework_TestSuite $suite)
-    {
-        foreach ($this->filters as $filter) {
-            list($class, $args) = $filter;
-            $iterator = $class->newInstance($iterator, $args, $suite);
-        }
-
-        return $iterator;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Filter/Group.php b/core/vendor/phpunit/phpunit/src/Runner/Filter/Group.php
deleted file mode 100644
index 02fc291..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/Filter/Group.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @subpackage Runner
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-abstract class PHPUnit_Runner_Filter_GroupFilterIterator extends RecursiveFilterIterator
-{
-    /**
-     * @var array
-     */
-    protected $groupTests = array();
-
-    /**
-     * @param RecursiveIterator           $iterator
-     * @param array                       $groups
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function __construct(RecursiveIterator $iterator, array $groups, PHPUnit_Framework_TestSuite $suite)
-    {
-        parent::__construct($iterator);
-
-        foreach ($suite->getGroupDetails() as $group => $tests) {
-            if (in_array($group, $groups)) {
-                $testHashes = array_map(
-                    function ($test) {
-                        return spl_object_hash($test);
-                    },
-                    $tests
-                );
-
-                $this->groupTests = array_merge($this->groupTests, $testHashes);
-            }
-        }
-    }
-
-    /**
-     * @return boolean
-     */
-    public function accept()
-    {
-        $test = $this->getInnerIterator()->current();
-
-        if ($test instanceof PHPUnit_Framework_TestSuite) {
-            return true;
-        }
-
-        return $this->doAccept(spl_object_hash($test));
-    }
-
-    abstract protected function doAccept($hash);
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php b/core/vendor/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php
deleted file mode 100644
index 232c277..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @subpackage Runner
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Runner_Filter_Group_Exclude extends PHPUnit_Runner_Filter_GroupFilterIterator
-{
-    protected function doAccept($hash)
-    {
-        return !in_array($hash, $this->groupTests);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Filter/Group/Include.php b/core/vendor/phpunit/phpunit/src/Runner/Filter/Group/Include.php
deleted file mode 100644
index a1ad691..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/Filter/Group/Include.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @subpackage Runner
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Runner_Filter_Group_Include extends PHPUnit_Runner_Filter_GroupFilterIterator
-{
-    protected function doAccept($hash)
-    {
-        return in_array($hash, $this->groupTests);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Filter/Test.php b/core/vendor/phpunit/phpunit/src/Runner/Filter/Test.php
deleted file mode 100644
index 2701f21..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/Filter/Test.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @subpackage Runner
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Runner_Filter_Test extends RecursiveFilterIterator
-{
-    /**
-     * @var string
-     */
-    protected $filter = null;
-
-    /**
-     * @var integer
-     */
-    protected $filterMin;
-    /**
-     * @var integer
-     */
-    protected $filterMax;
-
-    /**
-     * @param RecursiveIterator $iterator
-     * @param string            $filter
-     */
-    public function __construct(RecursiveIterator $iterator, $filter)
-    {
-        parent::__construct($iterator);
-        $this->setFilter($filter);
-    }
-
-    /**
-     * @param string $filter
-     */
-    protected function setFilter($filter)
-    {
-        if (PHPUnit_Util_Regex::pregMatchSafe($filter, '') === false) {
-            // Handles:
-            //  * testAssertEqualsSucceeds#4
-            //  * testAssertEqualsSucceeds#4-8
-            if (preg_match('/^(.*?)#(\d+)(?:-(\d+))?$/', $filter, $matches)) {
-                if (isset($matches[3]) && $matches[2] < $matches[3]) {
-                    $filter = sprintf(
-                        '%s.*with data set #(\d+)$',
-                        $matches[1]
-                    );
-
-                    $this->filterMin = $matches[2];
-                    $this->filterMax = $matches[3];
-                } else {
-                    $filter = sprintf(
-                        '%s.*with data set #%s$',
-                        $matches[1],
-                        $matches[2]
-                    );
-                }
-            } // Handles:
-            //  * testDetermineJsonError@JSON_ERROR_NONE
-            //  * testDetermineJsonError@JSON.*
-            elseif (preg_match('/^(.*?)@(.+)$/', $filter, $matches)) {
-                $filter = sprintf(
-                    '%s.*with data set "%s"$',
-                    $matches[1],
-                    $matches[2]
-                );
-            }
-
-            // Escape delimiters in regular expression. Do NOT use preg_quote,
-            // to keep magic characters.
-            $filter = sprintf('/%s/', str_replace(
-                '/',
-                '\\/',
-                $filter
-            ));
-        }
-
-        $this->filter = $filter;
-    }
-
-    /**
-     * @return boolean
-     */
-    public function accept()
-    {
-        $test = $this->getInnerIterator()->current();
-
-        if ($test instanceof PHPUnit_Framework_TestSuite) {
-            return true;
-        }
-
-        $tmp = PHPUnit_Util_Test::describe($test, false);
-
-        if ($tmp[0] != '') {
-            $name = implode('::', $tmp);
-        } else {
-            $name = $tmp[1];
-        }
-
-        $accepted = preg_match($this->filter, $name, $matches);
-
-        if ($accepted && isset($this->filterMax)) {
-            $set = end($matches);
-            $accepted = $set >= $this->filterMin && $set <= $this->filterMax;
-        }
-
-        return $accepted;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php b/core/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php
deleted file mode 100644
index 04d22c3..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The standard test suite loader.
- *
- * @package    PHPUnit
- * @subpackage Runner
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Runner_StandardTestSuiteLoader implements PHPUnit_Runner_TestSuiteLoader
-{
-    /**
-     * @param  string                      $suiteClassName
-     * @param  string                      $suiteClassFile
-     * @return ReflectionClass
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function load($suiteClassName, $suiteClassFile = '')
-    {
-        $suiteClassName = str_replace('.php', '', $suiteClassName);
-
-        if (empty($suiteClassFile)) {
-            $suiteClassFile = PHPUnit_Util_Filesystem::classNameToFilename(
-                $suiteClassName
-            );
-        }
-
-        if (!class_exists($suiteClassName, false)) {
-            $loadedClasses = get_declared_classes();
-
-            $filename = PHPUnit_Util_Fileloader::checkAndLoad($suiteClassFile);
-
-            $loadedClasses = array_values(
-                array_diff(get_declared_classes(), $loadedClasses)
-            );
-        }
-
-        if (!class_exists($suiteClassName, false) && !empty($loadedClasses)) {
-            $offset = 0 - strlen($suiteClassName);
-
-            foreach ($loadedClasses as $loadedClass) {
-                $class = new ReflectionClass($loadedClass);
-                if (substr($loadedClass, $offset) === $suiteClassName &&
-                    $class->getFileName() == $filename) {
-                    $suiteClassName = $loadedClass;
-                    break;
-                }
-            }
-        }
-
-        if (!class_exists($suiteClassName, false) && !empty($loadedClasses)) {
-            $testCaseClass = 'PHPUnit_Framework_TestCase';
-
-            foreach ($loadedClasses as $loadedClass) {
-                $class     = new ReflectionClass($loadedClass);
-                $classFile = $class->getFileName();
-
-                if ($class->isSubclassOf($testCaseClass) &&
-                    !$class->isAbstract()) {
-                    $suiteClassName = $loadedClass;
-                    $testCaseClass  = $loadedClass;
-
-                    if ($classFile == realpath($suiteClassFile)) {
-                        break;
-                    }
-                }
-
-                if ($class->hasMethod('suite')) {
-                    $method = $class->getMethod('suite');
-
-                    if (!$method->isAbstract() &&
-                        $method->isPublic() &&
-                        $method->isStatic()) {
-                        $suiteClassName = $loadedClass;
-
-                        if ($classFile == realpath($suiteClassFile)) {
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-
-        if (class_exists($suiteClassName, false)) {
-            $class = new ReflectionClass($suiteClassName);
-
-            if ($class->getFileName() == realpath($suiteClassFile)) {
-                return $class;
-            }
-        }
-
-        throw new PHPUnit_Framework_Exception(
-            sprintf(
-                "Class '%s' could not be found in '%s'.",
-                $suiteClassName,
-                $suiteClassFile
-            )
-        );
-    }
-
-    /**
-     * @param  ReflectionClass $aClass
-     * @return ReflectionClass
-     */
-    public function reload(ReflectionClass $aClass)
-    {
-        return $aClass;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php b/core/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php
deleted file mode 100644
index c049e7e..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An interface to define how a test suite should be loaded.
- *
- * @package    PHPUnit
- * @subpackage Runner
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Interface available since Release 2.0.0
- */
-interface PHPUnit_Runner_TestSuiteLoader
-{
-    /**
-     * @param  string          $suiteClassName
-     * @param  string          $suiteClassFile
-     * @return ReflectionClass
-     */
-    public function load($suiteClassName, $suiteClassFile = '');
-
-    /**
-     * @param  ReflectionClass $aClass
-     * @return ReflectionClass
-     */
-    public function reload(ReflectionClass $aClass);
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Version.php b/core/vendor/phpunit/phpunit/src/Runner/Version.php
deleted file mode 100644
index 23349a8..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/Version.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * This class defines the current version of PHPUnit.
- *
- * @package    PHPUnit
- * @subpackage Runner
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Runner_Version
-{
-    private static $pharVersion;
-    private static $version;
-
-    /**
-     * Returns the current version of PHPUnit.
-     *
-     * @return string
-     */
-    public static function id()
-    {
-        if (self::$pharVersion !== null) {
-            return self::$pharVersion;
-        }
-
-        if (self::$version === null) {
-            $version = new SebastianBergmann\Version('4.6.4', dirname(dirname(__DIR__)));
-            self::$version = $version->getVersion();
-        }
-
-        return self::$version;
-    }
-
-    /**
-     * @return string
-     */
-    public static function getVersionString()
-    {
-        return 'PHPUnit ' . self::id() . ' by Sebastian Bergmann and contributors.';
-    }
-
-    /**
-     * @return string
-     * @since  Method available since Release 4.0.0
-     */
-    public static function getReleaseChannel()
-    {
-        if (strpos(self::$pharVersion, 'alpha') !== false) {
-            return '-alpha';
-        }
-
-        if (strpos(self::$pharVersion, 'beta') !== false) {
-            return '-beta';
-        }
-
-        return '';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/TextUI/Command.php b/core/vendor/phpunit/phpunit/src/TextUI/Command.php
deleted file mode 100644
index d453342..0000000
--- a/core/vendor/phpunit/phpunit/src/TextUI/Command.php
+++ /dev/null
@@ -1,988 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestRunner for the Command Line Interface (CLI)
- * PHP SAPI Module.
- *
- * @package    PHPUnit
- * @subpackage TextUI
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_TextUI_Command
-{
-    /**
-     * @var array
-     */
-    protected $arguments = array(
-      'listGroups'              => false,
-      'loader'                  => null,
-      'useDefaultConfiguration' => true
-    );
-
-    /**
-     * @var array
-     */
-    protected $options = array();
-
-    /**
-     * @var array
-     */
-    protected $longOptions = array(
-      'colors==' => null,
-      'bootstrap=' => null,
-      'columns=' => null,
-      'configuration=' => null,
-      'coverage-clover=' => null,
-      'coverage-crap4j=' => null,
-      'coverage-html=' => null,
-      'coverage-php=' => null,
-      'coverage-text==' => null,
-      'coverage-xml=' => null,
-      'debug' => null,
-      'exclude-group=' => null,
-      'filter=' => null,
-      'testsuite=' => null,
-      'group=' => null,
-      'help' => null,
-      'include-path=' => null,
-      'list-groups' => null,
-      'loader=' => null,
-      'log-json=' => null,
-      'log-junit=' => null,
-      'log-tap=' => null,
-      'process-isolation' => null,
-      'repeat=' => null,
-      'stderr' => null,
-      'stop-on-error' => null,
-      'stop-on-failure' => null,
-      'stop-on-incomplete' => null,
-      'stop-on-risky' => null,
-      'stop-on-skipped' => null,
-      'report-useless-tests' => null,
-      'strict-coverage' => null,
-      'disallow-test-output' => null,
-      'enforce-time-limit' => null,
-      'disallow-todo-tests' => null,
-      'strict-global-state' => null,
-      'strict' => null,
-      'tap' => null,
-      'testdox' => null,
-      'testdox-html=' => null,
-      'testdox-text=' => null,
-      'test-suffix=' => null,
-      'no-configuration' => null,
-      'no-globals-backup' => null,
-      'printer=' => null,
-      'static-backup' => null,
-      'verbose' => null,
-      'version' => null
-    );
-
-    /**
-     * @var boolean
-     */
-    private $versionStringPrinted = false;
-
-    /**
-     * @param boolean $exit
-     */
-    public static function main($exit = true)
-    {
-        $command = new static;
-
-        return $command->run($_SERVER['argv'], $exit);
-    }
-
-    /**
-     * @param  array $argv
-     * @param  boolean $exit
-     * @return integer
-     */
-    public function run(array $argv, $exit = true)
-    {
-        $this->handleArguments($argv);
-
-        $runner = $this->createRunner();
-
-        if (is_object($this->arguments['test']) &&
-            $this->arguments['test'] instanceof PHPUnit_Framework_Test) {
-            $suite = $this->arguments['test'];
-        } else {
-            $suite = $runner->getTest(
-                $this->arguments['test'],
-                $this->arguments['testFile'],
-                $this->arguments['testSuffixes']
-            );
-        }
-
-        if ($this->arguments['listGroups']) {
-            $this->printVersionString();
-
-            print "Available test group(s):\n";
-
-            $groups = $suite->getGroups();
-            sort($groups);
-
-            foreach ($groups as $group) {
-                print " - $group\n";
-            }
-
-            if ($exit) {
-                exit(PHPUnit_TextUI_TestRunner::SUCCESS_EXIT);
-            } else {
-                return PHPUnit_TextUI_TestRunner::SUCCESS_EXIT;
-            }
-        }
-
-        unset($this->arguments['test']);
-        unset($this->arguments['testFile']);
-
-        try {
-            $result = $runner->doRun($suite, $this->arguments);
-        } catch (PHPUnit_Framework_Exception $e) {
-            print $e->getMessage() . "\n";
-        }
-
-        $ret = PHPUnit_TextUI_TestRunner::FAILURE_EXIT;
-
-        if (isset($result) && $result->wasSuccessful()) {
-            $ret = PHPUnit_TextUI_TestRunner::SUCCESS_EXIT;
-        } elseif (!isset($result) || $result->errorCount() > 0) {
-            $ret = PHPUnit_TextUI_TestRunner::EXCEPTION_EXIT;
-        }
-
-        if ($exit) {
-            exit($ret);
-        } else {
-            return $ret;
-        }
-    }
-
-    /**
-     * Create a TestRunner, override in subclasses.
-     *
-     * @return PHPUnit_TextUI_TestRunner
-     * @since  Method available since Release 3.6.0
-     */
-    protected function createRunner()
-    {
-        return new PHPUnit_TextUI_TestRunner($this->arguments['loader']);
-    }
-
-    /**
-     * Handles the command-line arguments.
-     *
-     * A child class of PHPUnit_TextUI_Command can hook into the argument
-     * parsing by adding the switch(es) to the $longOptions array and point to a
-     * callback method that handles the switch(es) in the child class like this
-     *
-     * <code>
-     * <?php
-     * class MyCommand extends PHPUnit_TextUI_Command
-     * {
-     *     public function __construct()
-     *     {
-     *         // my-switch won't accept a value, it's an on/off
-     *         $this->longOptions['my-switch'] = 'myHandler';
-     *         // my-secondswitch will accept a value - note the equals sign
-     *         $this->longOptions['my-secondswitch='] = 'myOtherHandler';
-     *     }
-     *
-     *     // --my-switch  -> myHandler()
-     *     protected function myHandler()
-     *     {
-     *     }
-     *
-     *     // --my-secondswitch foo -> myOtherHandler('foo')
-     *     protected function myOtherHandler ($value)
-     *     {
-     *     }
-     *
-     *     // You will also need this - the static keyword in the
-     *     // PHPUnit_TextUI_Command will mean that it'll be
-     *     // PHPUnit_TextUI_Command that gets instantiated,
-     *     // not MyCommand
-     *     public static function main($exit = true)
-     *     {
-     *         $command = new static;
-     *
-     *         return $command->run($_SERVER['argv'], $exit);
-     *     }
-     *
-     * }
-     * </code>
-     *
-     * @param array $argv
-     */
-    protected function handleArguments(array $argv)
-    {
-        if (defined('__PHPUNIT_PHAR__')) {
-            $this->longOptions['selfupdate']  = null;
-            $this->longOptions['self-update'] = null;
-        }
-
-        try {
-            $this->options = PHPUnit_Util_Getopt::getopt(
-                $argv,
-                'd:c:hv',
-                array_keys($this->longOptions)
-            );
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->showError($e->getMessage());
-        }
-
-        foreach ($this->options[0] as $option) {
-            switch ($option[0]) {
-                case '--colors': {
-                    $this->arguments['colors'] = $option[1] ?: PHPUnit_TextUI_ResultPrinter::COLOR_AUTO;
-                    }
-                break;
-
-                case '--bootstrap': {
-                    $this->arguments['bootstrap'] = $option[1];
-                    }
-                break;
-
-                case '--columns': {
-                    if (is_numeric($option[1])) {
-                        $this->arguments['columns'] = (int) $option[1];
-                    } elseif ($option[1] == 'max') {
-                        $this->arguments['columns'] = 'max';
-                    }
-                }
-                break;
-
-                case 'c':
-                case '--configuration': {
-                    $this->arguments['configuration'] = $option[1];
-                    }
-                break;
-
-                case '--coverage-clover': {
-                    $this->arguments['coverageClover'] = $option[1];
-                    }
-                break;
-
-                case '--coverage-crap4j': {
-                    $this->arguments['coverageCrap4J'] = $option[1];
-                    }
-                break;
-
-                case '--coverage-html': {
-                    $this->arguments['coverageHtml'] = $option[1];
-                    }
-                break;
-
-                case '--coverage-php': {
-                    $this->arguments['coveragePHP'] = $option[1];
-                    }
-                break;
-
-                case '--coverage-text': {
-                    if ($option[1] === null) {
-                        $option[1] = 'php://stdout';
-                    }
-
-                    $this->arguments['coverageText'] = $option[1];
-                    $this->arguments['coverageTextShowUncoveredFiles'] = false;
-                    $this->arguments['coverageTextShowOnlySummary'] = false;
-                    }
-                break;
-
-                case '--coverage-xml': {
-                    $this->arguments['coverageXml'] = $option[1];
-                    }
-                break;
-
-                case 'd': {
-                    $ini = explode('=', $option[1]);
-
-                    if (isset($ini[0])) {
-                        if (isset($ini[1])) {
-                            ini_set($ini[0], $ini[1]);
-                        } else {
-                            ini_set($ini[0], true);
-                        }
-                    }
-                    }
-                break;
-
-                case '--debug': {
-                    $this->arguments['debug'] = true;
-                    }
-                break;
-
-                case 'h':
-                case '--help': {
-                    $this->showHelp();
-                    exit(PHPUnit_TextUI_TestRunner::SUCCESS_EXIT);
-                    }
-                break;
-
-                case '--filter': {
-                    $this->arguments['filter'] = $option[1];
-                    }
-                break;
-
-                case '--testsuite': {
-                    $this->arguments['testsuite'] = $option[1];
-                    }
-                break;
-
-                case '--group': {
-                    $this->arguments['groups'] = explode(',', $option[1]);
-                    }
-                break;
-
-                case '--exclude-group': {
-                    $this->arguments['excludeGroups'] = explode(
-                        ',', $option[1]
-                    );
-                    }
-                break;
-
-                case '--test-suffix': {
-                    $this->arguments['testSuffixes'] = explode(
-                        ',', $option[1]
-                    );
-                    }
-                break;
-
-                case '--include-path': {
-                    $includePath = $option[1];
-                    }
-                break;
-
-                case '--list-groups': {
-                    $this->arguments['listGroups'] = true;
-                    }
-                break;
-
-                case '--printer': {
-                    $this->arguments['printer'] = $option[1];
-                    }
-                break;
-
-                case '--loader': {
-                    $this->arguments['loader'] = $option[1];
-                    }
-                break;
-
-                case '--log-json': {
-                    $this->arguments['jsonLogfile'] = $option[1];
-                    }
-                break;
-
-                case '--log-junit': {
-                    $this->arguments['junitLogfile'] = $option[1];
-                    }
-                break;
-
-                case '--log-tap': {
-                    $this->arguments['tapLogfile'] = $option[1];
-                    }
-                break;
-
-                case '--process-isolation': {
-                    $this->arguments['processIsolation'] = true;
-                    }
-                break;
-
-                case '--repeat': {
-                    $this->arguments['repeat'] = (int) $option[1];
-                    }
-                break;
-
-                case '--stderr': {
-                    $this->arguments['stderr'] = true;
-                    }
-                break;
-
-                case '--stop-on-error': {
-                    $this->arguments['stopOnError'] = true;
-                    }
-                break;
-
-                case '--stop-on-failure': {
-                    $this->arguments['stopOnFailure'] = true;
-                    }
-                break;
-
-                case '--stop-on-incomplete': {
-                    $this->arguments['stopOnIncomplete'] = true;
-                    }
-                break;
-
-                case '--stop-on-risky': {
-                    $this->arguments['stopOnRisky'] = true;
-                    }
-                break;
-
-                case '--stop-on-skipped': {
-                    $this->arguments['stopOnSkipped'] = true;
-                    }
-                break;
-
-                case '--tap': {
-                    $this->arguments['printer'] = 'PHPUnit_Util_Log_TAP';
-                    }
-                break;
-
-                case '--testdox': {
-                    $this->arguments['printer'] = 'PHPUnit_Util_TestDox_ResultPrinter_Text';
-                    }
-                break;
-
-                case '--testdox-html': {
-                    $this->arguments['testdoxHTMLFile'] = $option[1];
-                    }
-                break;
-
-                case '--testdox-text': {
-                    $this->arguments['testdoxTextFile'] = $option[1];
-                    }
-                break;
-
-                case '--no-configuration': {
-                    $this->arguments['useDefaultConfiguration'] = false;
-                    }
-                break;
-
-                case '--no-globals-backup': {
-                    $this->arguments['backupGlobals'] = false;
-                    }
-                break;
-
-                case '--static-backup': {
-                    $this->arguments['backupStaticAttributes'] = true;
-                    }
-                break;
-
-                case 'v':
-                case '--verbose': {
-                    $this->arguments['verbose'] = true;
-                    }
-                break;
-
-                case '--version': {
-                    $this->printVersionString();
-                    exit(PHPUnit_TextUI_TestRunner::SUCCESS_EXIT);
-                    }
-                break;
-
-                case '--report-useless-tests': {
-                    $this->arguments['reportUselessTests'] = true;
-                    }
-                break;
-
-                case '--strict-coverage': {
-                    $this->arguments['strictCoverage'] = true;
-                    }
-                break;
-
-                case '--strict-global-state': {
-                    $this->arguments['disallowChangesToGlobalState'] = true;
-                }
-                break;
-
-                case '--disallow-test-output': {
-                    $this->arguments['disallowTestOutput'] = true;
-                    }
-                break;
-
-                case '--enforce-time-limit': {
-                    $this->arguments['enforceTimeLimit'] = true;
-                    }
-                break;
-
-                case '--disallow-todo-tests': {
-                    $this->arguments['disallowTodoAnnotatedTests'] = true;
-                    }
-                break;
-
-                case '--strict': {
-                    $this->arguments['reportUselessTests']         = true;
-                    $this->arguments['strictCoverage']             = true;
-                    $this->arguments['disallowTestOutput']         = true;
-                    $this->arguments['enforceTimeLimit']           = true;
-                    $this->arguments['disallowTodoAnnotatedTests'] = true;
-                    $this->arguments['deprecatedStrictModeOption'] = true;
-                    }
-                break;
-
-                case '--selfupdate':
-                case '--self-update': {
-                    $this->handleSelfUpdate();
-                    }
-                break;
-
-                default: {
-                    $optionName = str_replace('--', '', $option[0]);
-
-                    if (isset($this->longOptions[$optionName])) {
-                        $handler = $this->longOptions[$optionName];
-                    } elseif (isset($this->longOptions[$optionName . '='])) {
-                        $handler = $this->longOptions[$optionName . '='];
-                    }
-
-                    if (isset($handler) && is_callable(array($this, $handler))) {
-                        $this->$handler($option[1]);
-                    }
-                    }
-            }
-        }
-
-        $this->handleCustomTestSuite();
-
-        if (!isset($this->arguments['test'])) {
-            if (isset($this->options[1][0])) {
-                $this->arguments['test'] = $this->options[1][0];
-            }
-
-            if (isset($this->options[1][1])) {
-                $this->arguments['testFile'] = realpath($this->options[1][1]);
-            } else {
-                $this->arguments['testFile'] = '';
-            }
-
-            if (isset($this->arguments['test']) &&
-                is_file($this->arguments['test']) &&
-                substr($this->arguments['test'], -5, 5) != '.phpt') {
-                $this->arguments['testFile'] = realpath($this->arguments['test']);
-                $this->arguments['test']     = substr($this->arguments['test'], 0, strrpos($this->arguments['test'], '.'));
-            }
-        }
-
-        if (!isset($this->arguments['testSuffixes'])) {
-            $this->arguments['testSuffixes'] = array('Test.php', '.phpt');
-        }
-
-        if (isset($includePath)) {
-            ini_set(
-                'include_path',
-                $includePath . PATH_SEPARATOR . ini_get('include_path')
-            );
-        }
-
-        if ($this->arguments['loader'] !== null) {
-            $this->arguments['loader'] = $this->handleLoader($this->arguments['loader']);
-        }
-
-        if (isset($this->arguments['configuration']) &&
-            is_dir($this->arguments['configuration'])) {
-            $configurationFile = $this->arguments['configuration'] .
-                                 '/phpunit.xml';
-
-            if (file_exists($configurationFile)) {
-                $this->arguments['configuration'] = realpath(
-                    $configurationFile
-                );
-            } elseif (file_exists($configurationFile . '.dist')) {
-                $this->arguments['configuration'] = realpath(
-                    $configurationFile . '.dist'
-                );
-            }
-        } elseif (!isset($this->arguments['configuration']) &&
-                 $this->arguments['useDefaultConfiguration']) {
-            if (file_exists('phpunit.xml')) {
-                $this->arguments['configuration'] = realpath('phpunit.xml');
-            } elseif (file_exists('phpunit.xml.dist')) {
-                $this->arguments['configuration'] = realpath(
-                    'phpunit.xml.dist'
-                );
-            }
-        }
-
-        if (isset($this->arguments['configuration'])) {
-            try {
-                $configuration = PHPUnit_Util_Configuration::getInstance(
-                    $this->arguments['configuration']
-                );
-            } catch (Exception $e) {
-                print $e->getMessage() . "\n";
-                exit(PHPUnit_TextUI_TestRunner::FAILURE_EXIT);
-            }
-
-            $phpunit = $configuration->getPHPUnitConfiguration();
-
-            $configuration->handlePHPConfiguration();
-
-            /**
-             * Issue #1216
-             */
-            if (isset($this->arguments['bootstrap'])) {
-                $this->handleBootstrap($this->arguments['bootstrap']);
-            } elseif (isset($phpunit['bootstrap'])) {
-                $this->handleBootstrap($phpunit['bootstrap']);
-            }
-
-            /**
-             * Issue #657
-             */
-            if (isset($phpunit['stderr']) && ! isset($this->arguments['stderr'])) {
-                $this->arguments['stderr'] = $phpunit['stderr'];
-            }
-
-            if (isset($phpunit['printerClass'])) {
-                if (isset($phpunit['printerFile'])) {
-                    $file = $phpunit['printerFile'];
-                } else {
-                    $file = '';
-                }
-
-                $this->arguments['printer'] = $this->handlePrinter(
-                    $phpunit['printerClass'], $file
-                );
-            }
-
-            if (isset($phpunit['testSuiteLoaderClass'])) {
-                if (isset($phpunit['testSuiteLoaderFile'])) {
-                    $file = $phpunit['testSuiteLoaderFile'];
-                } else {
-                    $file = '';
-                }
-
-                $this->arguments['loader'] = $this->handleLoader(
-                    $phpunit['testSuiteLoaderClass'], $file
-                );
-            }
-
-            $browsers = $configuration->getSeleniumBrowserConfiguration();
-
-            if (!empty($browsers) &&
-                class_exists('PHPUnit_Extensions_SeleniumTestCase')) {
-                PHPUnit_Extensions_SeleniumTestCase::$browsers = $browsers;
-            }
-
-            if (!isset($this->arguments['test'])) {
-                $testSuite = $configuration->getTestSuiteConfiguration(isset($this->arguments['testsuite']) ? $this->arguments['testsuite'] : null);
-
-                if ($testSuite !== null) {
-                    $this->arguments['test'] = $testSuite;
-                }
-            }
-        } elseif (isset($this->arguments['bootstrap'])) {
-            $this->handleBootstrap($this->arguments['bootstrap']);
-        }
-
-        if (isset($this->arguments['printer']) &&
-            is_string($this->arguments['printer'])) {
-            $this->arguments['printer'] = $this->handlePrinter($this->arguments['printer']);
-        }
-
-        if (isset($this->arguments['test']) && is_string($this->arguments['test']) && substr($this->arguments['test'], -5, 5) == '.phpt') {
-            $test = new PHPUnit_Extensions_PhptTestCase($this->arguments['test']);
-
-            $this->arguments['test'] = new PHPUnit_Framework_TestSuite;
-            $this->arguments['test']->addTest($test);
-        }
-
-        if (!isset($this->arguments['test']) ||
-            (isset($this->arguments['testDatabaseLogRevision']) && !isset($this->arguments['testDatabaseDSN']))) {
-            $this->showHelp();
-            exit(PHPUnit_TextUI_TestRunner::EXCEPTION_EXIT);
-        }
-    }
-
-    /**
-     * Handles the loading of the PHPUnit_Runner_TestSuiteLoader implementation.
-     *
-     * @param  string                         $loaderClass
-     * @param  string                         $loaderFile
-     * @return PHPUnit_Runner_TestSuiteLoader
-     */
-    protected function handleLoader($loaderClass, $loaderFile = '')
-    {
-        if (!class_exists($loaderClass, false)) {
-            if ($loaderFile == '') {
-                $loaderFile = PHPUnit_Util_Filesystem::classNameToFilename(
-                    $loaderClass
-                );
-            }
-
-            $loaderFile = stream_resolve_include_path($loaderFile);
-
-            if ($loaderFile) {
-                require $loaderFile;
-            }
-        }
-
-        if (class_exists($loaderClass, false)) {
-            $class = new ReflectionClass($loaderClass);
-
-            if ($class->implementsInterface('PHPUnit_Runner_TestSuiteLoader') &&
-                $class->isInstantiable()) {
-                return $class->newInstance();
-            }
-        }
-
-        if ($loaderClass == 'PHPUnit_Runner_StandardTestSuiteLoader') {
-            return;
-        }
-
-        $this->showError(
-            sprintf(
-                'Could not use "%s" as loader.',
-                $loaderClass
-            )
-        );
-    }
-
-    /**
-     * Handles the loading of the PHPUnit_Util_Printer implementation.
-     *
-     * @param  string               $printerClass
-     * @param  string               $printerFile
-     * @return PHPUnit_Util_Printer
-     */
-    protected function handlePrinter($printerClass, $printerFile = '')
-    {
-        if (!class_exists($printerClass, false)) {
-            if ($printerFile == '') {
-                $printerFile = PHPUnit_Util_Filesystem::classNameToFilename(
-                    $printerClass
-                );
-            }
-
-            $printerFile = stream_resolve_include_path($printerFile);
-
-            if ($printerFile) {
-                require $printerFile;
-            }
-        }
-
-        if (class_exists($printerClass)) {
-            $class = new ReflectionClass($printerClass);
-
-            if ($class->implementsInterface('PHPUnit_Framework_TestListener') &&
-                $class->isSubclassOf('PHPUnit_Util_Printer') &&
-                $class->isInstantiable()) {
-                if ($class->isSubclassOf('PHPUnit_TextUI_ResultPrinter')) {
-                    return $printerClass;
-                }
-
-                $outputStream = isset($this->arguments['stderr']) ? 'php://stderr' : null;
-
-                return $class->newInstance($outputStream);
-            }
-        }
-
-        $this->showError(
-            sprintf(
-                'Could not use "%s" as printer.',
-                $printerClass
-            )
-        );
-    }
-
-    /**
-     * Loads a bootstrap file.
-     *
-     * @param string $filename
-     */
-    protected function handleBootstrap($filename)
-    {
-        try {
-            PHPUnit_Util_Fileloader::checkAndLoad($filename);
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->showError($e->getMessage());
-        }
-    }
-
-    /**
-     * @since Method available since Release 4.0.0
-     */
-    protected function handleSelfUpdate()
-    {
-        $this->printVersionString();
-
-        if (!extension_loaded('openssl')) {
-            print "The OpenSSL extension is not loaded.\n";
-            exit(PHPUnit_TextUI_TestRunner::EXCEPTION_EXIT);
-        }
-
-        $remoteFilename = sprintf(
-            'https://phar.phpunit.de/phpunit%s.phar',
-            PHPUnit_Runner_Version::getReleaseChannel()
-        );
-
-        $localFilename = realpath($_SERVER['argv'][0]);
-        $tempFilename  = basename($localFilename, '.phar') . '-temp.phar';
-
-        // Workaround for https://bugs.php.net/bug.php?id=65538
-        $caFile = dirname($tempFilename) . '/ca.pem';
-        copy(__PHPUNIT_PHAR_ROOT__ . '/ca.pem', $caFile);
-
-        print 'Updating the PHPUnit PHAR ... ';
-
-        $options = array(
-            'ssl' => array(
-                'allow_self_signed' => false,
-                'cafile' => $caFile,
-                'verify_peer' => true
-            )
-        );
-
-        if (PHP_VERSION_ID < 50600) {
-            $options['ssl']['CN_match']        = 'phar.phpunit.de';
-            $options['ssl']['SNI_server_name'] = 'phar.phpunit.de';
-        }
-
-        file_put_contents(
-            $tempFilename,
-            file_get_contents(
-                $remoteFilename,
-                false,
-                stream_context_create($options)
-            )
-        );
-
-        chmod($tempFilename, 0777 & ~umask());
-
-        try {
-            $phar = new Phar($tempFilename);
-            unset($phar);
-            rename($tempFilename, $localFilename);
-            unlink($caFile);
-        } catch (Exception $e) {
-            unlink($caFile);
-            unlink($tempFilename);
-            print " done\n\n" . $e->getMessage() . "\n";
-            exit(2);
-        }
-
-        print " done\n";
-        exit(0);
-    }
-
-    /**
-     * Show the help message.
-     */
-    protected function showHelp()
-    {
-        $this->printVersionString();
-
-        print <<<EOT
-Usage: phpunit [options] UnitTest [UnitTest.php]
-       phpunit [options] <directory>
-
-Code Coverage Options:
-
-  --coverage-clover <file>  Generate code coverage report in Clover XML format.
-  --coverage-crap4j <file>  Generate code coverage report in Crap4J XML format.
-  --coverage-html <dir>     Generate code coverage report in HTML format.
-  --coverage-php <file>     Export PHP_CodeCoverage object to file.
-  --coverage-text=<file>    Generate code coverage report in text format.
-                            Default: Standard output.
-  --coverage-xml <dir>      Generate code coverage report in PHPUnit XML format.
-
-Logging Options:
-
-  --log-junit <file>        Log test execution in JUnit XML format to file.
-  --log-tap <file>          Log test execution in TAP format to file.
-  --log-json <file>         Log test execution in JSON format.
-  --testdox-html <file>     Write agile documentation in HTML format to file.
-  --testdox-text <file>     Write agile documentation in Text format to file.
-
-Test Selection Options:
-
-  --filter <pattern>        Filter which tests to run.
-  --testsuite <pattern>     Filter which testsuite to run.
-  --group ...               Only runs tests from the specified group(s).
-  --exclude-group ...       Exclude tests from the specified group(s).
-  --list-groups             List available test groups.
-  --test-suffix ...         Only search for test in files with specified
-                            suffix(es). Default: Test.php,.phpt
-
-Test Execution Options:
-
-  --report-useless-tests    Be strict about tests that do not test anything.
-  --strict-coverage         Be strict about unintentionally covered code.
-  --strict-global-state     Be strict about changes to global state
-  --disallow-test-output    Be strict about output during tests.
-  --enforce-time-limit      Enforce time limit based on test size.
-  --disallow-todo-tests     Disallow @todo-annotated tests.
-
-  --process-isolation       Run each test in a separate PHP process.
-  --no-globals-backup       Do not backup and restore \$GLOBALS for each test.
-  --static-backup           Backup and restore static attributes for each test.
-
-  --colors=<flag>           Use colors in output ("never", "auto" or "always").
-  --columns <n>             Number of columns to use for progress output.
-  --columns max             Use maximum number of columns for progress output.
-  --stderr                  Write to STDERR instead of STDOUT.
-  --stop-on-error           Stop execution upon first error.
-  --stop-on-failure         Stop execution upon first error or failure.
-  --stop-on-risky           Stop execution upon first risky test.
-  --stop-on-skipped         Stop execution upon first skipped test.
-  --stop-on-incomplete      Stop execution upon first incomplete test.
-  -v|--verbose              Output more verbose information.
-  --debug                   Display debugging information during test execution.
-
-  --loader <loader>         TestSuiteLoader implementation to use.
-  --repeat <times>          Runs the test(s) repeatedly.
-  --tap                     Report test execution progress in TAP format.
-  --testdox                 Report test execution progress in TestDox format.
-  --printer <printer>       TestListener implementation to use.
-
-Configuration Options:
-
-  --bootstrap <file>        A "bootstrap" PHP file that is run before the tests.
-  -c|--configuration <file> Read configuration from XML file.
-  --no-configuration        Ignore default configuration file (phpunit.xml).
-  --include-path <path(s)>  Prepend PHP's include_path with given path(s).
-  -d key[=value]            Sets a php.ini value.
-
-Miscellaneous Options:
-
-  -h|--help                 Prints this usage information.
-  --version                 Prints the version and exits.
-
-EOT;
-
-        if (defined('__PHPUNIT_PHAR__')) {
-            print "\n  --self-update             Update PHPUnit to the latest version.\n";
-        }
-    }
-
-    /**
-     * Custom callback for test suite discovery.
-     */
-    protected function handleCustomTestSuite()
-    {
-    }
-
-    private function printVersionString()
-    {
-        if ($this->versionStringPrinted) {
-            return;
-        }
-
-        print PHPUnit_Runner_Version::getVersionString() . "\n\n";
-
-        $this->versionStringPrinted = true;
-    }
-
-    /**
-     */
-    private function showError($message)
-    {
-        $this->printVersionString();
-
-        print $message . "\n";
-
-        exit(PHPUnit_TextUI_TestRunner::FAILURE_EXIT);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php b/core/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php
deleted file mode 100644
index 93a7c11..0000000
--- a/core/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php
+++ /dev/null
@@ -1,642 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Environment\Console;
-
-/**
- * Prints the result of a TextUI TestRunner run.
- *
- * @package    PHPUnit
- * @subpackage TextUI
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_TextUI_ResultPrinter extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    const EVENT_TEST_START      = 0;
-    const EVENT_TEST_END        = 1;
-    const EVENT_TESTSUITE_START = 2;
-    const EVENT_TESTSUITE_END   = 3;
-
-    const COLOR_NEVER   = 'never';
-    const COLOR_AUTO    = 'auto';
-    const COLOR_ALWAYS  = 'always';
-    const COLOR_DEFAULT = self::COLOR_NEVER;
-
-    /**
-     * @var array
-     */
-    private static $ansiCodes = array(
-      'bold'       => 1,
-      'fg-black'   => 30,
-      'fg-red'     => 31,
-      'fg-yellow'  => 33,
-      'fg-cyan'    => 36,
-      'fg-white'   => 37,
-      'bg-red'     => 41,
-      'bg-green'   => 42,
-      'bg-yellow'  => 43
-    );
-
-    /**
-     * @var integer
-     */
-    protected $column = 0;
-
-    /**
-     * @var integer
-     */
-    protected $maxColumn;
-
-    /**
-     * @var boolean
-     */
-    protected $lastTestFailed = false;
-
-    /**
-     * @var integer
-     */
-    protected $numAssertions = 0;
-
-    /**
-     * @var integer
-     */
-    protected $numTests = -1;
-
-    /**
-     * @var integer
-     */
-    protected $numTestsRun = 0;
-
-    /**
-     * @var integer
-     */
-    protected $numTestsWidth;
-
-    /**
-     * @var boolean
-     */
-    protected $colors = false;
-
-    /**
-     * @var boolean
-     */
-    protected $debug = false;
-
-    /**
-     * @var boolean
-     */
-    protected $verbose = false;
-
-    /**
-     * @var integer
-     */
-    private $numberOfColumns;
-
-    /**
-     * Constructor.
-     *
-     * @param  mixed                       $out
-     * @param  boolean                     $verbose
-     * @param  string                      $colors
-     * @param  boolean                     $debug
-     * @param  integer|string              $numberOfColumns
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.0.0
-     */
-    public function __construct($out = null, $verbose = false, $colors = self::COLOR_DEFAULT, $debug = false, $numberOfColumns = 80)
-    {
-        parent::__construct($out);
-
-        if (!is_bool($verbose)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'boolean');
-        }
-
-        $availableColors = array(self::COLOR_NEVER, self::COLOR_AUTO, self::COLOR_ALWAYS);
-        if (!in_array($colors, $availableColors)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                3,
-                vsprintf('value from "%s", "%s" or "%s"', $availableColors)
-            );
-        }
-
-        if (!is_bool($debug)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(4, 'boolean');
-        }
-
-        if (!is_int($numberOfColumns) && $numberOfColumns != 'max') {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(5, 'integer or "max"');
-        }
-
-        $console = new Console;
-
-        $maxNumberOfColumns = $console->getNumberOfColumns();
-
-        if ($numberOfColumns == 'max' || $numberOfColumns > $maxNumberOfColumns) {
-            $numberOfColumns = $maxNumberOfColumns;
-        }
-
-        $this->numberOfColumns = $numberOfColumns;
-        $this->verbose         = $verbose;
-        $this->debug           = $debug;
-
-        if ($colors === self::COLOR_AUTO && $console->hasColorSupport()) {
-            $this->colors = true;
-        } else {
-            $this->colors = (self::COLOR_ALWAYS === $colors);
-        }
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    public function printResult(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printHeader();
-
-        $this->printErrors($result);
-        $printSeparator = $result->errorCount() > 0;
-
-        if ($printSeparator && $result->failureCount() > 0) {
-            $this->write("\n--\n\n");
-        }
-
-        $printSeparator = $printSeparator || $result->failureCount() > 0;
-        $this->printFailures($result);
-
-        if ($this->verbose) {
-            if ($printSeparator && $result->riskyCount() > 0) {
-                $this->write("\n--\n\n");
-            }
-
-            $printSeparator = $printSeparator ||
-                              $result->riskyCount() > 0;
-
-            $this->printRisky($result);
-
-            if ($printSeparator && $result->notImplementedCount() > 0) {
-                $this->write("\n--\n\n");
-            }
-
-            $printSeparator = $printSeparator ||
-                              $result->notImplementedCount() > 0;
-
-            $this->printIncompletes($result);
-
-            if ($printSeparator && $result->skippedCount() > 0) {
-                $this->write("\n--\n\n");
-            }
-
-            $this->printSkipped($result);
-        }
-
-        $this->printFooter($result);
-    }
-
-    /**
-     * @param array  $defects
-     * @param string $type
-     */
-    protected function printDefects(array $defects, $type)
-    {
-        $count = count($defects);
-
-        if ($count == 0) {
-            return;
-        }
-
-        $this->write(
-            sprintf(
-                "There %s %d %s%s:\n",
-                ($count == 1) ? 'was' : 'were',
-                $count,
-                $type,
-                ($count == 1) ? '' : 's'
-            )
-        );
-
-        $i = 1;
-
-        foreach ($defects as $defect) {
-            $this->printDefect($defect, $i++);
-        }
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestFailure $defect
-     * @param integer                       $count
-     */
-    protected function printDefect(PHPUnit_Framework_TestFailure $defect, $count)
-    {
-        $this->printDefectHeader($defect, $count);
-        $this->printDefectTrace($defect);
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestFailure $defect
-     * @param integer                       $count
-     */
-    protected function printDefectHeader(PHPUnit_Framework_TestFailure $defect, $count)
-    {
-        $this->write(
-            sprintf(
-                "\n%d) %s\n",
-                $count,
-                $defect->getTestName()
-            )
-        );
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestFailure $defect
-     */
-    protected function printDefectTrace(PHPUnit_Framework_TestFailure $defect)
-    {
-        $e = $defect->thrownException();
-        $this->write((string) $e);
-
-        while ($e = $e->getPrevious()) {
-            $this->write("\nCaused by\n" . $e);
-        }
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    protected function printErrors(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->errors(), 'error');
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    protected function printFailures(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->failures(), 'failure');
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    protected function printIncompletes(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->notImplemented(), 'incomplete test');
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     * @since  Method available since Release 4.0.0
-     */
-    protected function printRisky(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->risky(), 'risky test');
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     * @since  Method available since Release 3.0.0
-     */
-    protected function printSkipped(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->skipped(), 'skipped test');
-    }
-
-    protected function printHeader()
-    {
-        $this->write("\n\n" . PHP_Timer::resourceUsage() . "\n\n");
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    protected function printFooter(PHPUnit_Framework_TestResult $result)
-    {
-        if (count($result) === 0) {
-            $this->writeWithColor(
-                'fg-black, bg-yellow',
-                'No tests executed!'
-            );
-        } elseif ($result->wasSuccessful() &&
-                 $result->allHarmless() &&
-                 $result->allCompletelyImplemented() &&
-                 $result->noneSkipped()) {
-            $this->writeWithColor(
-                'fg-black, bg-green',
-                sprintf(
-                    'OK (%d test%s, %d assertion%s)',
-                    count($result),
-                    (count($result) == 1) ? '' : 's',
-                    $this->numAssertions,
-                    ($this->numAssertions == 1) ? '' : 's'
-                )
-            );
-        } elseif ((!$result->allCompletelyImplemented() ||
-                  !$result->allHarmless() ||
-                  !$result->noneSkipped()) &&
-                 $result->wasSuccessful()) {
-            $this->writeWithColor(
-                'fg-black, bg-yellow',
-                sprintf(
-                    "%sOK, but incomplete, skipped, or risky tests!\n" .
-                    'Tests: %d, Assertions: %d%s%s%s.',
-                    $this->verbose ? "\n" : '',
-                    count($result),
-                    $this->numAssertions,
-                    $this->getCountString(
-                        $result->notImplementedCount(),
-                        'Incomplete'
-                    ),
-                    $this->getCountString(
-                        $result->skippedCount(),
-                        'Skipped'
-                    ),
-                    $this->getCountString(
-                        $result->riskyCount(),
-                        'Risky'
-                    )
-                )
-            );
-        } else {
-            $this->writeWithColor(
-                'fg-white, bg-red',
-                sprintf(
-                    "\nFAILURES!\n" .
-                    'Tests: %d, Assertions: %s%s%s%s%s.',
-                    count($result),
-                    $this->numAssertions,
-                    $this->getCountString($result->failureCount(), 'Failures'),
-                    $this->getCountString($result->errorCount(), 'Errors'),
-                    $this->getCountString(
-                        $result->notImplementedCount(),
-                        'Incomplete'
-                    ),
-                    $this->getCountString($result->skippedCount(), 'Skipped')
-                )
-            );
-        }
-    }
-
-    /**
-     * @param  integer $count
-     * @param  string  $name
-     * @return string
-     * @since  Method available since Release 3.0.0
-     */
-    protected function getCountString($count, $name)
-    {
-        $string = '';
-
-        if ($count > 0) {
-            $string = sprintf(
-                ', %s: %d',
-                $name,
-                $count
-            );
-        }
-
-        return $string;
-    }
-
-    /**
-     */
-    public function printWaitPrompt()
-    {
-        $this->write("\n<RETURN> to continue\n");
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeProgressWithColor('fg-red, bold', 'E');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $this->writeProgressWithColor('bg-red, fg-white', 'F');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeProgressWithColor('fg-yellow, bold', 'I');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeProgressWithColor('fg-yellow, bold', 'R');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeProgressWithColor('fg-cyan, bold', 'S');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        if ($this->numTests == -1) {
-            $this->numTests      = count($suite);
-            $this->numTestsWidth = strlen((string) $this->numTests);
-            $this->maxColumn     = $this->numberOfColumns - strlen('  /  (XXX%)') - (2 * $this->numTestsWidth);
-        }
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        if ($this->debug) {
-            $this->write(
-                sprintf(
-                    "\nStarting test '%s'.\n",
-                    PHPUnit_Util_Test::describe($test)
-                )
-            );
-        }
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if (!$this->lastTestFailed) {
-            $this->writeProgress('.');
-        }
-
-        if ($test instanceof PHPUnit_Framework_TestCase) {
-            $this->numAssertions += $test->getNumAssertions();
-        } elseif ($test instanceof PHPUnit_Extensions_PhptTestCase) {
-            $this->numAssertions++;
-        }
-
-        $this->lastTestFailed = false;
-
-        if ($test instanceof PHPUnit_Framework_TestCase) {
-            if (!$test->hasExpectationOnOutput()) {
-                $this->write($test->getActualOutput());
-            }
-        }
-    }
-
-    /**
-     * @param string $progress
-     */
-    protected function writeProgress($progress)
-    {
-        $this->write($progress);
-        $this->column++;
-        $this->numTestsRun++;
-
-        if ($this->column == $this->maxColumn) {
-            $this->write(
-                sprintf(
-                    ' %' . $this->numTestsWidth . 'd / %' .
-                    $this->numTestsWidth . 'd (%3s%%)',
-                    $this->numTestsRun,
-                    $this->numTests,
-                    floor(($this->numTestsRun / $this->numTests) * 100)
-                )
-            );
-
-            $this->writeNewLine();
-        }
-    }
-
-    protected function writeNewLine()
-    {
-        $this->column = 0;
-        $this->write("\n");
-    }
-
-    /**
-     * Formats a buffer with a specified ANSI color sequence if colors are
-     * enabled.
-     *
-     * @param  string $color
-     * @param  string $buffer
-     * @return string
-     * @since  Method available since Release 4.0.0
-     */
-    protected function formatWithColor($color, $buffer)
-    {
-        if (!$this->colors) {
-            return $buffer;
-        }
-
-        $codes = array_map('trim', explode(',', $color));
-        $lines = explode("\n", $buffer);
-        $padding = max(array_map('strlen', $lines));
-
-        $styles = array();
-        foreach ($codes as $code) {
-            $styles[] = self::$ansiCodes[$code];
-        }
-        $style = sprintf("\x1b[%sm", implode(';', $styles));
-
-        $styledLines = array();
-        foreach ($lines as $line) {
-            $styledLines[] = $style . str_pad($line, $padding) . "\x1b[0m";
-        }
-
-        return implode("\n", $styledLines);
-    }
-
-    /**
-     * Writes a buffer out with a color sequence if colors are enabled.
-     *
-     * @param string $color
-     * @param string $buffer
-     * @since  Method available since Release 4.0.0
-     */
-    protected function writeWithColor($color, $buffer)
-    {
-        $buffer = $this->formatWithColor($color, $buffer);
-        $this->write($buffer . "\n");
-    }
-
-    /**
-     * Writes progress with a color sequence if colors are enabled.
-     *
-     * @param string $color
-     * @param string $buffer
-     * @since  Method available since Release 4.0.0
-     */
-    protected function writeProgressWithColor($color, $buffer)
-    {
-        $buffer = $this->formatWithColor($color, $buffer);
-        $this->writeProgress($buffer);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/TextUI/TestRunner.php b/core/vendor/phpunit/phpunit/src/TextUI/TestRunner.php
deleted file mode 100644
index bc93e3a..0000000
--- a/core/vendor/phpunit/phpunit/src/TextUI/TestRunner.php
+++ /dev/null
@@ -1,984 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Environment\Runtime;
-
-/**
- * A TestRunner for the Command Line Interface (CLI)
- * PHP SAPI Module.
- *
- * @package    PHPUnit
- * @subpackage TextUI
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_TextUI_TestRunner extends PHPUnit_Runner_BaseTestRunner
-{
-    const SUCCESS_EXIT   = 0;
-    const FAILURE_EXIT   = 1;
-    const EXCEPTION_EXIT = 2;
-
-    /**
-     * @var PHP_CodeCoverage_Filter
-     */
-    protected $codeCoverageFilter;
-
-    /**
-     * @var PHPUnit_Runner_TestSuiteLoader
-     */
-    protected $loader = null;
-
-    /**
-     * @var PHPUnit_TextUI_ResultPrinter
-     */
-    protected $printer = null;
-
-    /**
-     * @var boolean
-     */
-    protected static $versionStringPrinted = false;
-
-    /**
-     * @var array
-     */
-    private $missingExtensions = array();
-
-    /**
-     * @var boolean
-     */
-    private $canCollectCodeCoverage;
-
-    /**
-     * @param PHPUnit_Runner_TestSuiteLoader $loader
-     * @param PHP_CodeCoverage_Filter        $filter
-     * @since Method available since Release 3.4.0
-     */
-    public function __construct(PHPUnit_Runner_TestSuiteLoader $loader = null, PHP_CodeCoverage_Filter $filter = null)
-    {
-        if ($filter === null) {
-            $filter = $this->getCodeCoverageFilter();
-        }
-
-        $this->codeCoverageFilter = $filter;
-        $this->loader             = $loader;
-
-        $runtime = new Runtime;
-        $this->canCollectCodeCoverage = $runtime->canCollectCodeCoverage();
-    }
-
-    /**
-     * @param  PHPUnit_Framework_Test|ReflectionClass $test
-     * @param  array                               $arguments
-     * @return PHPUnit_Framework_TestResult
-     * @throws PHPUnit_Framework_Exception
-     */
-    public static function run($test, array $arguments = array())
-    {
-        if ($test instanceof ReflectionClass) {
-            $test = new PHPUnit_Framework_TestSuite($test);
-        }
-
-        if ($test instanceof PHPUnit_Framework_Test) {
-            $aTestRunner = new PHPUnit_TextUI_TestRunner;
-
-            return $aTestRunner->doRun(
-                $test,
-                $arguments
-            );
-        } else {
-            throw new PHPUnit_Framework_Exception(
-                'No test case or test suite found.'
-            );
-        }
-    }
-
-    /**
-     * @return PHPUnit_Framework_TestResult
-     */
-    protected function createTestResult()
-    {
-        return new PHPUnit_Framework_TestResult;
-    }
-
-    private function processSuiteFilters(PHPUnit_Framework_TestSuite $suite, array $arguments)
-    {
-        if (!$arguments['filter'] &&
-            empty($arguments['groups']) &&
-            empty($arguments['excludeGroups'])) {
-            return;
-        }
-
-        $filterFactory = new PHPUnit_Runner_Filter_Factory();
-
-        if (!empty($arguments['excludeGroups'])) {
-            $filterFactory->addFilter(
-                new ReflectionClass('PHPUnit_Runner_Filter_Group_Exclude'),
-                $arguments['excludeGroups']
-            );
-        }
-
-        if (!empty($arguments['groups'])) {
-            $filterFactory->addFilter(
-                new ReflectionClass('PHPUnit_Runner_Filter_Group_Include'),
-                $arguments['groups']
-            );
-        }
-
-        if ($arguments['filter']) {
-            $filterFactory->addFilter(
-                new ReflectionClass('PHPUnit_Runner_Filter_Test'),
-                $arguments['filter']
-            );
-        }
-        $suite->injectFilter($filterFactory);
-    }
-
-    /**
-     * @param  PHPUnit_Framework_Test       $suite
-     * @param  array                        $arguments
-     * @return PHPUnit_Framework_TestResult
-     */
-    public function doRun(PHPUnit_Framework_Test $suite, array $arguments = array())
-    {
-        $this->handleConfiguration($arguments);
-
-        $this->processSuiteFilters($suite, $arguments);
-
-        if (isset($arguments['bootstrap'])) {
-            $GLOBALS['__PHPUNIT_BOOTSTRAP'] = $arguments['bootstrap'];
-        }
-
-        if ($arguments['backupGlobals'] === false) {
-            $suite->setBackupGlobals(false);
-        }
-
-        if ($arguments['backupStaticAttributes'] === true) {
-            $suite->setBackupStaticAttributes(true);
-        }
-
-        if ($arguments['disallowChangesToGlobalState'] === true) {
-            $suite->setDisallowChangesToGlobalState(true);
-        }
-
-        if (is_integer($arguments['repeat'])) {
-            $test = new PHPUnit_Extensions_RepeatedTest(
-                $suite,
-                $arguments['repeat'],
-                $arguments['processIsolation']
-            );
-
-            $suite = new PHPUnit_Framework_TestSuite();
-            $suite->addTest($test);
-        }
-
-        $result = $this->createTestResult();
-
-        if (!$arguments['convertErrorsToExceptions']) {
-            $result->convertErrorsToExceptions(false);
-        }
-
-        if (!$arguments['convertNoticesToExceptions']) {
-            PHPUnit_Framework_Error_Notice::$enabled = false;
-        }
-
-        if (!$arguments['convertWarningsToExceptions']) {
-            PHPUnit_Framework_Error_Warning::$enabled = false;
-        }
-
-        if ($arguments['stopOnError']) {
-            $result->stopOnError(true);
-        }
-
-        if ($arguments['stopOnFailure']) {
-            $result->stopOnFailure(true);
-        }
-
-        if ($arguments['stopOnIncomplete']) {
-            $result->stopOnIncomplete(true);
-        }
-
-        if ($arguments['stopOnRisky']) {
-            $result->stopOnRisky(true);
-        }
-
-        if ($arguments['stopOnSkipped']) {
-            $result->stopOnSkipped(true);
-        }
-
-        if ($this->printer === null) {
-            if (isset($arguments['printer']) &&
-                $arguments['printer'] instanceof PHPUnit_Util_Printer) {
-                $this->printer = $arguments['printer'];
-            } else {
-                $printerClass = 'PHPUnit_TextUI_ResultPrinter';
-
-                if (isset($arguments['printer']) &&
-                    is_string($arguments['printer']) &&
-                    class_exists($arguments['printer'], false)) {
-                    $class = new ReflectionClass($arguments['printer']);
-
-                    if ($class->isSubclassOf('PHPUnit_TextUI_ResultPrinter')) {
-                        $printerClass = $arguments['printer'];
-                    }
-                }
-
-                $this->printer = new $printerClass(
-                  isset($arguments['stderr']) ? 'php://stderr' : null,
-                  $arguments['verbose'],
-                  $arguments['colors'],
-                  $arguments['debug'],
-                  $arguments['columns']
-                );
-            }
-        }
-
-        if (!$this->printer instanceof PHPUnit_Util_Log_TAP) {
-            $this->printer->write(
-                PHPUnit_Runner_Version::getVersionString() . "\n\n"
-            );
-
-            self::$versionStringPrinted = true;
-
-            if (isset($arguments['configuration'])) {
-                $this->printer->write(
-                    sprintf(
-                        "Configuration read from %s\n\n",
-                        $arguments['configuration']->getFilename()
-                    )
-                );
-            }
-
-            if (isset($arguments['deprecatedStrictModeOption'])) {
-                print "Deprecated option \"--strict\" used\n\n";
-            }
-
-            if (isset($arguments['deprecatedStrictModeSetting'])) {
-                print "Deprecated configuration setting \"strict\" used\n\n";
-            }
-        }
-
-        foreach ($arguments['listeners'] as $listener) {
-            $result->addListener($listener);
-        }
-
-        $result->addListener($this->printer);
-
-        if (isset($arguments['testdoxHTMLFile'])) {
-            $result->addListener(
-                new PHPUnit_Util_TestDox_ResultPrinter_HTML(
-                    $arguments['testdoxHTMLFile']
-                )
-            );
-        }
-
-        if (isset($arguments['testdoxTextFile'])) {
-            $result->addListener(
-                new PHPUnit_Util_TestDox_ResultPrinter_Text(
-                    $arguments['testdoxTextFile']
-                )
-            );
-        }
-
-        $codeCoverageReports = 0;
-
-        if (isset($arguments['coverageClover'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['coverageCrap4J'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['coverageHtml'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['coveragePHP'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['coverageText'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['coverageXml'])) {
-            $codeCoverageReports++;
-        }
-
-        if ($codeCoverageReports > 0 && (!extension_loaded('tokenizer') || !$this->canCollectCodeCoverage)) {
-            if (!extension_loaded('tokenizer')) {
-                $this->showExtensionNotLoadedMessage(
-                    'tokenizer',
-                    'No code coverage will be generated.'
-                );
-            } elseif (!extension_loaded('Xdebug')) {
-                $this->showExtensionNotLoadedMessage(
-                    'Xdebug',
-                    'No code coverage will be generated.'
-                );
-            }
-
-            $codeCoverageReports = 0;
-        }
-
-        if ($codeCoverageReports > 0) {
-            $codeCoverage = new PHP_CodeCoverage(
-                null,
-                $this->codeCoverageFilter
-            );
-
-            $codeCoverage->setAddUncoveredFilesFromWhitelist(
-                $arguments['addUncoveredFilesFromWhitelist']
-            );
-
-            $codeCoverage->setCheckForUnintentionallyCoveredCode(
-                $arguments['strictCoverage']
-            );
-
-            $codeCoverage->setProcessUncoveredFilesFromWhitelist(
-                $arguments['processUncoveredFilesFromWhitelist']
-            );
-
-            if (isset($arguments['forceCoversAnnotation'])) {
-                $codeCoverage->setForceCoversAnnotation(
-                    $arguments['forceCoversAnnotation']
-                );
-            }
-
-            if (isset($arguments['mapTestClassNameToCoveredClassName'])) {
-                $codeCoverage->setMapTestClassNameToCoveredClassName(
-                    $arguments['mapTestClassNameToCoveredClassName']
-                );
-            }
-
-            $result->setCodeCoverage($codeCoverage);
-        }
-
-        if ($codeCoverageReports > 1) {
-            if (isset($arguments['cacheTokens'])) {
-                $codeCoverage->setCacheTokens($arguments['cacheTokens']);
-            }
-        }
-
-        if (isset($arguments['jsonLogfile'])) {
-            $result->addListener(
-                new PHPUnit_Util_Log_JSON($arguments['jsonLogfile'])
-            );
-        }
-
-        if (isset($arguments['tapLogfile'])) {
-            $result->addListener(
-                new PHPUnit_Util_Log_TAP($arguments['tapLogfile'])
-            );
-        }
-
-        if (isset($arguments['junitLogfile'])) {
-            $result->addListener(
-                new PHPUnit_Util_Log_JUnit(
-                    $arguments['junitLogfile'],
-                    $arguments['logIncompleteSkipped']
-                )
-            );
-        }
-
-        $result->beStrictAboutTestsThatDoNotTestAnything($arguments['reportUselessTests']);
-        $result->beStrictAboutOutputDuringTests($arguments['disallowTestOutput']);
-        $result->beStrictAboutTodoAnnotatedTests($arguments['disallowTodoAnnotatedTests']);
-        $result->beStrictAboutTestSize($arguments['enforceTimeLimit']);
-        $result->setTimeoutForSmallTests($arguments['timeoutForSmallTests']);
-        $result->setTimeoutForMediumTests($arguments['timeoutForMediumTests']);
-        $result->setTimeoutForLargeTests($arguments['timeoutForLargeTests']);
-
-        if ($suite instanceof PHPUnit_Framework_TestSuite) {
-            $suite->setRunTestInSeparateProcess($arguments['processIsolation']);
-        }
-
-        $suite->run($result);
-
-        unset($suite);
-        $result->flushListeners();
-
-        if ($this->printer instanceof PHPUnit_TextUI_ResultPrinter) {
-            $this->printer->printResult($result);
-        }
-
-        if (isset($codeCoverage)) {
-            if (isset($arguments['coverageClover'])) {
-                $this->printer->write(
-                    "\nGenerating code coverage report in Clover XML format ..."
-                );
-
-                $writer = new PHP_CodeCoverage_Report_Clover;
-                $writer->process($codeCoverage, $arguments['coverageClover']);
-
-                $this->printer->write(" done\n");
-                unset($writer);
-            }
-
-            if (isset($arguments['coverageCrap4J'])) {
-                $this->printer->write(
-                    "\nGenerating Crap4J report XML file ..."
-                );
-
-                $writer = new PHP_CodeCoverage_Report_Crap4j;
-                $writer->process($codeCoverage, $arguments['coverageCrap4J']);
-
-                $this->printer->write(" done\n");
-                unset($writer);
-            }
-
-            if (isset($arguments['coverageHtml'])) {
-                $this->printer->write(
-                    "\nGenerating code coverage report in HTML format ..."
-                );
-
-                $writer = new PHP_CodeCoverage_Report_HTML(
-                    $arguments['reportLowUpperBound'],
-                    $arguments['reportHighLowerBound'],
-                    sprintf(
-                        ' and <a href="http://phpunit.de/">PHPUnit %s</a>',
-                        PHPUnit_Runner_Version::id()
-                    )
-                );
-
-                $writer->process($codeCoverage, $arguments['coverageHtml']);
-
-                $this->printer->write(" done\n");
-                unset($writer);
-            }
-
-            if (isset($arguments['coveragePHP'])) {
-                $this->printer->write(
-                    "\nGenerating code coverage report in PHP format ..."
-                );
-
-                $writer = new PHP_CodeCoverage_Report_PHP;
-                $writer->process($codeCoverage, $arguments['coveragePHP']);
-
-                $this->printer->write(" done\n");
-                unset($writer);
-            }
-
-            if (isset($arguments['coverageText'])) {
-                if ($arguments['coverageText'] == 'php://stdout') {
-                    $outputStream = $this->printer;
-                    $colors       = $arguments['colors'];
-                } else {
-                    $outputStream = new PHPUnit_Util_Printer($arguments['coverageText']);
-                    $colors       = false;
-                }
-
-                $processor = new PHP_CodeCoverage_Report_Text(
-                    $arguments['reportLowUpperBound'],
-                    $arguments['reportHighLowerBound'],
-                    $arguments['coverageTextShowUncoveredFiles'],
-                    $arguments['coverageTextShowOnlySummary']
-                );
-
-                $outputStream->write(
-                    $processor->process($codeCoverage, $colors)
-                );
-            }
-
-            if (isset($arguments['coverageXml'])) {
-                $this->printer->write(
-                    "\nGenerating code coverage report in PHPUnit XML format ..."
-                );
-
-                $writer = new PHP_CodeCoverage_Report_XML;
-                $writer->process($codeCoverage, $arguments['coverageXml']);
-
-                $this->printer->write(" done\n");
-                unset($writer);
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param PHPUnit_TextUI_ResultPrinter $resultPrinter
-     */
-    public function setPrinter(PHPUnit_TextUI_ResultPrinter $resultPrinter)
-    {
-        $this->printer = $resultPrinter;
-    }
-
-    /**
-     * Override to define how to handle a failed loading of
-     * a test suite.
-     *
-     * @param string $message
-     */
-    protected function runFailed($message)
-    {
-        $this->write($message . PHP_EOL);
-        exit(self::FAILURE_EXIT);
-    }
-
-    /**
-     * @param string $buffer
-     * @since  Method available since Release 3.1.0
-     */
-    protected function write($buffer)
-    {
-        if (PHP_SAPI != 'cli') {
-            $buffer = htmlspecialchars($buffer);
-        }
-
-        if ($this->printer !== null) {
-            $this->printer->write($buffer);
-        } else {
-            print $buffer;
-        }
-    }
-
-    /**
-     * Returns the loader to be used.
-     *
-     * @return PHPUnit_Runner_TestSuiteLoader
-     * @since  Method available since Release 2.2.0
-     */
-    public function getLoader()
-    {
-        if ($this->loader === null) {
-            $this->loader = new PHPUnit_Runner_StandardTestSuiteLoader;
-        }
-
-        return $this->loader;
-    }
-
-    /**
-     * @param array $arguments
-     * @since  Method available since Release 3.2.1
-     */
-    protected function handleConfiguration(array &$arguments)
-    {
-        if (isset($arguments['configuration']) &&
-            !$arguments['configuration'] instanceof PHPUnit_Util_Configuration) {
-            $arguments['configuration'] = PHPUnit_Util_Configuration::getInstance(
-                $arguments['configuration']
-            );
-        }
-
-        $arguments['debug']     = isset($arguments['debug'])     ? $arguments['debug']     : false;
-        $arguments['filter']    = isset($arguments['filter'])    ? $arguments['filter']    : false;
-        $arguments['listeners'] = isset($arguments['listeners']) ? $arguments['listeners'] : array();
-
-        if (isset($arguments['configuration'])) {
-            $arguments['configuration']->handlePHPConfiguration();
-
-            $phpunitConfiguration = $arguments['configuration']->getPHPUnitConfiguration();
-
-            if (isset($phpunitConfiguration['deprecatedStrictModeSetting'])) {
-                $arguments['deprecatedStrictModeSetting'] = true;
-            }
-
-            if (isset($phpunitConfiguration['backupGlobals']) &&
-                !isset($arguments['backupGlobals'])) {
-                $arguments['backupGlobals'] = $phpunitConfiguration['backupGlobals'];
-            }
-
-            if (isset($phpunitConfiguration['backupStaticAttributes']) &&
-                !isset($arguments['backupStaticAttributes'])) {
-                $arguments['backupStaticAttributes'] = $phpunitConfiguration['backupStaticAttributes'];
-            }
-
-            if (isset($phpunitConfiguration['disallowChangesToGlobalState']) &&
-                !isset($arguments['disallowChangesToGlobalState'])) {
-                $arguments['disallowChangesToGlobalState'] = $phpunitConfiguration['disallowChangesToGlobalState'];
-            }
-
-            if (isset($phpunitConfiguration['bootstrap']) &&
-                !isset($arguments['bootstrap'])) {
-                $arguments['bootstrap'] = $phpunitConfiguration['bootstrap'];
-            }
-
-            if (isset($phpunitConfiguration['cacheTokens']) &&
-                !isset($arguments['cacheTokens'])) {
-                $arguments['cacheTokens'] = $phpunitConfiguration['cacheTokens'];
-            }
-
-            if (isset($phpunitConfiguration['colors']) &&
-                !isset($arguments['colors'])) {
-                $arguments['colors'] = $phpunitConfiguration['colors'];
-            }
-
-            if (isset($phpunitConfiguration['convertErrorsToExceptions']) &&
-                !isset($arguments['convertErrorsToExceptions'])) {
-                $arguments['convertErrorsToExceptions'] = $phpunitConfiguration['convertErrorsToExceptions'];
-            }
-
-            if (isset($phpunitConfiguration['convertNoticesToExceptions']) &&
-                !isset($arguments['convertNoticesToExceptions'])) {
-                $arguments['convertNoticesToExceptions'] = $phpunitConfiguration['convertNoticesToExceptions'];
-            }
-
-            if (isset($phpunitConfiguration['convertWarningsToExceptions']) &&
-                !isset($arguments['convertWarningsToExceptions'])) {
-                $arguments['convertWarningsToExceptions'] = $phpunitConfiguration['convertWarningsToExceptions'];
-            }
-
-            if (isset($phpunitConfiguration['processIsolation']) &&
-                !isset($arguments['processIsolation'])) {
-                $arguments['processIsolation'] = $phpunitConfiguration['processIsolation'];
-            }
-
-            if (isset($phpunitConfiguration['stopOnFailure']) &&
-                !isset($arguments['stopOnFailure'])) {
-                $arguments['stopOnFailure'] = $phpunitConfiguration['stopOnFailure'];
-            }
-
-            if (isset($phpunitConfiguration['timeoutForSmallTests']) &&
-                !isset($arguments['timeoutForSmallTests'])) {
-                $arguments['timeoutForSmallTests'] = $phpunitConfiguration['timeoutForSmallTests'];
-            }
-
-            if (isset($phpunitConfiguration['timeoutForMediumTests']) &&
-                !isset($arguments['timeoutForMediumTests'])) {
-                $arguments['timeoutForMediumTests'] = $phpunitConfiguration['timeoutForMediumTests'];
-            }
-
-            if (isset($phpunitConfiguration['timeoutForLargeTests']) &&
-                !isset($arguments['timeoutForLargeTests'])) {
-                $arguments['timeoutForLargeTests'] = $phpunitConfiguration['timeoutForLargeTests'];
-            }
-
-            if (isset($phpunitConfiguration['reportUselessTests']) &&
-                !isset($arguments['reportUselessTests'])) {
-                $arguments['reportUselessTests'] = $phpunitConfiguration['reportUselessTests'];
-            }
-
-            if (isset($phpunitConfiguration['strictCoverage']) &&
-                !isset($arguments['strictCoverage'])) {
-                $arguments['strictCoverage'] = $phpunitConfiguration['strictCoverage'];
-            }
-
-            if (isset($phpunitConfiguration['disallowTestOutput']) &&
-                !isset($arguments['disallowTestOutput'])) {
-                $arguments['disallowTestOutput'] = $phpunitConfiguration['disallowTestOutput'];
-            }
-
-            if (isset($phpunitConfiguration['enforceTimeLimit']) &&
-                !isset($arguments['enforceTimeLimit'])) {
-                $arguments['enforceTimeLimit'] = $phpunitConfiguration['enforceTimeLimit'];
-            }
-
-            if (isset($phpunitConfiguration['disallowTodoAnnotatedTests']) &&
-                !isset($arguments['disallowTodoAnnotatedTests'])) {
-                $arguments['disallowTodoAnnotatedTests'] = $phpunitConfiguration['disallowTodoAnnotatedTests'];
-            }
-
-            if (isset($phpunitConfiguration['verbose']) &&
-                !isset($arguments['verbose'])) {
-                $arguments['verbose'] = $phpunitConfiguration['verbose'];
-            }
-
-            if (isset($phpunitConfiguration['forceCoversAnnotation']) &&
-                !isset($arguments['forceCoversAnnotation'])) {
-                $arguments['forceCoversAnnotation'] = $phpunitConfiguration['forceCoversAnnotation'];
-            }
-
-            if (isset($phpunitConfiguration['mapTestClassNameToCoveredClassName']) &&
-                !isset($arguments['mapTestClassNameToCoveredClassName'])) {
-                $arguments['mapTestClassNameToCoveredClassName'] = $phpunitConfiguration['mapTestClassNameToCoveredClassName'];
-            }
-
-            $groupCliArgs = array();
-            if (!empty($arguments['groups'])) {
-                $groupCliArgs = $arguments['groups'];
-            }
-
-            $groupConfiguration = $arguments['configuration']->getGroupConfiguration();
-
-            if (!empty($groupConfiguration['include']) &&
-                !isset($arguments['groups'])) {
-                $arguments['groups'] = $groupConfiguration['include'];
-            }
-
-            if (!empty($groupConfiguration['exclude']) &&
-                !isset($arguments['excludeGroups'])) {
-                $arguments['excludeGroups'] = array_diff($groupConfiguration['exclude'], $groupCliArgs);
-            }
-
-            foreach ($arguments['configuration']->getListenerConfiguration() as $listener) {
-                if (!class_exists($listener['class'], false) &&
-                    $listener['file'] !== '') {
-                    require_once $listener['file'];
-                }
-
-                if (class_exists($listener['class'])) {
-                    if (count($listener['arguments']) == 0) {
-                        $listener = new $listener['class'];
-                    } else {
-                        $listenerClass = new ReflectionClass(
-                            $listener['class']
-                        );
-                        $listener      = $listenerClass->newInstanceArgs(
-                            $listener['arguments']
-                        );
-                    }
-
-                    if ($listener instanceof PHPUnit_Framework_TestListener) {
-                        $arguments['listeners'][] = $listener;
-                    }
-                }
-            }
-
-            $loggingConfiguration = $arguments['configuration']->getLoggingConfiguration();
-
-            if (isset($loggingConfiguration['coverage-clover']) &&
-                !isset($arguments['coverageClover'])) {
-                $arguments['coverageClover'] = $loggingConfiguration['coverage-clover'];
-            }
-
-            if (isset($loggingConfiguration['coverage-crap4j']) &&
-                !isset($arguments['coverageCrap4J'])) {
-                $arguments['coverageCrap4J'] = $loggingConfiguration['coverage-crap4j'];
-            }
-
-            if (isset($loggingConfiguration['coverage-html']) &&
-                !isset($arguments['coverageHtml'])) {
-                if (isset($loggingConfiguration['lowUpperBound']) &&
-                    !isset($arguments['reportLowUpperBound'])) {
-                    $arguments['reportLowUpperBound'] = $loggingConfiguration['lowUpperBound'];
-                }
-
-                if (isset($loggingConfiguration['highLowerBound']) &&
-                    !isset($arguments['reportHighLowerBound'])) {
-                    $arguments['reportHighLowerBound'] = $loggingConfiguration['highLowerBound'];
-                }
-
-                $arguments['coverageHtml'] = $loggingConfiguration['coverage-html'];
-            }
-
-            if (isset($loggingConfiguration['coverage-php']) &&
-                !isset($arguments['coveragePHP'])) {
-                $arguments['coveragePHP'] = $loggingConfiguration['coverage-php'];
-            }
-
-            if (isset($loggingConfiguration['coverage-text']) &&
-                !isset($arguments['coverageText'])) {
-                $arguments['coverageText'] = $loggingConfiguration['coverage-text'];
-                if (isset($loggingConfiguration['coverageTextShowUncoveredFiles'])) {
-                    $arguments['coverageTextShowUncoveredFiles'] = $loggingConfiguration['coverageTextShowUncoveredFiles'];
-                } else {
-                    $arguments['coverageTextShowUncoveredFiles'] = false;
-                }
-                if (isset($loggingConfiguration['coverageTextShowOnlySummary'])) {
-                    $arguments['coverageTextShowOnlySummary'] = $loggingConfiguration['coverageTextShowOnlySummary'];
-                } else {
-                    $arguments['coverageTextShowOnlySummary'] = false;
-                }
-            }
-
-            if (isset($loggingConfiguration['coverage-xml']) &&
-                !isset($arguments['coverageXml'])) {
-                $arguments['coverageXml'] = $loggingConfiguration['coverage-xml'];
-            }
-
-            if (isset($loggingConfiguration['json']) &&
-                !isset($arguments['jsonLogfile'])) {
-                $arguments['jsonLogfile'] = $loggingConfiguration['json'];
-            }
-
-            if (isset($loggingConfiguration['plain'])) {
-                $arguments['listeners'][] = new PHPUnit_TextUI_ResultPrinter(
-                    $loggingConfiguration['plain'],
-                    true
-                );
-            }
-
-            if (isset($loggingConfiguration['tap']) &&
-                !isset($arguments['tapLogfile'])) {
-                $arguments['tapLogfile'] = $loggingConfiguration['tap'];
-            }
-
-            if (isset($loggingConfiguration['junit']) &&
-                !isset($arguments['junitLogfile'])) {
-                $arguments['junitLogfile'] = $loggingConfiguration['junit'];
-
-                if (isset($loggingConfiguration['logIncompleteSkipped']) &&
-                    !isset($arguments['logIncompleteSkipped'])) {
-                    $arguments['logIncompleteSkipped'] = $loggingConfiguration['logIncompleteSkipped'];
-                }
-            }
-
-            if (isset($loggingConfiguration['testdox-html']) &&
-                !isset($arguments['testdoxHTMLFile'])) {
-                $arguments['testdoxHTMLFile'] = $loggingConfiguration['testdox-html'];
-            }
-
-            if (isset($loggingConfiguration['testdox-text']) &&
-                !isset($arguments['testdoxTextFile'])) {
-                $arguments['testdoxTextFile'] = $loggingConfiguration['testdox-text'];
-            }
-
-            if ((isset($arguments['coverageClover']) ||
-                isset($arguments['coverageCrap4J']) ||
-                isset($arguments['coverageHtml']) ||
-                isset($arguments['coveragePHP']) ||
-                isset($arguments['coverageText']) ||
-                isset($arguments['coverageXml'])) &&
-                $this->canCollectCodeCoverage) {
-                $filterConfiguration = $arguments['configuration']->getFilterConfiguration();
-                $arguments['addUncoveredFilesFromWhitelist'] = $filterConfiguration['whitelist']['addUncoveredFilesFromWhitelist'];
-                $arguments['processUncoveredFilesFromWhitelist'] = $filterConfiguration['whitelist']['processUncoveredFilesFromWhitelist'];
-
-                if (empty($filterConfiguration['whitelist']['include']['directory']) &&
-                    empty($filterConfiguration['whitelist']['include']['file'])) {
-                    foreach ($filterConfiguration['blacklist']['include']['directory'] as $dir) {
-                        $this->codeCoverageFilter->addDirectoryToBlacklist(
-                            $dir['path'],
-                            $dir['suffix'],
-                            $dir['prefix'],
-                            $dir['group']
-                        );
-                    }
-
-                    foreach ($filterConfiguration['blacklist']['include']['file'] as $file) {
-                        $this->codeCoverageFilter->addFileToBlacklist($file);
-                    }
-
-                    foreach ($filterConfiguration['blacklist']['exclude']['directory'] as $dir) {
-                        $this->codeCoverageFilter->removeDirectoryFromBlacklist(
-                            $dir['path'],
-                            $dir['suffix'],
-                            $dir['prefix'],
-                            $dir['group']
-                        );
-                    }
-
-                    foreach ($filterConfiguration['blacklist']['exclude']['file'] as $file) {
-                        $this->codeCoverageFilter->removeFileFromBlacklist($file);
-                    }
-                }
-
-                foreach ($filterConfiguration['whitelist']['include']['directory'] as $dir) {
-                    $this->codeCoverageFilter->addDirectoryToWhitelist(
-                        $dir['path'],
-                        $dir['suffix'],
-                        $dir['prefix']
-                    );
-                }
-
-                foreach ($filterConfiguration['whitelist']['include']['file'] as $file) {
-                    $this->codeCoverageFilter->addFileToWhitelist($file);
-                }
-
-                foreach ($filterConfiguration['whitelist']['exclude']['directory'] as $dir) {
-                    $this->codeCoverageFilter->removeDirectoryFromWhitelist(
-                        $dir['path'],
-                        $dir['suffix'],
-                        $dir['prefix']
-                    );
-                }
-
-                foreach ($filterConfiguration['whitelist']['exclude']['file'] as $file) {
-                    $this->codeCoverageFilter->removeFileFromWhitelist($file);
-                }
-            }
-        }
-
-        $arguments['addUncoveredFilesFromWhitelist']     = isset($arguments['addUncoveredFilesFromWhitelist'])     ? $arguments['addUncoveredFilesFromWhitelist']     : true;
-        $arguments['processUncoveredFilesFromWhitelist'] = isset($arguments['processUncoveredFilesFromWhitelist']) ? $arguments['processUncoveredFilesFromWhitelist'] : false;
-        $arguments['backupGlobals']                      = isset($arguments['backupGlobals'])                      ? $arguments['backupGlobals']                      : null;
-        $arguments['backupStaticAttributes']             = isset($arguments['backupStaticAttributes'])             ? $arguments['backupStaticAttributes']             : null;
-        $arguments['disallowChangesToGlobalState']       = isset($arguments['disallowChangesToGlobalState'])       ? $arguments['disallowChangesToGlobalState']       : null;
-        $arguments['cacheTokens']                        = isset($arguments['cacheTokens'])                        ? $arguments['cacheTokens']                        : false;
-        $arguments['columns']                            = isset($arguments['columns'])                            ? $arguments['columns']                            : 80;
-        $arguments['colors']                             = isset($arguments['colors'])                             ? $arguments['colors']                             : PHPUnit_TextUI_ResultPrinter::COLOR_DEFAULT;
-        $arguments['convertErrorsToExceptions']          = isset($arguments['convertErrorsToExceptions'])          ? $arguments['convertErrorsToExceptions']          : true;
-        $arguments['convertNoticesToExceptions']         = isset($arguments['convertNoticesToExceptions'])         ? $arguments['convertNoticesToExceptions']         : true;
-        $arguments['convertWarningsToExceptions']        = isset($arguments['convertWarningsToExceptions'])        ? $arguments['convertWarningsToExceptions']        : true;
-        $arguments['excludeGroups']                      = isset($arguments['excludeGroups'])                      ? $arguments['excludeGroups']                      : array();
-        $arguments['groups']                             = isset($arguments['groups'])                             ? $arguments['groups']                             : array();
-        $arguments['logIncompleteSkipped']               = isset($arguments['logIncompleteSkipped'])               ? $arguments['logIncompleteSkipped']               : false;
-        $arguments['processIsolation']                   = isset($arguments['processIsolation'])                   ? $arguments['processIsolation']                   : false;
-        $arguments['repeat']                             = isset($arguments['repeat'])                             ? $arguments['repeat']                             : false;
-        $arguments['reportHighLowerBound']               = isset($arguments['reportHighLowerBound'])               ? $arguments['reportHighLowerBound']               : 90;
-        $arguments['reportLowUpperBound']                = isset($arguments['reportLowUpperBound'])                ? $arguments['reportLowUpperBound']                : 50;
-        $arguments['stopOnError']                        = isset($arguments['stopOnError'])                        ? $arguments['stopOnError']                        : false;
-        $arguments['stopOnFailure']                      = isset($arguments['stopOnFailure'])                      ? $arguments['stopOnFailure']                      : false;
-        $arguments['stopOnIncomplete']                   = isset($arguments['stopOnIncomplete'])                   ? $arguments['stopOnIncomplete']                   : false;
-        $arguments['stopOnRisky']                        = isset($arguments['stopOnRisky'])                        ? $arguments['stopOnRisky']                        : false;
-        $arguments['stopOnSkipped']                      = isset($arguments['stopOnSkipped'])                      ? $arguments['stopOnSkipped']                      : false;
-        $arguments['timeoutForSmallTests']               = isset($arguments['timeoutForSmallTests'])               ? $arguments['timeoutForSmallTests']               : 1;
-        $arguments['timeoutForMediumTests']              = isset($arguments['timeoutForMediumTests'])              ? $arguments['timeoutForMediumTests']              : 10;
-        $arguments['timeoutForLargeTests']               = isset($arguments['timeoutForLargeTests'])               ? $arguments['timeoutForLargeTests']               : 60;
-        $arguments['reportUselessTests']                 = isset($arguments['reportUselessTests'])                 ? $arguments['reportUselessTests']                 : false;
-        $arguments['strictCoverage']                     = isset($arguments['strictCoverage'])                     ? $arguments['strictCoverage']                     : false;
-        $arguments['disallowTestOutput']                 = isset($arguments['disallowTestOutput'])                 ? $arguments['disallowTestOutput']                 : false;
-        $arguments['enforceTimeLimit']                   = isset($arguments['enforceTimeLimit'])                   ? $arguments['enforceTimeLimit']                   : false;
-        $arguments['disallowTodoAnnotatedTests']         = isset($arguments['disallowTodoAnnotatedTests'])         ? $arguments['disallowTodoAnnotatedTests']         : false;
-        $arguments['verbose']                            = isset($arguments['verbose'])                            ? $arguments['verbose']                            : false;
-    }
-
-    /**
-     * @param $extension
-     * @param string $message
-     * @since Method available since Release 4.0.0
-     */
-    private function showExtensionNotLoadedMessage($extension, $message = '')
-    {
-        if (isset($this->missingExtensions[$extension])) {
-            return;
-        }
-
-        if (!empty($message)) {
-            $message = ' ' . $message;
-        }
-
-        $this->showMessage(
-            'The ' . $extension . ' extension is not loaded.' . $message . "\n"
-        );
-
-        $this->missingExtensions[$extension] = true;
-    }
-
-    /**
-     * Shows a message.
-     *
-     * @param string  $message
-     * @param boolean $exit
-     * @since Method available since Release 4.0.0
-     */
-    private function showMessage($message, $exit = false)
-    {
-        $this->write($message . "\n");
-
-        if ($exit) {
-            exit(self::EXCEPTION_EXIT);
-        }
-    }
-
-    /**
-     * @return PHP_CodeCoverage_Filter
-     */
-    private function getCodeCoverageFilter()
-    {
-        $filter = new PHP_CodeCoverage_Filter;
-
-        if (defined('__PHPUNIT_PHAR__')) {
-            $filter->addFileToBlacklist(__PHPUNIT_PHAR__);
-        }
-
-        $blacklist = new PHPUnit_Util_Blacklist;
-
-        foreach ($blacklist->getBlacklistedDirectories() as $directory) {
-            $filter->addDirectoryToBlacklist($directory);
-        }
-
-        return $filter;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Blacklist.php b/core/vendor/phpunit/phpunit/src/Util/Blacklist.php
deleted file mode 100644
index 367c33d..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Blacklist.php
+++ /dev/null
@@ -1,120 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility class for blacklisting PHPUnit's own source code files.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class PHPUnit_Util_Blacklist
-{
-    /**
-     * @var array
-     */
-    public static $blacklistedClassNames = array(
-        'File_Iterator' => 1,
-        'PHP_CodeCoverage' => 1,
-        'PHP_Invoker' => 1,
-        'PHP_Timer' => 1,
-        'PHP_Token' => 1,
-        'PHPUnit_Framework_TestCase' => 2,
-        'PHPUnit_Extensions_Database_TestCase' => 2,
-        'PHPUnit_Framework_MockObject_Generator' => 2,
-        'PHPUnit_Extensions_SeleniumTestCase' => 2,
-        'PHPUnit_Extensions_Story_TestCase' => 2,
-        'Text_Template' => 1,
-        'Symfony\Component\Yaml\Yaml' => 1,
-        'SebastianBergmann\Diff\Diff' => 1,
-        'SebastianBergmann\Environment\Runtime' => 1,
-        'SebastianBergmann\Comparator\Comparator' => 1,
-        'SebastianBergmann\Exporter\Exporter' => 1,
-        'SebastianBergmann\GlobalState\Snapshot' => 1,
-        'SebastianBergmann\RecursionContext\Context' => 1,
-        'SebastianBergmann\Version' => 1,
-        'Composer\Autoload\ClassLoader' => 1,
-        'Doctrine\Instantiator\Instantiator' => 1,
-        'phpDocumentor\Reflection\DocBlock' => 1,
-        'Prophecy\Prophet' => 1
-    );
-
-    /**
-     * @var array
-     */
-    private static $directories;
-
-    /**
-     * @return array
-     * @since  Method available since Release 4.1.0
-     */
-    public function getBlacklistedDirectories()
-    {
-        $this->initialize();
-
-        return self::$directories;
-    }
-
-    /**
-     * @param  string  $file
-     * @return boolean
-     */
-    public function isBlacklisted($file)
-    {
-        if (defined('PHPUNIT_TESTSUITE')) {
-            return false;
-        }
-
-        $this->initialize();
-
-        foreach (self::$directories as $directory) {
-            if (strpos($file, $directory) === 0) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    private function initialize()
-    {
-        if (self::$directories === null) {
-            self::$directories = array();
-
-            foreach (self::$blacklistedClassNames as $className => $parent) {
-                if (!class_exists($className)) {
-                    continue;
-                }
-
-                $reflector = new ReflectionClass($className);
-                $directory = $reflector->getFileName();
-
-                for ($i = 0; $i < $parent; $i++) {
-                    $directory = dirname($directory);
-                }
-
-                self::$directories[] = $directory;
-            }
-
-            // Hide process isolation workaround on Windows.
-            // @see PHPUnit_Util_PHP::factory()
-            // @see PHPUnit_Util_PHP_Windows::process()
-            if (DIRECTORY_SEPARATOR === '\\') {
-                // tempnam() prefix is limited to first 3 chars.
-                // @see http://php.net/manual/en/function.tempnam.php
-                self::$directories[] = sys_get_temp_dir() . '\\PHP';
-            }
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Configuration.php b/core/vendor/phpunit/phpunit/src/Util/Configuration.php
deleted file mode 100644
index fb36fbb..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Configuration.php
+++ /dev/null
@@ -1,1126 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for the PHPUnit XML configuration file.
- *
- * Example XML configuration file:
- * <code>
- * <?xml version="1.0" encoding="utf-8" ?>
- *
- * <phpunit backupGlobals="true"
- *          backupStaticAttributes="false"
- *          bootstrap="/path/to/bootstrap.php"
- *          cacheTokens="false"
- *          columns="80"
- *          colors="false"
- *          stderr="false"
- *          convertErrorsToExceptions="true"
- *          convertNoticesToExceptions="true"
- *          convertWarningsToExceptions="true"
- *          forceCoversAnnotation="false"
- *          mapTestClassNameToCoveredClassName="false"
- *          printerClass="PHPUnit_TextUI_ResultPrinter"
- *          processIsolation="false"
- *          stopOnError="false"
- *          stopOnFailure="false"
- *          stopOnIncomplete="false"
- *          stopOnRisky="false"
- *          stopOnSkipped="false"
- *          testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader"
- *          timeoutForSmallTests="1"
- *          timeoutForMediumTests="10"
- *          timeoutForLargeTests="60"
- *          beStrictAboutTestsThatDoNotTestAnything="false"
- *          beStrictAboutOutputDuringTests="false"
- *          beStrictAboutTestSize="false"
- *          beStrictAboutTodoAnnotatedTests="false"
- *          checkForUnintentionallyCoveredCode="false"
- *          disallowChangesToGlobalState="false"
- *          verbose="false">
- *   <testsuites>
- *     <testsuite name="My Test Suite">
- *       <directory suffix="Test.php" phpVersion="5.3.0" phpVersionOperator=">=">/path/to/files</directory>
- *       <file phpVersion="5.3.0" phpVersionOperator=">=">/path/to/MyTest.php</file>
- *       <exclude>/path/to/files/exclude</exclude>
- *     </testsuite>
- *   </testsuites>
- *
- *   <groups>
- *     <include>
- *       <group>name</group>
- *     </include>
- *     <exclude>
- *       <group>name</group>
- *     </exclude>
- *   </groups>
- *
- *   <filter>
- *     <blacklist>
- *       <directory suffix=".php">/path/to/files</directory>
- *       <file>/path/to/file</file>
- *       <exclude>
- *         <directory suffix=".php">/path/to/files</directory>
- *         <file>/path/to/file</file>
- *       </exclude>
- *     </blacklist>
- *     <whitelist addUncoveredFilesFromWhitelist="true"
- *                processUncoveredFilesFromWhitelist="false">
- *       <directory suffix=".php">/path/to/files</directory>
- *       <file>/path/to/file</file>
- *       <exclude>
- *         <directory suffix=".php">/path/to/files</directory>
- *         <file>/path/to/file</file>
- *       </exclude>
- *     </whitelist>
- *   </filter>
- *
- *   <listeners>
- *     <listener class="MyListener" file="/optional/path/to/MyListener.php">
- *       <arguments>
- *         <array>
- *           <element key="0">
- *             <string>Sebastian</string>
- *           </element>
- *         </array>
- *         <integer>22</integer>
- *         <string>April</string>
- *         <double>19.78</double>
- *         <null/>
- *         <object class="stdClass"/>
- *         <file>MyRelativeFile.php</file>
- *         <directory>MyRelativeDir</directory>
- *       </arguments>
- *     </listener>
- *   </listeners>
- *
- *   <logging>
- *     <log type="coverage-html" target="/tmp/report" lowUpperBound="50" highLowerBound="90"/>
- *     <log type="coverage-clover" target="/tmp/clover.xml"/>
- *     <log type="json" target="/tmp/logfile.json"/>
- *     <log type="plain" target="/tmp/logfile.txt"/>
- *     <log type="tap" target="/tmp/logfile.tap"/>
- *     <log type="junit" target="/tmp/logfile.xml" logIncompleteSkipped="false"/>
- *     <log type="testdox-html" target="/tmp/testdox.html"/>
- *     <log type="testdox-text" target="/tmp/testdox.txt"/>
- *     <log type="coverage-crap4j" target="/tmp/crap.xml"/>
- *   </logging>
- *
- *   <php>
- *     <includePath>.</includePath>
- *     <ini name="foo" value="bar"/>
- *     <const name="foo" value="bar"/>
- *     <var name="foo" value="bar"/>
- *     <env name="foo" value="bar"/>
- *     <post name="foo" value="bar"/>
- *     <get name="foo" value="bar"/>
- *     <cookie name="foo" value="bar"/>
- *     <server name="foo" value="bar"/>
- *     <files name="foo" value="bar"/>
- *     <request name="foo" value="bar"/>
- *   </php>
- *
- *   <selenium>
- *     <browser name="Firefox on Linux"
- *              browser="*firefox /usr/lib/firefox/firefox-bin"
- *              host="my.linux.box"
- *              port="4444"
- *              timeout="30000"/>
- *   </selenium>
- * </phpunit>
- * </code>
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.2.0
- */
-class PHPUnit_Util_Configuration
-{
-    private static $instances = array();
-
-    protected $document;
-    protected $xpath;
-    protected $filename;
-
-    /**
-     * Loads a PHPUnit configuration file.
-     *
-     * @param string $filename
-     */
-    protected function __construct($filename)
-    {
-        $this->filename = $filename;
-        $this->document = PHPUnit_Util_XML::loadFile($filename, false, true, true);
-        $this->xpath    = new DOMXPath($this->document);
-    }
-
-    /**
-     * @since  Method available since Release 3.4.0
-     */
-    final private function __clone()
-    {
-    }
-
-    /**
-     * Returns a PHPUnit configuration object.
-     *
-     * @param  string                     $filename
-     * @return PHPUnit_Util_Configuration
-     * @since  Method available since Release 3.4.0
-     */
-    public static function getInstance($filename)
-    {
-        $realpath = realpath($filename);
-
-        if ($realpath === false) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'Could not read "%s".',
-                    $filename
-                )
-            );
-        }
-
-        if (!isset(self::$instances[$realpath])) {
-            self::$instances[$realpath] = new PHPUnit_Util_Configuration($realpath);
-        }
-
-        return self::$instances[$realpath];
-    }
-
-    /**
-     * Returns the realpath to the configuration file.
-     *
-     * @return string
-     * @since  Method available since Release 3.6.0
-     */
-    public function getFilename()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * Returns the configuration for SUT filtering.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.1
-     */
-    public function getFilterConfiguration()
-    {
-        $addUncoveredFilesFromWhitelist     = true;
-        $processUncoveredFilesFromWhitelist = false;
-
-        $tmp = $this->xpath->query('filter/whitelist');
-
-        if ($tmp->length == 1) {
-            if ($tmp->item(0)->hasAttribute('addUncoveredFilesFromWhitelist')) {
-                $addUncoveredFilesFromWhitelist = $this->getBoolean(
-                    (string) $tmp->item(0)->getAttribute(
-                        'addUncoveredFilesFromWhitelist'
-                    ),
-                    true
-                );
-            }
-
-            if ($tmp->item(0)->hasAttribute('processUncoveredFilesFromWhitelist')) {
-                $processUncoveredFilesFromWhitelist = $this->getBoolean(
-                    (string) $tmp->item(0)->getAttribute(
-                        'processUncoveredFilesFromWhitelist'
-                    ),
-                    false
-                );
-            }
-        }
-
-        return array(
-          'blacklist' => array(
-            'include' => array(
-              'directory' => $this->readFilterDirectories(
-                  'filter/blacklist/directory'
-              ),
-              'file' => $this->readFilterFiles(
-                  'filter/blacklist/file'
-              )
-            ),
-            'exclude' => array(
-              'directory' => $this->readFilterDirectories(
-                  'filter/blacklist/exclude/directory'
-              ),
-              'file' => $this->readFilterFiles(
-                  'filter/blacklist/exclude/file'
-              )
-            )
-          ),
-          'whitelist' => array(
-            'addUncoveredFilesFromWhitelist' => $addUncoveredFilesFromWhitelist,
-            'processUncoveredFilesFromWhitelist' => $processUncoveredFilesFromWhitelist,
-            'include' => array(
-              'directory' => $this->readFilterDirectories(
-                  'filter/whitelist/directory'
-              ),
-              'file' => $this->readFilterFiles(
-                  'filter/whitelist/file'
-              )
-            ),
-            'exclude' => array(
-              'directory' => $this->readFilterDirectories(
-                  'filter/whitelist/exclude/directory'
-              ),
-              'file' => $this->readFilterFiles(
-                  'filter/whitelist/exclude/file'
-              )
-            )
-          )
-        );
-    }
-
-    /**
-     * Returns the configuration for groups.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.1
-     */
-    public function getGroupConfiguration()
-    {
-        $groups = array(
-          'include' => array(),
-          'exclude' => array()
-        );
-
-        foreach ($this->xpath->query('groups/include/group') as $group) {
-            $groups['include'][] = (string) $group->nodeValue;
-        }
-
-        foreach ($this->xpath->query('groups/exclude/group') as $group) {
-            $groups['exclude'][] = (string) $group->nodeValue;
-        }
-
-        return $groups;
-    }
-
-    /**
-     * Returns the configuration for listeners.
-     *
-     * @return array
-     * @since  Method available since Release 3.4.0
-     */
-    public function getListenerConfiguration()
-    {
-        $result = array();
-
-        foreach ($this->xpath->query('listeners/listener') as $listener) {
-            $class     = (string) $listener->getAttribute('class');
-            $file      = '';
-            $arguments = array();
-
-            if ($listener->getAttribute('file')) {
-                $file = $this->toAbsolutePath(
-                    (string) $listener->getAttribute('file'),
-                    true
-                );
-            }
-
-            foreach ($listener->childNodes as $node) {
-                if ($node instanceof DOMElement && $node->tagName == 'arguments') {
-                    foreach ($node->childNodes as $argument) {
-                        if ($argument instanceof DOMElement) {
-                            if ($argument->tagName == 'file' ||
-                            $argument->tagName == 'directory') {
-                                $arguments[] = $this->toAbsolutePath((string) $argument->nodeValue);
-                            } else {
-                                $arguments[] = PHPUnit_Util_XML::xmlToVariable($argument);
-                            }
-                        }
-                    }
-                }
-            }
-
-            $result[] = array(
-              'class'     => $class,
-              'file'      => $file,
-              'arguments' => $arguments
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the logging configuration.
-     *
-     * @return array
-     */
-    public function getLoggingConfiguration()
-    {
-        $result = array();
-
-        foreach ($this->xpath->query('logging/log') as $log) {
-            $type = (string) $log->getAttribute('type');
-            $target = (string) $log->getAttribute('target');
-
-            if (!$target) {
-                continue;
-            }
-
-            $target = $this->toAbsolutePath($target);
-
-            if ($type == 'coverage-html') {
-                if ($log->hasAttribute('lowUpperBound')) {
-                    $result['lowUpperBound'] = (string) $log->getAttribute('lowUpperBound');
-                }
-
-                if ($log->hasAttribute('highLowerBound')) {
-                    $result['highLowerBound'] = (string) $log->getAttribute('highLowerBound');
-                }
-            } elseif ($type == 'junit') {
-                if ($log->hasAttribute('logIncompleteSkipped')) {
-                    $result['logIncompleteSkipped'] = $this->getBoolean(
-                        (string) $log->getAttribute('logIncompleteSkipped'),
-                        false
-                    );
-                }
-            } elseif ($type == 'coverage-text') {
-                if ($log->hasAttribute('showUncoveredFiles')) {
-                    $result['coverageTextShowUncoveredFiles'] = $this->getBoolean(
-                        (string) $log->getAttribute('showUncoveredFiles'),
-                        false
-                    );
-                }
-                if ($log->hasAttribute('showOnlySummary')) {
-                    $result['coverageTextShowOnlySummary'] = $this->getBoolean(
-                        (string) $log->getAttribute('showOnlySummary'),
-                        false
-                    );
-                }
-            }
-
-            $result[$type] = $target;
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the PHP configuration.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.1
-     */
-    public function getPHPConfiguration()
-    {
-        $result = array(
-          'include_path' => array(),
-          'ini'          => array(),
-          'const'        => array(),
-          'var'          => array(),
-          'env'          => array(),
-          'post'         => array(),
-          'get'          => array(),
-          'cookie'       => array(),
-          'server'       => array(),
-          'files'        => array(),
-          'request'      => array()
-        );
-
-        foreach ($this->xpath->query('php/includePath') as $includePath) {
-            $path = (string) $includePath->nodeValue;
-            if ($path) {
-                $result['include_path'][] = $this->toAbsolutePath($path);
-            }
-        }
-
-        foreach ($this->xpath->query('php/ini') as $ini) {
-            $name  = (string) $ini->getAttribute('name');
-            $value = (string) $ini->getAttribute('value');
-
-            $result['ini'][$name] = $value;
-        }
-
-        foreach ($this->xpath->query('php/const') as $const) {
-            $name  = (string) $const->getAttribute('name');
-            $value = (string) $const->getAttribute('value');
-
-            $result['const'][$name] = $this->getBoolean($value, $value);
-        }
-
-        foreach (array('var', 'env', 'post', 'get', 'cookie', 'server', 'files', 'request') as $array) {
-            foreach ($this->xpath->query('php/' . $array) as $var) {
-                $name  = (string) $var->getAttribute('name');
-                $value = (string) $var->getAttribute('value');
-
-                $result[$array][$name] = $this->getBoolean($value, $value);
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * Handles the PHP configuration.
-     *
-     * @since  Method available since Release 3.2.20
-     */
-    public function handlePHPConfiguration()
-    {
-        $configuration = $this->getPHPConfiguration();
-
-        if (! empty($configuration['include_path'])) {
-            ini_set(
-                'include_path',
-                implode(PATH_SEPARATOR, $configuration['include_path']) .
-                PATH_SEPARATOR .
-                ini_get('include_path')
-            );
-        }
-
-        foreach ($configuration['ini'] as $name => $value) {
-            if (defined($value)) {
-                $value = constant($value);
-            }
-
-            ini_set($name, $value);
-        }
-
-        foreach ($configuration['const'] as $name => $value) {
-            if (!defined($name)) {
-                define($name, $value);
-            }
-        }
-
-        foreach (array('var', 'post', 'get', 'cookie', 'server', 'files', 'request') as $array) {
-            // See https://github.com/sebastianbergmann/phpunit/issues/277
-            switch ($array) {
-                case 'var':
-                    $target = &$GLOBALS;
-                    break;
-
-                case 'server':
-                    $target = &$_SERVER;
-                    break;
-
-                default:
-                    $target = &$GLOBALS['_' . strtoupper($array)];
-                    break;
-            }
-
-            foreach ($configuration[$array] as $name => $value) {
-                $target[$name] = $value;
-            }
-        }
-
-        foreach ($configuration['env'] as $name => $value) {
-            if (false === getenv($name)) {
-                putenv("{$name}={$value}");
-            }
-            if (!isset($_ENV[$name])) {
-                $_ENV[$name] = $value;
-            }
-        }
-    }
-
-    /**
-     * Returns the PHPUnit configuration.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.14
-     */
-    public function getPHPUnitConfiguration()
-    {
-        $result = array();
-        $root   = $this->document->documentElement;
-
-        if ($root->hasAttribute('cacheTokens')) {
-            $result['cacheTokens'] = $this->getBoolean(
-                (string) $root->getAttribute('cacheTokens'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('columns')) {
-            $columns = (string) $root->getAttribute('columns');
-
-            if ($columns == 'max') {
-                $result['columns'] = 'max';
-            } else {
-                $result['columns'] = $this->getInteger($columns, 80);
-            }
-        }
-
-        if ($root->hasAttribute('colors')) {
-            /* only allow boolean for compatibility with previous versions
-              'always' only allowed from command line */
-            if ($this->getBoolean($root->getAttribute('colors'), false)) {
-                $result['colors'] = PHPUnit_TextUI_ResultPrinter::COLOR_AUTO;
-            } else {
-                $result['colors'] = PHPUnit_TextUI_ResultPrinter::COLOR_NEVER;
-            }
-        }
-
-        /**
-         * Issue #657
-         */
-        if ($root->hasAttribute('stderr')) {
-            $result['stderr'] = $this->getBoolean(
-                (string)$root->getAttribute('stderr'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('backupGlobals')) {
-            $result['backupGlobals'] = $this->getBoolean(
-                (string) $root->getAttribute('backupGlobals'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('backupStaticAttributes')) {
-            $result['backupStaticAttributes'] = $this->getBoolean(
-                (string) $root->getAttribute('backupStaticAttributes'),
-                false
-            );
-        }
-
-        if ($root->getAttribute('bootstrap')) {
-            $result['bootstrap'] = $this->toAbsolutePath(
-                (string) $root->getAttribute('bootstrap')
-            );
-        }
-
-        if ($root->hasAttribute('convertErrorsToExceptions')) {
-            $result['convertErrorsToExceptions'] = $this->getBoolean(
-                (string) $root->getAttribute('convertErrorsToExceptions'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('convertNoticesToExceptions')) {
-            $result['convertNoticesToExceptions'] = $this->getBoolean(
-                (string) $root->getAttribute('convertNoticesToExceptions'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('convertWarningsToExceptions')) {
-            $result['convertWarningsToExceptions'] = $this->getBoolean(
-                (string) $root->getAttribute('convertWarningsToExceptions'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('forceCoversAnnotation')) {
-            $result['forceCoversAnnotation'] = $this->getBoolean(
-                (string) $root->getAttribute('forceCoversAnnotation'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('mapTestClassNameToCoveredClassName')) {
-            $result['mapTestClassNameToCoveredClassName'] = $this->getBoolean(
-                (string) $root->getAttribute('mapTestClassNameToCoveredClassName'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('processIsolation')) {
-            $result['processIsolation'] = $this->getBoolean(
-                (string) $root->getAttribute('processIsolation'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnError')) {
-            $result['stopOnError'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnError'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnFailure')) {
-            $result['stopOnFailure'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnFailure'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnIncomplete')) {
-            $result['stopOnIncomplete'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnIncomplete'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnRisky')) {
-            $result['stopOnRisky'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnRisky'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnSkipped')) {
-            $result['stopOnSkipped'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnSkipped'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('testSuiteLoaderClass')) {
-            $result['testSuiteLoaderClass'] = (string) $root->getAttribute(
-                'testSuiteLoaderClass'
-            );
-        }
-
-        if ($root->getAttribute('testSuiteLoaderFile')) {
-            $result['testSuiteLoaderFile'] = $this->toAbsolutePath(
-                (string) $root->getAttribute('testSuiteLoaderFile')
-            );
-        }
-
-        if ($root->hasAttribute('printerClass')) {
-            $result['printerClass'] = (string) $root->getAttribute(
-                'printerClass'
-            );
-        }
-
-        if ($root->getAttribute('printerFile')) {
-            $result['printerFile'] = $this->toAbsolutePath(
-                (string) $root->getAttribute('printerFile')
-            );
-        }
-
-        if ($root->hasAttribute('timeoutForSmallTests')) {
-            $result['timeoutForSmallTests'] = $this->getInteger(
-                (string) $root->getAttribute('timeoutForSmallTests'),
-                1
-            );
-        }
-
-        if ($root->hasAttribute('timeoutForMediumTests')) {
-            $result['timeoutForMediumTests'] = $this->getInteger(
-                (string) $root->getAttribute('timeoutForMediumTests'),
-                10
-            );
-        }
-
-        if ($root->hasAttribute('timeoutForLargeTests')) {
-            $result['timeoutForLargeTests'] = $this->getInteger(
-                (string) $root->getAttribute('timeoutForLargeTests'),
-                60
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutTestsThatDoNotTestAnything')) {
-            $result['reportUselessTests'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutTestsThatDoNotTestAnything'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('checkForUnintentionallyCoveredCode')) {
-            $result['strictCoverage'] = $this->getBoolean(
-                (string) $root->getAttribute('checkForUnintentionallyCoveredCode'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutOutputDuringTests')) {
-            $result['disallowTestOutput'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutOutputDuringTests'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutChangesToGlobalState')) {
-            $result['disallowChangesToGlobalState'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutChangesToGlobalState'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutTestSize')) {
-            $result['enforceTimeLimit'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutTestSize'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutTodoAnnotatedTests')) {
-            $result['disallowTodoAnnotatedTests'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutTodoAnnotatedTests'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('strict')) {
-            $flag = $this->getBoolean(
-                (string) $root->getAttribute('strict'),
-                false
-            );
-
-            $result['reportUselessTests']          = $flag;
-            $result['strictCoverage']              = $flag;
-            $result['disallowTestOutput']          = $flag;
-            $result['enforceTimeLimit']            = $flag;
-            $result['disallowTodoAnnotatedTests']  = $flag;
-            $result['deprecatedStrictModeSetting'] = true;
-        }
-
-        if ($root->hasAttribute('verbose')) {
-            $result['verbose'] = $this->getBoolean(
-                (string) $root->getAttribute('verbose'),
-                false
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the SeleniumTestCase browser configuration.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.9
-     */
-    public function getSeleniumBrowserConfiguration()
-    {
-        $result = array();
-
-        foreach ($this->xpath->query('selenium/browser') as $config) {
-            $name    = (string) $config->getAttribute('name');
-            $browser = (string) $config->getAttribute('browser');
-
-            if ($config->hasAttribute('host')) {
-                $host = (string) $config->getAttribute('host');
-            } else {
-                $host = 'localhost';
-            }
-
-            if ($config->hasAttribute('port')) {
-                $port = $this->getInteger(
-                    (string) $config->getAttribute('port'),
-                    4444
-                );
-            } else {
-                $port = 4444;
-            }
-
-            if ($config->hasAttribute('timeout')) {
-                $timeout = $this->getInteger(
-                    (string) $config->getAttribute('timeout'),
-                    30000
-                );
-            } else {
-                $timeout = 30000;
-            }
-
-            $result[] = array(
-              'name'    => $name,
-              'browser' => $browser,
-              'host'    => $host,
-              'port'    => $port,
-              'timeout' => $timeout
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the test suite configuration.
-     *
-     * @return PHPUnit_Framework_TestSuite
-     * @since  Method available since Release 3.2.1
-     */
-    public function getTestSuiteConfiguration($testSuiteFilter = null)
-    {
-        $testSuiteNodes = $this->xpath->query('testsuites/testsuite');
-
-        if ($testSuiteNodes->length == 0) {
-            $testSuiteNodes = $this->xpath->query('testsuite');
-        }
-
-        if ($testSuiteNodes->length == 1) {
-            return $this->getTestSuite($testSuiteNodes->item(0), $testSuiteFilter);
-        }
-
-        if ($testSuiteNodes->length > 1) {
-            $suite = new PHPUnit_Framework_TestSuite;
-
-            foreach ($testSuiteNodes as $testSuiteNode) {
-                $suite->addTestSuite(
-                    $this->getTestSuite($testSuiteNode, $testSuiteFilter)
-                );
-            }
-
-            return $suite;
-        }
-    }
-
-    /**
-     * @param  DOMElement                  $testSuiteNode
-     * @return PHPUnit_Framework_TestSuite
-     * @since  Method available since Release 3.4.0
-     */
-    protected function getTestSuite(DOMElement $testSuiteNode, $testSuiteFilter = null)
-    {
-        if ($testSuiteNode->hasAttribute('name')) {
-            $suite = new PHPUnit_Framework_TestSuite(
-                (string) $testSuiteNode->getAttribute('name')
-            );
-        } else {
-            $suite = new PHPUnit_Framework_TestSuite;
-        }
-
-        $exclude = array();
-
-        foreach ($testSuiteNode->getElementsByTagName('exclude') as $excludeNode) {
-            $excludeFile = (string) $excludeNode->nodeValue;
-            if ($excludeFile) {
-                $exclude[] = $this->toAbsolutePath($excludeFile);
-            }
-        }
-
-        $fileIteratorFacade = new File_Iterator_Facade;
-
-        foreach ($testSuiteNode->getElementsByTagName('directory') as $directoryNode) {
-            if ($testSuiteFilter && $directoryNode->parentNode->getAttribute('name') != $testSuiteFilter) {
-                continue;
-            }
-
-            $directory = (string) $directoryNode->nodeValue;
-
-            if (empty($directory)) {
-                continue;
-            }
-
-            if ($directoryNode->hasAttribute('phpVersion')) {
-                $phpVersion = (string) $directoryNode->getAttribute('phpVersion');
-            } else {
-                $phpVersion = PHP_VERSION;
-            }
-
-            if ($directoryNode->hasAttribute('phpVersionOperator')) {
-                $phpVersionOperator = (string) $directoryNode->getAttribute('phpVersionOperator');
-            } else {
-                $phpVersionOperator = '>=';
-            }
-
-            if (!version_compare(PHP_VERSION, $phpVersion, $phpVersionOperator)) {
-                continue;
-            }
-
-            if ($directoryNode->hasAttribute('prefix')) {
-                $prefix = (string) $directoryNode->getAttribute('prefix');
-            } else {
-                $prefix = '';
-            }
-
-            if ($directoryNode->hasAttribute('suffix')) {
-                $suffix = (string) $directoryNode->getAttribute('suffix');
-            } else {
-                $suffix = 'Test.php';
-            }
-
-            $files = $fileIteratorFacade->getFilesAsArray(
-                $this->toAbsolutePath($directory),
-                $suffix,
-                $prefix,
-                $exclude
-            );
-            $suite->addTestFiles($files);
-        }
-
-        foreach ($testSuiteNode->getElementsByTagName('file') as $fileNode) {
-            if ($testSuiteFilter && $fileNode->parentNode->getAttribute('name') != $testSuiteFilter) {
-                continue;
-            }
-
-            $file = (string) $fileNode->nodeValue;
-
-            if (empty($file)) {
-                continue;
-            }
-
-            // Get the absolute path to the file
-            $file = $fileIteratorFacade->getFilesAsArray(
-                $this->toAbsolutePath($file)
-            );
-
-            if (!isset($file[0])) {
-                continue;
-            }
-
-            $file = $file[0];
-
-            if ($fileNode->hasAttribute('phpVersion')) {
-                $phpVersion = (string) $fileNode->getAttribute('phpVersion');
-            } else {
-                $phpVersion = PHP_VERSION;
-            }
-
-            if ($fileNode->hasAttribute('phpVersionOperator')) {
-                $phpVersionOperator = (string) $fileNode->getAttribute('phpVersionOperator');
-            } else {
-                $phpVersionOperator = '>=';
-            }
-
-            if (!version_compare(PHP_VERSION, $phpVersion, $phpVersionOperator)) {
-                continue;
-            }
-
-            $suite->addTestFile($file);
-        }
-
-        return $suite;
-    }
-
-    /**
-     * @param  string  $value
-     * @param  boolean $default
-     * @return boolean
-     * @since  Method available since Release 3.2.3
-     */
-    protected function getBoolean($value, $default)
-    {
-        if (strtolower($value) == 'false') {
-            return false;
-        } elseif (strtolower($value) == 'true') {
-            return true;
-        }
-
-        return $default;
-    }
-
-    /**
-     * @param  string  $value
-     * @param  boolean $default
-     * @return boolean
-     * @since  Method available since Release 3.6.0
-     */
-    protected function getInteger($value, $default)
-    {
-        if (is_numeric($value)) {
-            return (int) $value;
-        }
-
-        return $default;
-    }
-
-    /**
-     * @param  string $query
-     * @return array
-     * @since  Method available since Release 3.2.3
-     */
-    protected function readFilterDirectories($query)
-    {
-        $directories = array();
-
-        foreach ($this->xpath->query($query) as $directory) {
-            $directoryPath = (string) $directory->nodeValue;
-
-            if (!$directoryPath) {
-                continue;
-            }
-
-            if ($directory->hasAttribute('prefix')) {
-                $prefix = (string) $directory->getAttribute('prefix');
-            } else {
-                $prefix = '';
-            }
-
-            if ($directory->hasAttribute('suffix')) {
-                $suffix = (string) $directory->getAttribute('suffix');
-            } else {
-                $suffix = '.php';
-            }
-
-            if ($directory->hasAttribute('group')) {
-                $group = (string) $directory->getAttribute('group');
-            } else {
-                $group = 'DEFAULT';
-            }
-
-            $directories[] = array(
-              'path'   => $this->toAbsolutePath($directoryPath),
-              'prefix' => $prefix,
-              'suffix' => $suffix,
-              'group'  => $group
-            );
-        }
-
-        return $directories;
-    }
-
-    /**
-     * @param  string $query
-     * @return array
-     * @since  Method available since Release 3.2.3
-     */
-    protected function readFilterFiles($query)
-    {
-        $files = array();
-
-        foreach ($this->xpath->query($query) as $file) {
-            $filePath = (string) $file->nodeValue;
-            if ($filePath) {
-                $files[] = $this->toAbsolutePath($filePath);
-            }
-        }
-
-        return $files;
-    }
-
-    /**
-     * @param  string  $path
-     * @param  boolean $useIncludePath
-     * @return string
-     * @since  Method available since Release 3.5.0
-     */
-    protected function toAbsolutePath($path, $useIncludePath = false)
-    {
-        if ($path[0] === '/') {
-            return $path;
-        }
-
-        // Matches the following on Windows:
-        //  - \\NetworkComputer\Path
-        //  - \\.\D:
-        //  - \\.\c:
-        //  - C:\Windows
-        //  - C:\windows
-        //  - C:/windows
-        //  - c:/windows
-        if (defined('PHP_WINDOWS_VERSION_BUILD') &&
-            ($path[0] === '\\' ||
-            (strlen($path) >= 3 && preg_match('#^[A-Z]\:[/\\\]#i', substr($path, 0, 3))))) {
-            return $path;
-        }
-
-        // Stream
-        if (strpos($path, '://') !== false) {
-            return $path;
-        }
-
-        $file = dirname($this->filename) . DIRECTORY_SEPARATOR . $path;
-
-        if ($useIncludePath && !file_exists($file)) {
-            $includePathFile = stream_resolve_include_path($path);
-
-            if ($includePathFile) {
-                $file = $includePathFile;
-            }
-        }
-
-        return $file;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/ErrorHandler.php b/core/vendor/phpunit/phpunit/src/Util/ErrorHandler.php
deleted file mode 100644
index d56a37d..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/ErrorHandler.php
+++ /dev/null
@@ -1,120 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-// Workaround for http://bugs.php.net/bug.php?id=47987,
-// see https://github.com/sebastianbergmann/phpunit/issues#issue/125 for details
-require_once __DIR__ . '/../Framework/Error.php';
-require_once __DIR__ . '/../Framework/Error/Notice.php';
-require_once __DIR__ . '/../Framework/Error/Warning.php';
-require_once __DIR__ . '/../Framework/Error/Deprecated.php';
-
-/**
- * Error handler that converts PHP errors and warnings to exceptions.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.0
- */
-class PHPUnit_Util_ErrorHandler
-{
-    protected static $errorStack = array();
-
-    /**
-     * Returns the error stack.
-     *
-     * @return array
-     */
-    public static function getErrorStack()
-    {
-        return self::$errorStack;
-    }
-
-    /**
-     * @param  integer                 $errno
-     * @param  string                  $errstr
-     * @param  string                  $errfile
-     * @param  integer                 $errline
-     * @throws PHPUnit_Framework_Error
-     */
-    public static function handleError($errno, $errstr, $errfile, $errline)
-    {
-        if (!($errno & error_reporting())) {
-            return false;
-        }
-
-        self::$errorStack[] = array($errno, $errstr, $errfile, $errline);
-
-        $trace = debug_backtrace(false);
-        array_shift($trace);
-
-        foreach ($trace as $frame) {
-            if ($frame['function'] == '__toString') {
-                return false;
-            }
-        }
-
-        if ($errno == E_NOTICE || $errno == E_USER_NOTICE || $errno == E_STRICT) {
-            if (PHPUnit_Framework_Error_Notice::$enabled !== true) {
-                return false;
-            }
-
-            $exception = 'PHPUnit_Framework_Error_Notice';
-        } elseif ($errno == E_WARNING || $errno == E_USER_WARNING) {
-            if (PHPUnit_Framework_Error_Warning::$enabled !== true) {
-                return false;
-            }
-
-            $exception = 'PHPUnit_Framework_Error_Warning';
-        } elseif ($errno == E_DEPRECATED || $errno == E_USER_DEPRECATED) {
-            if (PHPUnit_Framework_Error_Deprecated::$enabled !== true) {
-                return false;
-            }
-
-            $exception = 'PHPUnit_Framework_Error_Deprecated';
-        } else {
-            $exception = 'PHPUnit_Framework_Error';
-        }
-
-        throw new $exception($errstr, $errno, $errfile, $errline);
-    }
-
-    /**
-     * Registers an error handler and returns a function that will restore
-     * the previous handler when invoked
-     * @param  integer   $severity PHP predefined error constant
-     * @link   http://www.php.net/manual/en/errorfunc.constants.php
-     * @throws Exception if event of specified severity is emitted
-     */
-    public static function handleErrorOnce($severity = E_WARNING)
-    {
-        $terminator = function () {
-            static $expired = false;
-            if (!$expired) {
-                $expired = true;
-                // cleans temporary error handler
-                return restore_error_handler();
-            }
-        };
-
-        set_error_handler(function ($errno, $errstr) use ($severity) {
-            if ($errno === $severity) {
-                return;
-            }
-
-            return false;
-        });
-
-        return $terminator;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Fileloader.php b/core/vendor/phpunit/phpunit/src/Util/Fileloader.php
deleted file mode 100644
index 8e4b7cf..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Fileloader.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility methods to load PHP sourcefiles.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.3.0
- */
-class PHPUnit_Util_Fileloader
-{
-    /**
-     * Checks if a PHP sourcefile is readable.
-     * The sourcefile is loaded through the load() method.
-     *
-     * @param  string                      $filename
-     * @return string
-     * @throws PHPUnit_Framework_Exception
-     */
-    public static function checkAndLoad($filename)
-    {
-        $includePathFilename = stream_resolve_include_path($filename);
-
-        if (!$includePathFilename || !is_readable($includePathFilename)) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf('Cannot open file "%s".' . "\n", $filename)
-            );
-        }
-
-        self::load($includePathFilename);
-
-        return $includePathFilename;
-    }
-
-    /**
-     * Loads a PHP sourcefile.
-     *
-     * @param  string $filename
-     * @return mixed
-     * @since  Method available since Release 3.0.0
-     */
-    public static function load($filename)
-    {
-        $oldVariableNames = array_keys(get_defined_vars());
-
-        include_once $filename;
-
-        $newVariables     = get_defined_vars();
-        $newVariableNames = array_diff(
-            array_keys($newVariables),
-            $oldVariableNames
-        );
-
-        foreach ($newVariableNames as $variableName) {
-            if ($variableName != 'oldVariableNames') {
-                $GLOBALS[$variableName] = $newVariables[$variableName];
-            }
-        }
-
-        return $filename;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Filesystem.php b/core/vendor/phpunit/phpunit/src/Util/Filesystem.php
deleted file mode 100644
index 31d98f5..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Filesystem.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Filesystem helpers.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Util_Filesystem
-{
-    /**
-     * @var array
-     */
-    protected static $buffer = array();
-
-    /**
-     * Maps class names to source file names:
-     *   - PEAR CS:   Foo_Bar_Baz -> Foo/Bar/Baz.php
-     *   - Namespace: Foo\Bar\Baz -> Foo/Bar/Baz.php
-     *
-     * @param  string $className
-     * @return string
-     * @since  Method available since Release 3.4.0
-     */
-    public static function classNameToFilename($className)
-    {
-        return str_replace(
-            array('_', '\\'),
-            DIRECTORY_SEPARATOR,
-            $className
-        ) . '.php';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Filter.php b/core/vendor/phpunit/phpunit/src/Util/Filter.php
deleted file mode 100644
index 4f6ce30..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Filter.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility class for code filtering.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Util_Filter
-{
-    /**
-     * Filters stack frames from PHPUnit classes.
-     *
-     * @param  Exception $e
-     * @param  boolean   $asString
-     * @return string
-     */
-    public static function getFilteredStacktrace(Exception $e, $asString = true)
-    {
-        $prefix = false;
-        $script = realpath($GLOBALS['_SERVER']['SCRIPT_NAME']);
-
-        if (defined('__PHPUNIT_PHAR_ROOT__')) {
-            $prefix = __PHPUNIT_PHAR_ROOT__;
-        }
-
-        if ($asString === true) {
-            $filteredStacktrace = '';
-        } else {
-            $filteredStacktrace = array();
-        }
-
-        if ($e instanceof PHPUnit_Framework_SyntheticError) {
-            $eTrace = $e->getSyntheticTrace();
-            $eFile  = $e->getSyntheticFile();
-            $eLine  = $e->getSyntheticLine();
-        } elseif ($e instanceof PHPUnit_Framework_Exception) {
-            $eTrace = $e->getSerializableTrace();
-            $eFile  = $e->getFile();
-            $eLine  = $e->getLine();
-        } else {
-            if ($e->getPrevious()) {
-                $e = $e->getPrevious();
-            }
-            $eTrace = $e->getTrace();
-            $eFile  = $e->getFile();
-            $eLine  = $e->getLine();
-        }
-
-        if (!self::frameExists($eTrace, $eFile, $eLine)) {
-            array_unshift(
-                $eTrace,
-                array('file' => $eFile, 'line' => $eLine)
-            );
-        }
-
-        $blacklist = new PHPUnit_Util_Blacklist;
-
-        foreach ($eTrace as $frame) {
-            if (isset($frame['file']) && is_file($frame['file']) &&
-                !$blacklist->isBlacklisted($frame['file']) &&
-                ($prefix === false || strpos($frame['file'], $prefix) !== 0) &&
-                $frame['file'] !== $script) {
-                if ($asString === true) {
-                    $filteredStacktrace .= sprintf(
-                        "%s:%s\n",
-                        $frame['file'],
-                        isset($frame['line']) ? $frame['line'] : '?'
-                    );
-                } else {
-                    $filteredStacktrace[] = $frame;
-                }
-            }
-        }
-
-        return $filteredStacktrace;
-    }
-
-    /**
-     * @param  array   $trace
-     * @param  string  $file
-     * @param  int     $line
-     * @return boolean
-     * @since  Method available since Release 3.3.2
-     */
-    private static function frameExists(array $trace, $file, $line)
-    {
-        foreach ($trace as $frame) {
-            if (isset($frame['file']) && $frame['file'] == $file &&
-                isset($frame['line']) && $frame['line'] == $line) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Getopt.php b/core/vendor/phpunit/phpunit/src/Util/Getopt.php
deleted file mode 100644
index c234e68..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Getopt.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Command-line options parsing class.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Andrei Zmievski <andrei@php.net>
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Util_Getopt
-{
-    public static function getopt(array $args, $short_options, $long_options = null)
-    {
-        if (empty($args)) {
-            return array(array(), array());
-        }
-
-        $opts     = array();
-        $non_opts = array();
-
-        if ($long_options) {
-            sort($long_options);
-        }
-
-        if (isset($args[0][0]) && $args[0][0] != '-') {
-            array_shift($args);
-        }
-
-        reset($args);
-        array_map('trim', $args);
-
-        while (list($i, $arg) = each($args)) {
-            if ($arg == '') {
-                continue;
-            }
-
-            if ($arg == '--') {
-                $non_opts = array_merge($non_opts, array_slice($args, $i + 1));
-                break;
-            }
-
-            if ($arg[0] != '-' ||
-                (strlen($arg) > 1 && $arg[1] == '-' && !$long_options)) {
-                $non_opts = array_merge($non_opts, array_slice($args, $i));
-                break;
-            } elseif (strlen($arg) > 1 && $arg[1] == '-') {
-                self::parseLongOption(
-                    substr($arg, 2),
-                    $long_options,
-                    $opts,
-                    $args
-                );
-            } else {
-                self::parseShortOption(
-                    substr($arg, 1),
-                    $short_options,
-                    $opts,
-                    $args
-                );
-            }
-        }
-
-        return array($opts, $non_opts);
-    }
-
-    protected static function parseShortOption($arg, $short_options, &$opts, &$args)
-    {
-        $argLen = strlen($arg);
-
-        for ($i = 0; $i < $argLen; $i++) {
-            $opt     = $arg[$i];
-            $opt_arg = null;
-
-            if (($spec = strstr($short_options, $opt)) === false ||
-                $arg[$i] == ':') {
-                throw new PHPUnit_Framework_Exception(
-                    "unrecognized option -- $opt"
-                );
-            }
-
-            if (strlen($spec) > 1 && $spec[1] == ':') {
-                if (strlen($spec) > 2 && $spec[2] == ':') {
-                    if ($i + 1 < $argLen) {
-                        $opts[] = array($opt, substr($arg, $i + 1));
-                        break;
-                    }
-                } else {
-                    if ($i + 1 < $argLen) {
-                        $opts[] = array($opt, substr($arg, $i + 1));
-                        break;
-                    } elseif (list(, $opt_arg) = each($args)) {
-                    } else {
-                        throw new PHPUnit_Framework_Exception(
-                            "option requires an argument -- $opt"
-                        );
-                    }
-                }
-            }
-
-            $opts[] = array($opt, $opt_arg);
-        }
-    }
-
-    protected static function parseLongOption($arg, $long_options, &$opts, &$args)
-    {
-        $count   = count($long_options);
-        $list    = explode('=', $arg);
-        $opt     = $list[0];
-        $opt_arg = null;
-
-        if (count($list) > 1) {
-            $opt_arg = $list[1];
-        }
-
-        $opt_len = strlen($opt);
-
-        for ($i = 0; $i < $count; $i++) {
-            $long_opt  = $long_options[$i];
-            $opt_start = substr($long_opt, 0, $opt_len);
-
-            if ($opt_start != $opt) {
-                continue;
-            }
-
-            $opt_rest = substr($long_opt, $opt_len);
-
-            if ($opt_rest != '' && $opt[0] != '=' && $i + 1 < $count &&
-                $opt == substr($long_options[$i+1], 0, $opt_len)) {
-                throw new PHPUnit_Framework_Exception(
-                    "option --$opt is ambiguous"
-                );
-            }
-
-            if (substr($long_opt, -1) == '=') {
-                if (substr($long_opt, -2) != '==') {
-                    if (!strlen($opt_arg) &&
-                        !(list(, $opt_arg) = each($args))) {
-                        throw new PHPUnit_Framework_Exception(
-                            "option --$opt requires an argument"
-                        );
-                    }
-                }
-            } elseif ($opt_arg) {
-                throw new PHPUnit_Framework_Exception(
-                    "option --$opt doesn't allow an argument"
-                );
-            }
-
-            $full_option = '--' . preg_replace('/={1,2}$/', '', $long_opt);
-            $opts[] = array($full_option, $opt_arg);
-
-            return;
-        }
-
-        throw new PHPUnit_Framework_Exception("unrecognized option --$opt");
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/GlobalState.php b/core/vendor/phpunit/phpunit/src/Util/GlobalState.php
deleted file mode 100644
index 87831f5..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/GlobalState.php
+++ /dev/null
@@ -1,199 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.4.0
- */
-class PHPUnit_Util_GlobalState
-{
-    /**
-     * @var array
-     */
-    protected static $superGlobalArrays = array(
-      '_ENV',
-      '_POST',
-      '_GET',
-      '_COOKIE',
-      '_SERVER',
-      '_FILES',
-      '_REQUEST'
-    );
-
-    /**
-     * @var array
-     */
-    protected static $superGlobalArraysLong = array(
-      'HTTP_ENV_VARS',
-      'HTTP_POST_VARS',
-      'HTTP_GET_VARS',
-      'HTTP_COOKIE_VARS',
-      'HTTP_SERVER_VARS',
-      'HTTP_POST_FILES'
-    );
-
-    public static function getIncludedFilesAsString()
-    {
-        return static::processIncludedFilesAsString(get_included_files());
-    }
-
-    public static function processIncludedFilesAsString(array $files)
-    {
-        $blacklist = new PHPUnit_Util_Blacklist;
-        $prefix    = false;
-        $result    = '';
-
-        if (defined('__PHPUNIT_PHAR__')) {
-            $prefix = 'phar://' . __PHPUNIT_PHAR__ . '/';
-        }
-
-        for ($i = count($files) - 1; $i > 0; $i--) {
-            $file = $files[$i];
-
-            if ($prefix !== false && strpos($file, $prefix) === 0) {
-                continue;
-            }
-
-            // Skip virtual file system protocols
-            if (preg_match('/^(vfs|phpvfs[a-z0-9]+):/', $file)) {
-                continue;
-            }
-
-            if (!$blacklist->isBlacklisted($file) && is_file($file)) {
-                $result = 'require_once \'' . $file . "';\n" . $result;
-            }
-        }
-
-        return $result;
-    }
-
-    public static function getIniSettingsAsString()
-    {
-        $result      = '';
-        $iniSettings = ini_get_all(null, false);
-
-        foreach ($iniSettings as $key => $value) {
-            $result .= sprintf(
-                '@ini_set(%s, %s);' . "\n",
-                self::exportVariable($key),
-                self::exportVariable($value)
-            );
-        }
-
-        return $result;
-    }
-
-    public static function getConstantsAsString()
-    {
-        $constants = get_defined_constants(true);
-        $result    = '';
-
-        if (isset($constants['user'])) {
-            foreach ($constants['user'] as $name => $value) {
-                $result .= sprintf(
-                    'if (!defined(\'%s\')) define(\'%s\', %s);' . "\n",
-                    $name,
-                    $name,
-                    self::exportVariable($value)
-                );
-            }
-        }
-
-        return $result;
-    }
-
-    public static function getGlobalsAsString()
-    {
-        $result            = '';
-        $superGlobalArrays = self::getSuperGlobalArrays();
-
-        foreach ($superGlobalArrays as $superGlobalArray) {
-            if (isset($GLOBALS[$superGlobalArray]) &&
-                is_array($GLOBALS[$superGlobalArray])) {
-                foreach (array_keys($GLOBALS[$superGlobalArray]) as $key) {
-                    if ($GLOBALS[$superGlobalArray][$key] instanceof Closure) {
-                        continue;
-                    }
-
-                    $result .= sprintf(
-                        '$GLOBALS[\'%s\'][\'%s\'] = %s;' . "\n",
-                        $superGlobalArray,
-                        $key,
-                        self::exportVariable($GLOBALS[$superGlobalArray][$key])
-                    );
-                }
-            }
-        }
-
-        $blacklist   = $superGlobalArrays;
-        $blacklist[] = 'GLOBALS';
-
-        foreach (array_keys($GLOBALS) as $key) {
-            if (!in_array($key, $blacklist) && !$GLOBALS[$key] instanceof Closure) {
-                $result .= sprintf(
-                    '$GLOBALS[\'%s\'] = %s;' . "\n",
-                    $key,
-                    self::exportVariable($GLOBALS[$key])
-                );
-            }
-        }
-
-        return $result;
-    }
-
-    protected static function getSuperGlobalArrays()
-    {
-        if (ini_get('register_long_arrays') == '1') {
-            return array_merge(
-                self::$superGlobalArrays,
-                self::$superGlobalArraysLong
-            );
-        } else {
-            return self::$superGlobalArrays;
-        }
-    }
-
-    protected static function exportVariable($variable)
-    {
-        if (is_scalar($variable) || is_null($variable) ||
-           (is_array($variable) && self::arrayOnlyContainsScalars($variable))) {
-            return var_export($variable, true);
-        }
-        return 'unserialize(' .
-                var_export(serialize($variable), true) .
-                ')';
-    }
-
-    protected static function arrayOnlyContainsScalars(array $array)
-    {
-        $result = true;
-
-        foreach ($array as $element) {
-            if (is_array($element)) {
-                $result = self::arrayOnlyContainsScalars($element);
-            } elseif (!is_scalar($element) && !is_null($element)) {
-                $result = false;
-            }
-
-            if ($result === false) {
-                break;
-            }
-        }
-
-        return $result;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php b/core/vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php
deleted file mode 100644
index ea722fb..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Factory for PHPUnit_Framework_Exception objects that are used to describe
- * invalid arguments passed to a function or method.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.4.0
- */
-class PHPUnit_Util_InvalidArgumentHelper
-{
-    /**
-     * @param  integer                     $argument
-     * @param  string                      $type
-     * @param  mixed                       $value
-     * @return PHPUnit_Framework_Exception
-     */
-    public static function factory($argument, $type, $value = null)
-    {
-        $stack = debug_backtrace(false);
-
-        return new PHPUnit_Framework_Exception(
-            sprintf(
-                'Argument #%d%sof %s::%s() must be a %s',
-                $argument,
-                $value !== null ? ' (' . gettype($value) . '#' . $value . ')' : ' (No Value) ',
-                $stack[1]['class'],
-                $stack[1]['function'],
-                $type
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Log/JSON.php b/core/vendor/phpunit/phpunit/src/Util/Log/JSON.php
deleted file mode 100644
index 981b562..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Log/JSON.php
+++ /dev/null
@@ -1,248 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-if (!defined('JSON_PRETTY_PRINT')) {
-    define('JSON_PRETTY_PRINT', 128);
-}
-
-/**
- * A TestListener that generates JSON messages.
- *
- * @package    PHPUnit
- * @subpackage Util_Log
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Util_Log_JSON extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var    string
-     */
-    protected $currentTestSuiteName = '';
-
-    /**
-     * @var    string
-     */
-    protected $currentTestName = '';
-
-    /**
-     * @var     boolean
-     * @access  private
-     */
-    protected $currentTestPass = true;
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeCase(
-            'error',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            $e->getMessage(),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $this->writeCase(
-            'fail',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            $e->getMessage(),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeCase(
-            'error',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            'Incomplete Test: ' . $e->getMessage(),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeCase(
-            'error',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            'Risky Test: ' . $e->getMessage(),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeCase(
-            'error',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            'Skipped Test: ' . $e->getMessage(),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $this->currentTestSuiteName = $suite->getName();
-        $this->currentTestName      = '';
-
-        $this->write(
-            array(
-            'event' => 'suiteStart',
-            'suite' => $this->currentTestSuiteName,
-            'tests' => count($suite)
-            )
-        );
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $this->currentTestSuiteName = '';
-        $this->currentTestName      = '';
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        $this->currentTestName = PHPUnit_Util_Test::describe($test);
-        $this->currentTestPass = true;
-
-        $this->write(
-            array(
-            'event' => 'testStart',
-            'suite' => $this->currentTestSuiteName,
-            'test'  => $this->currentTestName
-            )
-        );
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if ($this->currentTestPass) {
-            $this->writeCase('pass', $time, array(), '', $test);
-        }
-    }
-
-    /**
-     * @param string $status
-     * @param float  $time
-     * @param array  $trace
-     * @param string $message
-     * @param PHPUnit_Framework_TestCase|null $test
-     */
-    protected function writeCase($status, $time, array $trace = array(), $message = '', $test = null)
-    {
-        $output = '';
-        // take care of TestSuite producing error (e.g. by running into exception) as TestSuite doesn't have hasOutput
-        if ($test !== null && method_exists($test, 'hasOutput') && $test->hasOutput()) {
-            $output = $test->getActualOutput();
-        }
-        $this->write(
-            array(
-            'event'   => 'test',
-            'suite'   => $this->currentTestSuiteName,
-            'test'    => $this->currentTestName,
-            'status'  => $status,
-            'time'    => $time,
-            'trace'   => $trace,
-            'message' => PHPUnit_Util_String::convertToUtf8($message),
-            'output'  => $output,
-            )
-        );
-    }
-
-    /**
-     * @param string $buffer
-     */
-    public function write($buffer)
-    {
-        array_walk_recursive($buffer, function (&$input) {
-            if (is_string($input)) {
-                $input = PHPUnit_Util_String::convertToUtf8($input);
-            }
-        });
-
-        parent::write(json_encode($buffer, JSON_PRETTY_PRINT));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Log/JUnit.php b/core/vendor/phpunit/phpunit/src/Util/Log/JUnit.php
deleted file mode 100644
index 299dc4b..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Log/JUnit.php
+++ /dev/null
@@ -1,457 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestListener that generates a logfile of the test execution in XML markup.
- *
- * The XML markup used is the same as the one that is used by the JUnit Ant task.
- *
- * @package    PHPUnit
- * @subpackage Util_Log
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.1.0
- */
-class PHPUnit_Util_Log_JUnit extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var    DOMDocument
-     */
-    protected $document;
-
-    /**
-     * @var    DOMElement
-     */
-    protected $root;
-
-    /**
-     * @var    boolean
-     */
-    protected $logIncompleteSkipped = false;
-
-    /**
-     * @var    boolean
-     */
-    protected $writeDocument = true;
-
-    /**
-     * @var    DOMElement[]
-     */
-    protected $testSuites = array();
-
-    /**
-     * @var    integer[]
-     */
-    protected $testSuiteTests = array(0);
-
-    /**
-     * @var    integer[]
-     */
-    protected $testSuiteAssertions = array(0);
-
-    /**
-     * @var    integer[]
-     */
-    protected $testSuiteErrors = array(0);
-
-    /**
-     * @var    integer[]
-     */
-    protected $testSuiteFailures = array(0);
-
-    /**
-     * @var    integer[]
-     */
-    protected $testSuiteTimes = array(0);
-
-    /**
-     * @var    integer
-     */
-    protected $testSuiteLevel = 0;
-
-    /**
-     * @var    DOMElement
-     */
-    protected $currentTestCase = null;
-
-    /**
-     * @var    boolean
-     */
-    protected $attachCurrentTestCase = true;
-
-    /**
-     * Constructor.
-     *
-     * @param mixed   $out
-     * @param boolean $logIncompleteSkipped
-     */
-    public function __construct($out = null, $logIncompleteSkipped = false)
-    {
-        $this->document = new DOMDocument('1.0', 'UTF-8');
-        $this->document->formatOutput = true;
-
-        $this->root = $this->document->createElement('testsuites');
-        $this->document->appendChild($this->root);
-
-        parent::__construct($out);
-
-        $this->logIncompleteSkipped = $logIncompleteSkipped;
-    }
-
-    /**
-     * Flush buffer and close output.
-     *
-     */
-    public function flush()
-    {
-        if ($this->writeDocument === true) {
-            $this->write($this->getXML());
-        }
-
-        parent::flush();
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($this->currentTestCase !== null) {
-            if ($test instanceof PHPUnit_Framework_SelfDescribing) {
-                $buffer = $test->toString() . "\n";
-            } else {
-                $buffer = '';
-            }
-
-            $buffer .= PHPUnit_Framework_TestFailure::exceptionToString($e) .
-                       "\n" .
-                       PHPUnit_Util_Filter::getFilteredStacktrace($e);
-
-            $error = $this->document->createElement(
-                'error',
-                PHPUnit_Util_XML::prepareString($buffer)
-            );
-
-            $error->setAttribute('type', get_class($e));
-
-            $this->currentTestCase->appendChild($error);
-
-            $this->testSuiteErrors[$this->testSuiteLevel]++;
-        }
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        if ($this->currentTestCase !== null) {
-            if (!$test instanceof PHPUnit_Framework_Warning) {
-                if ($test instanceof PHPUnit_Framework_SelfDescribing) {
-                    $buffer = $test->toString() . "\n";
-                } else {
-                    $buffer = '';
-                }
-
-                $buffer .= PHPUnit_Framework_TestFailure::exceptionToString($e) .
-                           "\n" .
-                           PHPUnit_Util_Filter::getFilteredStacktrace($e);
-
-                $failure = $this->document->createElement(
-                    'failure',
-                    PHPUnit_Util_XML::prepareString($buffer)
-                );
-
-                $failure->setAttribute('type', get_class($e));
-
-                $this->currentTestCase->appendChild($failure);
-
-                $this->testSuiteFailures[$this->testSuiteLevel]++;
-            }
-        }
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($this->logIncompleteSkipped && $this->currentTestCase !== null) {
-            $error = $this->document->createElement(
-                'error',
-                PHPUnit_Util_XML::prepareString(
-                    "Incomplete Test\n" .
-                    PHPUnit_Util_Filter::getFilteredStacktrace($e)
-                )
-            );
-
-            $error->setAttribute('type', get_class($e));
-
-            $this->currentTestCase->appendChild($error);
-
-            $this->testSuiteErrors[$this->testSuiteLevel]++;
-        } else {
-            $this->attachCurrentTestCase = false;
-        }
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($this->logIncompleteSkipped && $this->currentTestCase !== null) {
-            $error = $this->document->createElement(
-                'error',
-                PHPUnit_Util_XML::prepareString(
-                    "Risky Test\n" .
-                    PHPUnit_Util_Filter::getFilteredStacktrace($e)
-                )
-            );
-
-            $error->setAttribute('type', get_class($e));
-
-            $this->currentTestCase->appendChild($error);
-
-            $this->testSuiteErrors[$this->testSuiteLevel]++;
-        } else {
-            $this->attachCurrentTestCase = false;
-        }
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($this->logIncompleteSkipped && $this->currentTestCase !== null) {
-            $error = $this->document->createElement(
-                'error',
-                PHPUnit_Util_XML::prepareString(
-                    "Skipped Test\n" .
-                    PHPUnit_Util_Filter::getFilteredStacktrace($e)
-                )
-            );
-
-            $error->setAttribute('type', get_class($e));
-
-            $this->currentTestCase->appendChild($error);
-
-            $this->testSuiteErrors[$this->testSuiteLevel]++;
-        } else {
-            $this->attachCurrentTestCase = false;
-        }
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $testSuite = $this->document->createElement('testsuite');
-        $testSuite->setAttribute('name', $suite->getName());
-
-        if (class_exists($suite->getName(), false)) {
-            try {
-                $class = new ReflectionClass($suite->getName());
-
-                $testSuite->setAttribute('file', $class->getFileName());
-            } catch (ReflectionException $e) {
-            }
-        }
-
-        if ($this->testSuiteLevel > 0) {
-            $this->testSuites[$this->testSuiteLevel]->appendChild($testSuite);
-        } else {
-            $this->root->appendChild($testSuite);
-        }
-
-        $this->testSuiteLevel++;
-        $this->testSuites[$this->testSuiteLevel]          = $testSuite;
-        $this->testSuiteTests[$this->testSuiteLevel]      = 0;
-        $this->testSuiteAssertions[$this->testSuiteLevel] = 0;
-        $this->testSuiteErrors[$this->testSuiteLevel]     = 0;
-        $this->testSuiteFailures[$this->testSuiteLevel]   = 0;
-        $this->testSuiteTimes[$this->testSuiteLevel]      = 0;
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $this->testSuites[$this->testSuiteLevel]->setAttribute(
-            'tests',
-            $this->testSuiteTests[$this->testSuiteLevel]
-        );
-
-        $this->testSuites[$this->testSuiteLevel]->setAttribute(
-            'assertions',
-            $this->testSuiteAssertions[$this->testSuiteLevel]
-        );
-
-        $this->testSuites[$this->testSuiteLevel]->setAttribute(
-            'failures',
-            $this->testSuiteFailures[$this->testSuiteLevel]
-        );
-
-        $this->testSuites[$this->testSuiteLevel]->setAttribute(
-            'errors',
-            $this->testSuiteErrors[$this->testSuiteLevel]
-        );
-
-        $this->testSuites[$this->testSuiteLevel]->setAttribute(
-            'time',
-            sprintf('%F', $this->testSuiteTimes[$this->testSuiteLevel])
-        );
-
-        if ($this->testSuiteLevel > 1) {
-            $this->testSuiteTests[$this->testSuiteLevel - 1]      += $this->testSuiteTests[$this->testSuiteLevel];
-            $this->testSuiteAssertions[$this->testSuiteLevel - 1] += $this->testSuiteAssertions[$this->testSuiteLevel];
-            $this->testSuiteErrors[$this->testSuiteLevel - 1]     += $this->testSuiteErrors[$this->testSuiteLevel];
-            $this->testSuiteFailures[$this->testSuiteLevel - 1]   += $this->testSuiteFailures[$this->testSuiteLevel];
-            $this->testSuiteTimes[$this->testSuiteLevel - 1]      += $this->testSuiteTimes[$this->testSuiteLevel];
-        }
-
-        $this->testSuiteLevel--;
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        if (!$test instanceof PHPUnit_Framework_Warning) {
-            $testCase = $this->document->createElement('testcase');
-            $testCase->setAttribute('name', $test->getName());
-
-            if ($test instanceof PHPUnit_Framework_TestCase) {
-                $class      = new ReflectionClass($test);
-                $methodName = $test->getName();
-
-                if ($class->hasMethod($methodName)) {
-                    $method = $class->getMethod($test->getName());
-
-                    $testCase->setAttribute('class', $class->getName());
-                    $testCase->setAttribute('file', $class->getFileName());
-                    $testCase->setAttribute('line', $method->getStartLine());
-                }
-            }
-
-            $this->currentTestCase = $testCase;
-        }
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if (!$test instanceof PHPUnit_Framework_Warning) {
-            if ($this->attachCurrentTestCase) {
-                if ($test instanceof PHPUnit_Framework_TestCase) {
-                    $numAssertions = $test->getNumAssertions();
-                    $this->testSuiteAssertions[$this->testSuiteLevel] += $numAssertions;
-
-                    $this->currentTestCase->setAttribute(
-                        'assertions',
-                        $numAssertions
-                    );
-                }
-
-                $this->currentTestCase->setAttribute(
-                    'time',
-                    sprintf('%F', $time)
-                );
-
-                $this->testSuites[$this->testSuiteLevel]->appendChild(
-                    $this->currentTestCase
-                );
-
-                $this->testSuiteTests[$this->testSuiteLevel]++;
-                $this->testSuiteTimes[$this->testSuiteLevel] += $time;
-
-                if (method_exists($test, 'hasOutput') && $test->hasOutput()) {
-                    $systemOut = $this->document->createElement('system-out');
-                    $systemOut->appendChild(
-                        $this->document->createTextNode($test->getActualOutput())
-                    );
-                    $this->currentTestCase->appendChild($systemOut);
-                }
-            }
-        }
-
-        $this->attachCurrentTestCase = true;
-        $this->currentTestCase       = null;
-    }
-
-    /**
-     * Returns the XML as a string.
-     *
-     * @return string
-     * @since  Method available since Release 2.2.0
-     */
-    public function getXML()
-    {
-        return $this->document->saveXML();
-    }
-
-    /**
-     * Enables or disables the writing of the document
-     * in flush().
-     *
-     * This is a "hack" needed for the integration of
-     * PHPUnit with Phing.
-     *
-     * @return string
-     * @since  Method available since Release 2.2.0
-     */
-    public function setWriteDocument($flag)
-    {
-        if (is_bool($flag)) {
-            $this->writeDocument = $flag;
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Log/TAP.php b/core/vendor/phpunit/phpunit/src/Util/Log/TAP.php
deleted file mode 100644
index d59f136..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Log/TAP.php
+++ /dev/null
@@ -1,234 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestListener that generates a logfile of the
- * test execution using the Test Anything Protocol (TAP).
- *
- * @package    PHPUnit
- * @subpackage Util_Log
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Util_Log_TAP extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var    integer
-     */
-    protected $testNumber = 0;
-
-    /**
-     * @var    integer
-     */
-    protected $testSuiteLevel = 0;
-
-    /**
-     * @var    boolean
-     */
-    protected $testSuccessful = true;
-
-    /**
-     * Constructor.
-     *
-     * @param  mixed                       $out
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.3.4
-     */
-    public function __construct($out = null)
-    {
-        parent::__construct($out);
-        $this->write("TAP version 13\n");
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeNotOk($test, 'Error');
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $this->writeNotOk($test, 'Failure');
-
-        $message = explode(
-            "\n",
-            PHPUnit_Framework_TestFailure::exceptionToString($e)
-        );
-
-        $diagnostic = array(
-          'message'  => $message[0],
-          'severity' => 'fail'
-        );
-
-        if ($e instanceof PHPUnit_Framework_ExpectationFailedException) {
-            $cf = $e->getComparisonFailure();
-
-            if ($cf !== null) {
-                $diagnostic['data'] = array(
-                  'got'      => $cf->getActual(),
-                  'expected' => $cf->getExpected()
-                );
-            }
-        }
-
-        $yaml = new Symfony\Component\Yaml\Dumper;
-
-        $this->write(
-            sprintf(
-                "  ---\n%s  ...\n",
-                $yaml->dump($diagnostic, 2, 2)
-            )
-        );
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeNotOk($test, '', 'TODO Incomplete Test');
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->write(
-            sprintf(
-                "ok %d - # RISKY%s\n",
-                $this->testNumber,
-                $e->getMessage() != '' ? ' ' . $e->getMessage() : ''
-            )
-        );
-
-        $this->testSuccessful = false;
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->write(
-            sprintf(
-                "ok %d - # SKIP%s\n",
-                $this->testNumber,
-                $e->getMessage() != '' ? ' ' . $e->getMessage() : ''
-            )
-        );
-
-        $this->testSuccessful = false;
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $this->testSuiteLevel++;
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $this->testSuiteLevel--;
-
-        if ($this->testSuiteLevel == 0) {
-            $this->write(sprintf("1..%d\n", $this->testNumber));
-        }
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        $this->testNumber++;
-        $this->testSuccessful = true;
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if ($this->testSuccessful === true) {
-            $this->write(
-                sprintf(
-                    "ok %d - %s\n",
-                    $this->testNumber,
-                    PHPUnit_Util_Test::describe($test)
-                )
-            );
-        }
-    }
-
-    /**
-     * @param PHPUnit_Framework_Test $test
-     * @param string                 $prefix
-     * @param string                 $directive
-     */
-    protected function writeNotOk(PHPUnit_Framework_Test $test, $prefix = '', $directive = '')
-    {
-        $this->write(
-            sprintf(
-                "not ok %d - %s%s%s\n",
-                $this->testNumber,
-                $prefix != '' ? $prefix . ': ' : '',
-                PHPUnit_Util_Test::describe($test),
-                $directive != '' ? ' # ' . $directive : ''
-            )
-        );
-
-        $this->testSuccessful = false;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/PHP.php b/core/vendor/phpunit/phpunit/src/Util/PHP.php
deleted file mode 100644
index 43c607a..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/PHP.php
+++ /dev/null
@@ -1,224 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility methods for PHP sub-processes.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.4.0
- */
-abstract class PHPUnit_Util_PHP
-{
-    /**
-     * @return PHPUnit_Util_PHP
-     * @since  Method available since Release 3.5.12
-     */
-    public static function factory()
-    {
-        if (DIRECTORY_SEPARATOR == '\\') {
-            return new PHPUnit_Util_PHP_Windows;
-        }
-
-        return new PHPUnit_Util_PHP_Default;
-    }
-
-    /**
-     * Runs a single test in a separate PHP process.
-     *
-     * @param  string                       $job
-     * @param  PHPUnit_Framework_Test       $test
-     * @param  PHPUnit_Framework_TestResult $result
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function runTestJob($job, PHPUnit_Framework_Test $test, PHPUnit_Framework_TestResult $result)
-    {
-        $result->startTest($test);
-
-        $_result = $this->runJob($job);
-
-        $this->processChildResult(
-            $test,
-            $result,
-            $_result['stdout'],
-            $_result['stderr']
-        );
-    }
-
-    /**
-     * Runs a single job (PHP code) using a separate PHP process.
-     *
-     * @param  string                      $job
-     * @param  array                       $settings
-     * @return array
-     * @throws PHPUnit_Framework_Exception
-     */
-    abstract public function runJob($job, array $settings = array());
-
-    /**
-     * @param  array  $settings
-     * @return string
-     * @since Method available since Release 4.0.0
-     */
-    protected function settingsToParameters(array $settings)
-    {
-        $buffer = '';
-
-        foreach ($settings as $setting) {
-            $buffer .= ' -d ' . $setting;
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * Processes the TestResult object from an isolated process.
-     *
-     * @param PHPUnit_Framework_Test       $test
-     * @param PHPUnit_Framework_TestResult $result
-     * @param string                       $stdout
-     * @param string                       $stderr
-     * @since Method available since Release 3.5.0
-     */
-    private function processChildResult(PHPUnit_Framework_Test $test, PHPUnit_Framework_TestResult $result, $stdout, $stderr)
-    {
-        $time = 0;
-
-        if (!empty($stderr)) {
-            $result->addError(
-                $test,
-                new PHPUnit_Framework_Exception(trim($stderr)),
-                $time
-            );
-        } else {
-            set_error_handler(function ($errno, $errstr, $errfile, $errline) {
-                throw new ErrorException($errstr, $errno, $errno, $errfile, $errline);
-            });
-            try {
-                if (strpos($stdout, "#!/usr/bin/env php\n") === 0) {
-                    $stdout = substr($stdout, 19);
-                }
-
-                $childResult = unserialize(str_replace("#!/usr/bin/env php\n", '', $stdout));
-                restore_error_handler();
-            } catch (ErrorException $e) {
-                restore_error_handler();
-                $childResult = false;
-
-                $result->addError(
-                    $test,
-                    new PHPUnit_Framework_Exception(trim($stdout), 0, $e),
-                    $time
-                );
-            }
-
-            if ($childResult !== false) {
-                if (!empty($childResult['output'])) {
-                    $output = $childResult['output'];
-                }
-
-                $test->setResult($childResult['testResult']);
-                $test->addToAssertionCount($childResult['numAssertions']);
-
-                $childResult = $childResult['result'];
-
-                if ($result->getCollectCodeCoverageInformation()) {
-                    $result->getCodeCoverage()->merge(
-                        $childResult->getCodeCoverage()
-                    );
-                }
-
-                $time           = $childResult->time();
-                $notImplemented = $childResult->notImplemented();
-                $risky          = $childResult->risky();
-                $skipped        = $childResult->skipped();
-                $errors         = $childResult->errors();
-                $failures       = $childResult->failures();
-
-                if (!empty($notImplemented)) {
-                    $result->addError(
-                        $test,
-                        $this->getException($notImplemented[0]),
-                        $time
-                    );
-                } elseif (!empty($risky)) {
-                    $result->addError(
-                        $test,
-                        $this->getException($risky[0]),
-                        $time
-                    );
-                } elseif (!empty($skipped)) {
-                    $result->addError(
-                        $test,
-                        $this->getException($skipped[0]),
-                        $time
-                    );
-                } elseif (!empty($errors)) {
-                    $result->addError(
-                        $test,
-                        $this->getException($errors[0]),
-                        $time
-                    );
-                } elseif (!empty($failures)) {
-                    $result->addFailure(
-                        $test,
-                        $this->getException($failures[0]),
-                        $time
-                    );
-                }
-            }
-        }
-
-        $result->endTest($test, $time);
-
-        if (!empty($output)) {
-            print $output;
-        }
-    }
-
-    /**
-     * Gets the thrown exception from a PHPUnit_Framework_TestFailure.
-     *
-     * @param  PHPUnit_Framework_TestFailure $error
-     * @return Exception
-     * @since  Method available since Release 3.6.0
-     * @see    https://github.com/sebastianbergmann/phpunit/issues/74
-     */
-    private function getException(PHPUnit_Framework_TestFailure $error)
-    {
-        $exception = $error->thrownException();
-
-        if ($exception instanceof __PHP_Incomplete_Class) {
-            $exceptionArray = array();
-            foreach ((array) $exception as $key => $value) {
-                $key = substr($key, strrpos($key, "\0") + 1);
-                $exceptionArray[$key] = $value;
-            }
-
-            $exception = new PHPUnit_Framework_SyntheticError(
-                sprintf(
-                    '%s: %s',
-                    $exceptionArray['_PHP_Incomplete_Class_Name'],
-                    $exceptionArray['message']
-                ),
-                $exceptionArray['code'],
-                $exceptionArray['file'],
-                $exceptionArray['line'],
-                $exceptionArray['trace']
-            );
-        }
-
-        return $exception;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/PHP/Default.php b/core/vendor/phpunit/phpunit/src/Util/PHP/Default.php
deleted file mode 100644
index 45e004e..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/PHP/Default.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Environment\Runtime;
-
-/**
- * Default utility for PHP sub-processes.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.5.12
- */
-class PHPUnit_Util_PHP_Default extends PHPUnit_Util_PHP
-{
-    /**
-     * Runs a single job (PHP code) using a separate PHP process.
-     *
-     * @param  string                      $job
-     * @param  array                       $settings
-     * @return array
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function runJob($job, array $settings = array())
-    {
-        $runtime = new Runtime;
-
-        $process = proc_open(
-            $runtime->getBinary() . $this->settingsToParameters($settings),
-            array(
-            0 => array('pipe', 'r'),
-            1 => array('pipe', 'w'),
-            2 => array('pipe', 'w')
-            ),
-            $pipes
-        );
-
-        if (!is_resource($process)) {
-            throw new PHPUnit_Framework_Exception(
-                'Unable to spawn worker process'
-            );
-        }
-
-        $this->process($pipes[0], $job);
-        fclose($pipes[0]);
-
-        $stdout = stream_get_contents($pipes[1]);
-        fclose($pipes[1]);
-
-        $stderr = stream_get_contents($pipes[2]);
-        fclose($pipes[2]);
-
-        proc_close($process);
-        $this->cleanup();
-
-        return array('stdout' => $stdout, 'stderr' => $stderr);
-    }
-
-    /**
-     * @param  resource                    $pipe
-     * @param  string                      $job
-     * @throws PHPUnit_Framework_Exception
-     * @since Method available since Release 3.5.12
-     */
-    protected function process($pipe, $job)
-    {
-        fwrite($pipe, $job);
-    }
-
-    /**
-     * @since Method available since Release 3.5.12
-     */
-    protected function cleanup()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist b/core/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist
deleted file mode 100644
index 9be59f4..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-if (!defined('STDOUT')) {
-    // php://stdout does not obey output buffering. Any output would break
-    // unserialization of child process results in the parent process.
-    define('STDOUT', fopen('php://temp', 'w+b'));
-    define('STDERR', fopen('php://stderr', 'wb'));
-}
-
-{iniSettings}
-ini_set('display_errors', 'stderr');
-set_include_path('{include_path}');
-
-$composerAutoload = {composerAutoload};
-$phar             = {phar};
-
-ob_start();
-
-if ($composerAutoload) {
-    require_once $composerAutoload;
-    define('PHPUNIT_COMPOSER_INSTALL', $composerAutoload);
-} else if ($phar) {
-    require $phar;
-}
-
-function __phpunit_run_isolated_test()
-{
-    if (!class_exists('{className}')) {
-        require_once '{filename}';
-    }
-
-    $result = new PHPUnit_Framework_TestResult;
-
-    if ({collectCodeCoverageInformation}) {
-        $result->setCodeCoverage(new PHP_CodeCoverage);
-    }
-
-    $result->beStrictAboutTestsThatDoNotTestAnything({isStrictAboutTestsThatDoNotTestAnything});
-    $result->beStrictAboutOutputDuringTests({isStrictAboutOutputDuringTests});
-    $result->beStrictAboutTestSize({isStrictAboutTestSize});
-    $result->beStrictAboutTodoAnnotatedTests({isStrictAboutTodoAnnotatedTests});
-
-    $test = new {className}('{methodName}', unserialize('{data}'), '{dataName}');
-    $test->setDependencyInput(unserialize('{dependencyInput}'));
-    $test->setInIsolation(TRUE);
-
-    ob_end_clean();
-    $test->run($result);
-    $output = '';
-    if (!$test->hasExpectationOnOutput()) {
-        $output = $test->getActualOutput();
-    }
-
-    rewind(STDOUT);
-    if ($stdout = stream_get_contents(STDOUT)) {
-        $output = $stdout . $output;
-    }
-
-    print serialize(
-      array(
-        'testResult'    => $test->getResult(),
-        'numAssertions' => $test->getNumAssertions(),
-        'result'        => $result,
-        'output'        => $output
-      )
-    );
-}
-
-{constants}
-{included_files}
-{globals}
-
-if (isset($GLOBALS['__PHPUNIT_BOOTSTRAP'])) {
-    require_once $GLOBALS['__PHPUNIT_BOOTSTRAP'];
-    unset($GLOBALS['__PHPUNIT_BOOTSTRAP']);
-}
-
-__phpunit_run_isolated_test();
diff --git a/core/vendor/phpunit/phpunit/src/Util/PHP/Windows.php b/core/vendor/phpunit/phpunit/src/Util/PHP/Windows.php
deleted file mode 100644
index 7752042..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/PHP/Windows.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Environment\Runtime;
-
-/**
- * Windows utility for PHP sub-processes.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.5.12
- */
-class PHPUnit_Util_PHP_Windows extends PHPUnit_Util_PHP_Default
-{
-    /**
-     * @var string
-     */
-    private $tempFile;
-
-    /**
-     * {@inheritdoc}
-     *
-     * Reading from STDOUT or STDERR hangs forever on Windows if the output is
-     * too large.
-     *
-     * @see https://bugs.php.net/bug.php?id=51800
-     */
-    public function runJob($job, array $settings = array())
-    {
-        $runtime = new Runtime;
-
-        if (false === $stdout_handle = tmpfile()) {
-            throw new PHPUnit_Framework_Exception(
-                'A temporary file could not be created; verify that your TEMP environment variable is writable'
-            );
-        }
-
-        $process = proc_open(
-            $runtime->getBinary() . $this->settingsToParameters($settings),
-            array(
-            0 => array('pipe', 'r'),
-            1 => $stdout_handle,
-            2 => array('pipe', 'w')
-            ),
-            $pipes
-        );
-
-        if (!is_resource($process)) {
-            throw new PHPUnit_Framework_Exception(
-                'Unable to spawn worker process'
-            );
-        }
-
-        $this->process($pipes[0], $job);
-        fclose($pipes[0]);
-
-        $stderr = stream_get_contents($pipes[2]);
-        fclose($pipes[2]);
-
-        proc_close($process);
-
-        rewind($stdout_handle);
-        $stdout = stream_get_contents($stdout_handle);
-        fclose($stdout_handle);
-
-        $this->cleanup();
-
-        return array('stdout' => $stdout, 'stderr' => $stderr);
-    }
-
-    /**
-     * @param  resource                    $pipe
-     * @param  string                      $job
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.5.12
-     */
-    protected function process($pipe, $job)
-    {
-        if (!($this->tempFile = tempnam(sys_get_temp_dir(), 'PHPUnit')) ||
-            file_put_contents($this->tempFile, $job) === false) {
-            throw new PHPUnit_Framework_Exception(
-                'Unable to write temporary file'
-            );
-        }
-
-        fwrite(
-            $pipe,
-            "<?php require_once " . var_export($this->tempFile, true) .  "; ?>"
-        );
-    }
-
-    /**
-     * @since Method available since Release 3.5.12
-     */
-    protected function cleanup()
-    {
-        unlink($this->tempFile);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Printer.php b/core/vendor/phpunit/phpunit/src/Util/Printer.php
deleted file mode 100644
index 5c7af11..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Printer.php
+++ /dev/null
@@ -1,175 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility class that can print to STDOUT or write to a file.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class PHPUnit_Util_Printer
-{
-    /**
-     * If true, flush output after every write.
-     *
-     * @var boolean
-     */
-    protected $autoFlush = false;
-
-    /**
-     * @var    resource
-     */
-    protected $out;
-
-    /**
-     * @var    string
-     */
-    protected $outTarget;
-
-    /**
-     * @var    boolean
-     */
-    protected $printsHTML = false;
-
-    /**
-     * Constructor.
-     *
-     * @param  mixed                       $out
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($out = null)
-    {
-        if ($out !== null) {
-            if (is_string($out)) {
-                if (strpos($out, 'socket://') === 0) {
-                    $out = explode(':', str_replace('socket://', '', $out));
-
-                    if (sizeof($out) != 2) {
-                        throw new PHPUnit_Framework_Exception;
-                    }
-
-                    $this->out = fsockopen($out[0], $out[1]);
-                } else {
-                    if (strpos($out, 'php://') === false &&
-                        !is_dir(dirname($out))) {
-                        mkdir(dirname($out), 0777, true);
-                    }
-
-                    $this->out = fopen($out, 'wt');
-                }
-
-                $this->outTarget = $out;
-            } else {
-                $this->out = $out;
-            }
-        }
-    }
-
-    /**
-     * Flush buffer, optionally tidy up HTML, and close output if it's not to a php stream
-     */
-    public function flush()
-    {
-        if ($this->out && strncmp($this->outTarget, 'php://', 6) !== 0) {
-            fclose($this->out);
-        }
-
-        if ($this->printsHTML === true &&
-            $this->outTarget !== null &&
-            strpos($this->outTarget, 'php://') !== 0 &&
-            strpos($this->outTarget, 'socket://') !== 0 &&
-            extension_loaded('tidy')) {
-            file_put_contents(
-                $this->outTarget,
-                tidy_repair_file(
-                    $this->outTarget,
-                    array('indent' => true, 'wrap' => 0),
-                    'utf8'
-                )
-            );
-        }
-    }
-
-    /**
-     * Performs a safe, incremental flush.
-     *
-     * Do not confuse this function with the flush() function of this class,
-     * since the flush() function may close the file being written to, rendering
-     * the current object no longer usable.
-     *
-     * @since  Method available since Release 3.3.0
-     */
-    public function incrementalFlush()
-    {
-        if ($this->out) {
-            fflush($this->out);
-        } else {
-            flush();
-        }
-    }
-
-    /**
-     * @param string $buffer
-     */
-    public function write($buffer)
-    {
-        if ($this->out) {
-            fwrite($this->out, $buffer);
-
-            if ($this->autoFlush) {
-                $this->incrementalFlush();
-            }
-        } else {
-            if (PHP_SAPI != 'cli') {
-                $buffer = htmlspecialchars($buffer);
-            }
-
-            print $buffer;
-
-            if ($this->autoFlush) {
-                $this->incrementalFlush();
-            }
-        }
-    }
-
-    /**
-     * Check auto-flush mode.
-     *
-     * @return boolean
-     * @since  Method available since Release 3.3.0
-     */
-    public function getAutoFlush()
-    {
-        return $this->autoFlush;
-    }
-
-    /**
-     * Set auto-flushing mode.
-     *
-     * If set, *incremental* flushes will be done after each write. This should
-     * not be confused with the different effects of this class' flush() method.
-     *
-     * @param boolean $autoFlush
-     * @since  Method available since Release 3.3.0
-     */
-    public function setAutoFlush($autoFlush)
-    {
-        if (is_bool($autoFlush)) {
-            $this->autoFlush = $autoFlush;
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Regex.php b/core/vendor/phpunit/phpunit/src/Util/Regex.php
deleted file mode 100644
index 09cb3cc..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Regex.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Error handler that converts PHP errors and warnings to exceptions.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Márcio Almada <marcio3w@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.2.0
- */
-class PHPUnit_Util_Regex
-{
-    public static function pregMatchSafe($pattern, $subject, $matches = null, $flags = 0, $offset = 0)
-    {
-        $handler_terminator = PHPUnit_Util_ErrorHandler::handleErrorOnce(E_WARNING);
-        $match = preg_match($pattern, $subject, $matches, $flags, $offset);
-        $handler_terminator(); // cleaning
-
-        return $match;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/String.php b/core/vendor/phpunit/phpunit/src/Util/String.php
deleted file mode 100644
index e81666e..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/String.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * String helpers.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.6.0
- */
-class PHPUnit_Util_String
-{
-    /**
-     * Converts a string to UTF-8 encoding.
-     *
-     * @param  string $string
-     * @return string
-     */
-    public static function convertToUtf8($string)
-    {
-        if (!self::isUtf8($string)) {
-            if (function_exists('mb_convert_encoding')) {
-                $string = mb_convert_encoding($string, 'UTF-8');
-            } else {
-                $string = utf8_encode($string);
-            }
-        }
-
-        return $string;
-    }
-
-    /**
-     * Checks a string for UTF-8 encoding.
-     *
-     * @param  string  $string
-     * @return boolean
-     */
-    protected static function isUtf8($string)
-    {
-        $length = strlen($string);
-
-        for ($i = 0; $i < $length; $i++) {
-            if (ord($string[$i]) < 0x80) {
-                $n = 0;
-            } elseif ((ord($string[$i]) & 0xE0) == 0xC0) {
-                $n = 1;
-            } elseif ((ord($string[$i]) & 0xF0) == 0xE0) {
-                $n = 2;
-            } elseif ((ord($string[$i]) & 0xF0) == 0xF0) {
-                $n = 3;
-            } else {
-                return false;
-            }
-
-            for ($j = 0; $j < $n; $j++) {
-                if ((++$i == $length) || ((ord($string[$i]) & 0xC0) != 0x80)) {
-                    return false;
-                }
-            }
-        }
-
-        return true;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Test.php b/core/vendor/phpunit/phpunit/src/Util/Test.php
deleted file mode 100644
index 1d51df2..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Test.php
+++ /dev/null
@@ -1,958 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-if (!function_exists('trait_exists')) {
-    function trait_exists($traitname, $autoload = true)
-    {
-        return false;
-    }
-}
-
-/**
- * Test helpers.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Util_Test
-{
-    const REGEX_DATA_PROVIDER      = '/@dataProvider\s+([a-zA-Z0-9._:-\\\\x7f-\xff]+)/';
-    const REGEX_EXPECTED_EXCEPTION = '(@expectedException\s+([:.\w\\\\x7f-\xff]+)(?:[\t ]+(\S*))?(?:[\t ]+(\S*))?\s*$)m';
-    const REGEX_REQUIRES_VERSION   = '/@requires\s+(?P<name>PHP(?:Unit)?)\s+(?P<value>[\d\.-]+(dev|(RC|alpha|beta)[\d\.])?)[ \t]*\r?$/m';
-    const REGEX_REQUIRES_OS        = '/@requires\s+OS\s+(?P<value>.+?)[ \t]*\r?$/m';
-    const REGEX_REQUIRES           = '/@requires\s+(?P<name>function|extension)\s+(?P<value>([^ ]+?))[ \t]*\r?$/m';
-
-    const SMALL  = 0;
-    const MEDIUM = 1;
-    const LARGE  = 2;
-
-    private static $annotationCache = array();
-
-    private static $hookMethods = array();
-
-    /**
-     * @param  PHPUnit_Framework_Test $test
-     * @param  boolean                $asString
-     * @return mixed
-     */
-    public static function describe(PHPUnit_Framework_Test $test, $asString = true)
-    {
-        if ($asString) {
-            if ($test instanceof PHPUnit_Framework_SelfDescribing) {
-                return $test->toString();
-            } else {
-                return get_class($test);
-            }
-        } else {
-            if ($test instanceof PHPUnit_Framework_TestCase) {
-                return array(
-                  get_class($test), $test->getName()
-                );
-            } elseif ($test instanceof PHPUnit_Framework_SelfDescribing) {
-                return array('', $test->toString());
-            } else {
-                return array('', get_class($test));
-            }
-        }
-    }
-
-    /**
-     * @param  string     $className
-     * @param  string     $methodName
-     * @return array|bool
-     * @throws PHPUnit_Framework_CodeCoverageException
-     * @since  Method available since Release 4.0.0
-     */
-    public static function getLinesToBeCovered($className, $methodName)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        if (isset($annotations['class']['coversNothing']) || isset($annotations['method']['coversNothing'])) {
-            return false;
-        }
-
-        return self::getLinesToBeCoveredOrUsed($className, $methodName, 'covers');
-    }
-
-    /**
-     * Returns lines of code specified with the @uses annotation.
-     *
-     * @param  string $className
-     * @param  string $methodName
-     * @return array
-     * @since  Method available since Release 4.0.0
-     */
-    public static function getLinesToBeUsed($className, $methodName)
-    {
-        return self::getLinesToBeCoveredOrUsed($className, $methodName, 'uses');
-    }
-
-    /**
-     * @param  string $className
-     * @param  string $methodName
-     * @param  string $mode
-     * @return array
-     * @throws PHPUnit_Framework_CodeCoverageException
-     * @since  Method available since Release 4.2.0
-     */
-    private static function getLinesToBeCoveredOrUsed($className, $methodName, $mode)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        $classShortcut = null;
-
-        if (!empty($annotations['class'][$mode . 'DefaultClass'])) {
-            if (count($annotations['class'][$mode . 'DefaultClass']) > 1) {
-                throw new PHPUnit_Framework_CodeCoverageException(
-                    sprintf(
-                        'More than one @%sClass annotation in class or interface "%s".',
-                        $mode,
-                        $className
-                    )
-                );
-            }
-
-            $classShortcut = $annotations['class'][$mode . 'DefaultClass'][0];
-        }
-
-        $list = array();
-
-        if (isset($annotations['class'][$mode])) {
-            $list = $annotations['class'][$mode];
-        }
-
-        if (isset($annotations['method'][$mode])) {
-            $list = array_merge($list, $annotations['method'][$mode]);
-        }
-
-        $codeList = array();
-
-        foreach (array_unique($list) as $element) {
-            if ($classShortcut && strncmp($element, '::', 2) === 0) {
-                $element = $classShortcut . $element;
-            }
-
-            $element = preg_replace('/[\s()]+$/', '', $element);
-
-            $codeList = array_merge(
-                $codeList,
-                self::resolveElementToReflectionObjects($element)
-            );
-        }
-
-        return self::resolveReflectionObjectsToLines($codeList);
-    }
-
-    /**
-     * Returns the requirements for a test.
-     *
-     * @param  string $className
-     * @param  string $methodName
-     * @return array
-     * @since  Method available since Release 3.6.0
-     */
-    public static function getRequirements($className, $methodName)
-    {
-        $reflector  = new ReflectionClass($className);
-        $docComment = $reflector->getDocComment();
-        $reflector  = new ReflectionMethod($className, $methodName);
-        $docComment .= "\n" . $reflector->getDocComment();
-        $requires   = array();
-
-        if ($count = preg_match_all(self::REGEX_REQUIRES_OS, $docComment, $matches)) {
-            $requires['OS'] = sprintf(
-                '/%s/i',
-                addcslashes($matches['value'][$count - 1], '/')
-            );
-        }
-        if ($count = preg_match_all(self::REGEX_REQUIRES_VERSION, $docComment, $matches)) {
-            for ($i = 0; $i < $count; $i++) {
-                $requires[$matches['name'][$i]] = $matches['value'][$i];
-            }
-        }
-
-        // https://bugs.php.net/bug.php?id=63055
-        $matches = array();
-
-        if ($count = preg_match_all(self::REGEX_REQUIRES, $docComment, $matches)) {
-            for ($i = 0; $i < $count; $i++) {
-                $name = $matches['name'][$i] . 's';
-                if (!isset($requires[$name])) {
-                    $requires[$name] = array();
-                }
-                $requires[$name][] = $matches['value'][$i];
-            }
-        }
-
-        return $requires;
-    }
-
-    /**
-     * Returns the missing requirements for a test.
-     *
-     * @param  string $className
-     * @param  string $methodName
-     * @return array
-     * @since  Method available since Release 4.3.0
-     */
-    public static function getMissingRequirements($className, $methodName)
-    {
-        $required = static::getRequirements($className, $methodName);
-        $missing = array();
-
-        if (!empty($required['PHP']) && version_compare(PHP_VERSION, $required['PHP'], '<')) {
-            $missing[] = sprintf('PHP %s (or later) is required.', $required['PHP']);
-        }
-
-        if (!empty($required['PHPUnit'])) {
-            $phpunitVersion = PHPUnit_Runner_Version::id();
-            if (version_compare($phpunitVersion, $required['PHPUnit'], '<')) {
-                $missing[] = sprintf('PHPUnit %s (or later) is required.', $required['PHPUnit']);
-            }
-        }
-
-        if (!empty($required['OS']) && !preg_match($required['OS'], PHP_OS)) {
-            $missing[] = sprintf('Operating system matching %s is required.', $required['OS']);
-        }
-
-        if (!empty($required['functions'])) {
-            foreach ($required['functions'] as $function) {
-                $pieces = explode('::', $function);
-                if (2 === count($pieces) && method_exists($pieces[0], $pieces[1])) {
-                    continue;
-                }
-                if (function_exists($function)) {
-                    continue;
-                }
-                $missing[] = sprintf('Function %s is required.', $function);
-            }
-        }
-
-        if (!empty($required['extensions'])) {
-            foreach ($required['extensions'] as $extension) {
-                if (!extension_loaded($extension)) {
-                    $missing[] = sprintf('Extension %s is required.', $extension);
-                }
-            }
-        }
-
-        return $missing;
-    }
-
-    /**
-     * Returns the expected exception for a test.
-     *
-     * @param  string $className
-     * @param  string $methodName
-     * @return array
-     * @since  Method available since Release 3.3.6
-     */
-    public static function getExpectedException($className, $methodName)
-    {
-        $reflector  = new ReflectionMethod($className, $methodName);
-        $docComment = $reflector->getDocComment();
-        $docComment = substr($docComment, 3, -2);
-
-        if (preg_match(self::REGEX_EXPECTED_EXCEPTION, $docComment, $matches)) {
-            $annotations = self::parseTestMethodAnnotations(
-                $className,
-                $methodName
-            );
-
-            $class   = $matches[1];
-            $code    = null;
-            $message = '';
-            $messageRegExp = '';
-
-            if (isset($matches[2])) {
-                $message = trim($matches[2]);
-            } elseif (isset($annotations['method']['expectedExceptionMessage'])) {
-                $message = self::parseAnnotationContent(
-                    $annotations['method']['expectedExceptionMessage'][0]
-                );
-            }
-
-            if (isset($annotations['method']['expectedExceptionMessageRegExp'])) {
-                $messageRegExp = self::parseAnnotationContent(
-                    $annotations['method']['expectedExceptionMessageRegExp'][0]
-                );
-            }
-
-            if (isset($matches[3])) {
-                $code = $matches[3];
-            } elseif (isset($annotations['method']['expectedExceptionCode'])) {
-                $code = self::parseAnnotationContent(
-                    $annotations['method']['expectedExceptionCode'][0]
-                );
-            }
-
-            if (is_numeric($code)) {
-                $code = (int) $code;
-            } elseif (is_string($code) && defined($code)) {
-                $code = (int) constant($code);
-            }
-
-            return array(
-              'class' => $class, 'code' => $code, 'message' => $message, 'message_regex' => $messageRegExp
-            );
-        }
-
-        return false;
-    }
-
-    /**
-     * Parse annotation content to use constant/class constant values
-     *
-     * Constants are specified using a starting '@'. For example: @ClassName::CONST_NAME
-     *
-     * If the constant is not found the string is used as is to ensure maximum BC.
-     *
-     * @param  string $message
-     * @return string
-     */
-    private static function parseAnnotationContent($message)
-    {
-        if (strpos($message, '::') !== false && count(explode('::', $message) == 2)) {
-            if (defined($message)) {
-                $message = constant($message);
-            }
-        }
-
-        return $message;
-    }
-
-    /**
-     * Returns the provided data for a method.
-     *
-     * @param  string           $className
-     * @param  string           $methodName
-     * @return array|Iterator when a data provider is specified and exists
-     *         false          when a data provider is specified but does not exist
-     *         null           when no data provider is specified
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.2.0
-     */
-    public static function getProvidedData($className, $methodName)
-    {
-        $reflector  = new ReflectionMethod($className, $methodName);
-        $docComment = $reflector->getDocComment();
-        $data       = null;
-
-        if (preg_match(self::REGEX_DATA_PROVIDER, $docComment, $matches)) {
-            $dataProviderMethodNameNamespace = explode('\\', $matches[1]);
-            $leaf                            = explode('::', array_pop($dataProviderMethodNameNamespace));
-            $dataProviderMethodName          = array_pop($leaf);
-
-            if (!empty($dataProviderMethodNameNamespace)) {
-                $dataProviderMethodNameNamespace = implode('\\', $dataProviderMethodNameNamespace) . '\\';
-            } else {
-                $dataProviderMethodNameNamespace = '';
-            }
-
-            if (!empty($leaf)) {
-                $dataProviderClassName = $dataProviderMethodNameNamespace . array_pop($leaf);
-            } else {
-                $dataProviderClassName = $className;
-            }
-
-            $dataProviderClass  = new ReflectionClass($dataProviderClassName);
-            $dataProviderMethod = $dataProviderClass->getMethod(
-                $dataProviderMethodName
-            );
-
-            if ($dataProviderMethod->isStatic()) {
-                $object = null;
-            } else {
-                $object = $dataProviderClass->newInstance();
-            }
-
-            if ($dataProviderMethod->getNumberOfParameters() == 0) {
-                $data = $dataProviderMethod->invoke($object);
-            } else {
-                $data = $dataProviderMethod->invoke($object, $methodName);
-            }
-        }
-
-        if ($data !== null) {
-            if (is_object($data)) {
-                $data = iterator_to_array($data);
-            }
-
-            foreach ($data as $key => $value) {
-                if (!is_array($value)) {
-                    throw new PHPUnit_Framework_Exception(
-                        sprintf(
-                            'Data set %s is invalid.',
-                            is_int($key) ? '#' . $key : '"' . $key . '"'
-                        )
-                    );
-                }
-            }
-        }
-
-        return $data;
-    }
-
-    /**
-     * @param  string              $className
-     * @param  string              $methodName
-     * @return array
-     * @throws ReflectionException
-     * @since  Method available since Release 3.4.0
-     */
-    public static function parseTestMethodAnnotations($className, $methodName = '')
-    {
-        if (!isset(self::$annotationCache[$className])) {
-            $class = new ReflectionClass($className);
-            self::$annotationCache[$className] = self::parseAnnotations($class->getDocComment());
-        }
-
-        if (!empty($methodName) && !isset(self::$annotationCache[$className . '::' . $methodName])) {
-            try {
-                $method = new ReflectionMethod($className, $methodName);
-                $annotations = self::parseAnnotations($method->getDocComment());
-            } catch (ReflectionException $e) {
-                $annotations = array();
-            }
-            self::$annotationCache[$className . '::' . $methodName] = $annotations;
-        }
-
-        return array(
-          'class'  => self::$annotationCache[$className],
-          'method' => !empty($methodName) ? self::$annotationCache[$className . '::' . $methodName] : array()
-        );
-    }
-
-    /**
-     * @param  string $docblock
-     * @return array
-     * @since  Method available since Release 3.4.0
-     */
-    private static function parseAnnotations($docblock)
-    {
-        $annotations = array();
-        // Strip away the docblock header and footer to ease parsing of one line annotations
-        $docblock = substr($docblock, 3, -2);
-
-        if (preg_match_all('/@(?P<name>[A-Za-z_-]+)(?:[ \t]+(?P<value>.*?))?[ \t]*\r?$/m', $docblock, $matches)) {
-            $numMatches = count($matches[0]);
-
-            for ($i = 0; $i < $numMatches; ++$i) {
-                $annotations[$matches['name'][$i]][] = $matches['value'][$i];
-            }
-        }
-
-        return $annotations;
-    }
-
-    /**
-     * Returns the backup settings for a test.
-     *
-     * @param  string $className
-     * @param  string $methodName
-     * @return array
-     * @since  Method available since Release 3.4.0
-     */
-    public static function getBackupSettings($className, $methodName)
-    {
-        return array(
-          'backupGlobals' => self::getBooleanAnnotationSetting(
-              $className,
-              $methodName,
-              'backupGlobals'
-          ),
-          'backupStaticAttributes' => self::getBooleanAnnotationSetting(
-              $className,
-              $methodName,
-              'backupStaticAttributes'
-          )
-        );
-    }
-
-    /**
-     * Returns the dependencies for a test class or method.
-     *
-     * @param  string $className
-     * @param  string $methodName
-     * @return array
-     * @since  Method available since Release 3.4.0
-     */
-    public static function getDependencies($className, $methodName)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        $dependencies = array();
-
-        if (isset($annotations['class']['depends'])) {
-            $dependencies = $annotations['class']['depends'];
-        }
-
-        if (isset($annotations['method']['depends'])) {
-            $dependencies = array_merge(
-                $dependencies,
-                $annotations['method']['depends']
-            );
-        }
-
-        return array_unique($dependencies);
-    }
-
-    /**
-     * Returns the error handler settings for a test.
-     *
-     * @param  string  $className
-     * @param  string  $methodName
-     * @return boolean
-     * @since  Method available since Release 3.4.0
-     */
-    public static function getErrorHandlerSettings($className, $methodName)
-    {
-        return self::getBooleanAnnotationSetting(
-            $className,
-            $methodName,
-            'errorHandler'
-        );
-    }
-
-    /**
-     * Returns the groups for a test class or method.
-     *
-     * @param  string $className
-     * @param  string $methodName
-     * @return array
-     * @since  Method available since Release 3.2.0
-     */
-    public static function getGroups($className, $methodName = '')
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        $groups = array();
-
-        if (isset($annotations['method']['author'])) {
-            $groups = $annotations['method']['author'];
-        } elseif (isset($annotations['class']['author'])) {
-            $groups = $annotations['class']['author'];
-        }
-
-        if (isset($annotations['class']['group'])) {
-            $groups = array_merge($groups, $annotations['class']['group']);
-        }
-
-        if (isset($annotations['method']['group'])) {
-            $groups = array_merge($groups, $annotations['method']['group']);
-        }
-
-        if (isset($annotations['class']['ticket'])) {
-            $groups = array_merge($groups, $annotations['class']['ticket']);
-        }
-
-        if (isset($annotations['method']['ticket'])) {
-            $groups = array_merge($groups, $annotations['method']['ticket']);
-        }
-
-        foreach (array('small', 'medium', 'large') as $size) {
-            if (isset($annotations['method'][$size])) {
-                $groups[] = $size;
-            } elseif (isset($annotations['class'][$size])) {
-                $groups[] = $size;
-            }
-        }
-
-        return array_unique($groups);
-    }
-
-    /**
-     * Returns the size of the test.
-     *
-     * @param  string  $className
-     * @param  string  $methodName
-     * @return integer
-     * @since  Method available since Release 3.6.0
-     */
-    public static function getSize($className, $methodName)
-    {
-        $groups = array_flip(self::getGroups($className, $methodName));
-        $size   = self::SMALL;
-        $class  = new ReflectionClass($className);
-
-        if ((class_exists('PHPUnit_Extensions_Database_TestCase', false) &&
-             $class->isSubclassOf('PHPUnit_Extensions_Database_TestCase')) ||
-            (class_exists('PHPUnit_Extensions_SeleniumTestCase', false) &&
-             $class->isSubclassOf('PHPUnit_Extensions_SeleniumTestCase'))) {
-            $size = self::LARGE;
-        } elseif (isset($groups['medium'])) {
-            $size = self::MEDIUM;
-        } elseif (isset($groups['large'])) {
-            $size = self::LARGE;
-        }
-
-        return $size;
-    }
-
-    /**
-     * Returns the tickets for a test class or method.
-     *
-     * @param  string $className
-     * @param  string $methodName
-     * @return array
-     * @since  Method available since Release 3.4.0
-     */
-    public static function getTickets($className, $methodName)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        $tickets = array();
-
-        if (isset($annotations['class']['ticket'])) {
-            $tickets = $annotations['class']['ticket'];
-        }
-
-        if (isset($annotations['method']['ticket'])) {
-            $tickets = array_merge($tickets, $annotations['method']['ticket']);
-        }
-
-        return array_unique($tickets);
-    }
-
-    /**
-     * Returns the process isolation settings for a test.
-     *
-     * @param  string  $className
-     * @param  string  $methodName
-     * @return boolean
-     * @since  Method available since Release 3.4.1
-     */
-    public static function getProcessIsolationSettings($className, $methodName)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        if (isset($annotations['class']['runTestsInSeparateProcesses']) ||
-            isset($annotations['method']['runInSeparateProcess'])) {
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Returns the preserve global state settings for a test.
-     *
-     * @param  string  $className
-     * @param  string  $methodName
-     * @return boolean
-     * @since  Method available since Release 3.4.0
-     */
-    public static function getPreserveGlobalStateSettings($className, $methodName)
-    {
-        return self::getBooleanAnnotationSetting(
-            $className,
-            $methodName,
-            'preserveGlobalState'
-        );
-    }
-
-    /**
-     * @param  string $className
-     * @return array
-     * @since  Method available since Release 4.0.8
-     */
-    public static function getHookMethods($className)
-    {
-        if (!class_exists($className, false)) {
-            return self::emptyHookMethodsArray();
-        }
-
-        if (!isset(self::$hookMethods[$className])) {
-            self::$hookMethods[$className] = self::emptyHookMethodsArray();
-
-            try {
-                $class = new ReflectionClass($className);
-
-                foreach ($class->getMethods() as $method) {
-                    if ($method->getDeclaringClass()->getName() != $className) {
-                        continue;
-                    }
-
-                    if (self::isBeforeClassMethod($method)) {
-                        self::$hookMethods[$className]['beforeClass'][] = $method->getName();
-                    }
-
-                    if (self::isBeforeMethod($method)) {
-                        self::$hookMethods[$className]['before'][] = $method->getName();
-                    }
-
-                    if (self::isAfterMethod($method)) {
-                        self::$hookMethods[$className]['after'][] = $method->getName();
-                    }
-
-                    if (self::isAfterClassMethod($method)) {
-                        self::$hookMethods[$className]['afterClass'][] = $method->getName();
-                    }
-                }
-            } catch (ReflectionException $e) {
-            }
-        }
-
-        return self::$hookMethods[$className];
-    }
-
-    /**
-     * @return array
-     * @since  Method available since Release 4.0.9
-     */
-    private static function emptyHookMethodsArray()
-    {
-        return array(
-            'beforeClass' => array('setUpBeforeClass'),
-            'before' => array('setUp'),
-            'after' => array('tearDown'),
-            'afterClass' => array('tearDownAfterClass')
-        );
-    }
-
-    /**
-     * @param  string  $className
-     * @param  string  $methodName
-     * @param  string  $settingName
-     * @return boolean
-     * @since  Method available since Release 3.4.0
-     */
-    private static function getBooleanAnnotationSetting($className, $methodName, $settingName)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        $result = null;
-
-        if (isset($annotations['class'][$settingName])) {
-            if ($annotations['class'][$settingName][0] == 'enabled') {
-                $result = true;
-            } elseif ($annotations['class'][$settingName][0] == 'disabled') {
-                $result = false;
-            }
-        }
-
-        if (isset($annotations['method'][$settingName])) {
-            if ($annotations['method'][$settingName][0] == 'enabled') {
-                $result = true;
-            } elseif ($annotations['method'][$settingName][0] == 'disabled') {
-                $result = false;
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param  string $element
-     * @return array
-     * @throws PHPUnit_Framework_InvalidCoversTargetException
-     * @since  Method available since Release 4.0.0
-     */
-    private static function resolveElementToReflectionObjects($element)
-    {
-        $codeToCoverList = array();
-
-        if (strpos($element, '::') !== false) {
-            list($className, $methodName) = explode('::', $element);
-
-            if (isset($methodName[0]) && $methodName[0] == '<') {
-                $classes = array($className);
-
-                foreach ($classes as $className) {
-                    if (!class_exists($className) &&
-                        !interface_exists($className)) {
-                        throw new PHPUnit_Framework_InvalidCoversTargetException(
-                            sprintf(
-                                'Trying to @cover or @use not existing class or ' .
-                                'interface "%s".',
-                                $className
-                            )
-                        );
-                    }
-
-                    $class   = new ReflectionClass($className);
-                    $methods = $class->getMethods();
-                    $inverse = isset($methodName[1]) && $methodName[1] == '!';
-
-                    if (strpos($methodName, 'protected')) {
-                        $visibility = 'isProtected';
-                    } elseif (strpos($methodName, 'private')) {
-                        $visibility = 'isPrivate';
-                    } elseif (strpos($methodName, 'public')) {
-                        $visibility = 'isPublic';
-                    }
-
-                    foreach ($methods as $method) {
-                        if ($inverse && !$method->$visibility()) {
-                            $codeToCoverList[] = $method;
-                        } elseif (!$inverse && $method->$visibility()) {
-                            $codeToCoverList[] = $method;
-                        }
-                    }
-                }
-            } else {
-                $classes = array($className);
-
-                foreach ($classes as $className) {
-                    if ($className == '' && function_exists($methodName)) {
-                        $codeToCoverList[] = new ReflectionFunction(
-                            $methodName
-                        );
-                    } else {
-                        if (!((class_exists($className) ||
-                               interface_exists($className) ||
-                               trait_exists($className)) &&
-                              method_exists($className, $methodName))) {
-                            throw new PHPUnit_Framework_InvalidCoversTargetException(
-                                sprintf(
-                                    'Trying to @cover or @use not existing method "%s::%s".',
-                                    $className,
-                                    $methodName
-                                )
-                            );
-                        }
-
-                        $codeToCoverList[] = new ReflectionMethod(
-                            $className,
-                            $methodName
-                        );
-                    }
-                }
-            }
-        } else {
-            $extended = false;
-
-            if (strpos($element, '<extended>') !== false) {
-                $element  = str_replace('<extended>', '', $element);
-                $extended = true;
-            }
-
-            $classes = array($element);
-
-            if ($extended) {
-                $classes = array_merge(
-                    $classes,
-                    class_implements($element),
-                    class_parents($element)
-                );
-            }
-
-            foreach ($classes as $className) {
-                if (!class_exists($className) &&
-                    !interface_exists($className) &&
-                    !trait_exists($className)) {
-                    throw new PHPUnit_Framework_InvalidCoversTargetException(
-                        sprintf(
-                            'Trying to @cover or @use not existing class or ' .
-                            'interface "%s".',
-                            $className
-                        )
-                    );
-                }
-
-                $codeToCoverList[] = new ReflectionClass($className);
-            }
-        }
-
-        return $codeToCoverList;
-    }
-
-    /**
-     * @param  array $reflectors
-     * @return array
-     */
-    private static function resolveReflectionObjectsToLines(array $reflectors)
-    {
-        $result = array();
-
-        foreach ($reflectors as $reflector) {
-            $filename = $reflector->getFileName();
-
-            if (!isset($result[$filename])) {
-                $result[$filename] = array();
-            }
-
-            $result[$filename] = array_unique(
-                array_merge(
-                    $result[$filename],
-                    range($reflector->getStartLine(), $reflector->getEndLine())
-                )
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param  ReflectionMethod $method
-     * @return boolean
-     * @since  Method available since Release 4.0.8
-     */
-    private static function isBeforeClassMethod(ReflectionMethod $method)
-    {
-        return $method->isStatic() && strpos($method->getDocComment(), '@beforeClass') !== false;
-    }
-
-    /**
-     * @param  ReflectionMethod $method
-     * @return boolean
-     * @since  Method available since Release 4.0.8
-     */
-    private static function isBeforeMethod(ReflectionMethod $method)
-    {
-        return preg_match('/@before\b/', $method->getDocComment());
-    }
-
-    /**
-     * @param  ReflectionMethod $method
-     * @return boolean
-     * @since  Method available since Release 4.0.8
-     */
-    private static function isAfterClassMethod(ReflectionMethod $method)
-    {
-        return $method->isStatic() && strpos($method->getDocComment(), '@afterClass') !== false;
-    }
-
-    /**
-     * @param  ReflectionMethod $method
-     * @return boolean
-     * @since  Method available since Release 4.0.8
-     */
-    private static function isAfterMethod(ReflectionMethod $method)
-    {
-        return preg_match('/@after\b/', $method->getDocComment());
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php b/core/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php
deleted file mode 100644
index d1c5950..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php
+++ /dev/null
@@ -1,146 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Prettifies class and method names for use in TestDox documentation.
- *
- * @package    PHPUnit
- * @subpackage Util_TestDox
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.1.0
- */
-class PHPUnit_Util_TestDox_NamePrettifier
-{
-    /**
-     * @var    string
-     */
-    protected $prefix = 'Test';
-
-    /**
-     * @var    string
-     */
-    protected $suffix = 'Test';
-
-    /**
-     * @var    array
-     */
-    protected $strings = array();
-
-    /**
-     * Prettifies the name of a test class.
-     *
-     * @param  string $name
-     * @return string
-     */
-    public function prettifyTestClass($name)
-    {
-        $title = $name;
-
-        if ($this->suffix !== null &&
-            $this->suffix == substr($name, -1 * strlen($this->suffix))) {
-            $title = substr($title, 0, strripos($title, $this->suffix));
-        }
-
-        if ($this->prefix !== null &&
-            $this->prefix == substr($name, 0, strlen($this->prefix))) {
-            $title = substr($title, strlen($this->prefix));
-        }
-
-        if (substr($title, 0, 1) == '\\') {
-            $title = substr($title, 1);
-        }
-
-        return $title;
-    }
-
-    /**
-     * Prettifies the name of a test method.
-     *
-     * @param  string $name
-     * @return string
-     */
-    public function prettifyTestMethod($name)
-    {
-        $buffer = '';
-
-        if (!is_string($name) || strlen($name) == 0) {
-            return $buffer;
-        }
-
-        $string = preg_replace('#\d+$#', '', $name, -1, $count);
-
-        if (in_array($string, $this->strings)) {
-            $name = $string;
-        } elseif ($count == 0) {
-            $this->strings[] = $string;
-        }
-
-        if (strpos($name, '_') !== false) {
-            return str_replace('_', ' ', $name);
-        }
-
-        $max = strlen($name);
-
-        if (substr($name, 0, 4) == 'test') {
-            $offset = 4;
-        } else {
-            $offset  = 0;
-            $name[0] = strtoupper($name[0]);
-        }
-
-        $wasNumeric = false;
-
-        for ($i = $offset; $i < $max; $i++) {
-            if ($i > $offset &&
-                ord($name[$i]) >= 65 &&
-                ord($name[$i]) <= 90) {
-                $buffer .= ' ' . strtolower($name[$i]);
-            } else {
-                $isNumeric = is_numeric($name[$i]);
-
-                if (!$wasNumeric && $isNumeric) {
-                    $buffer    .= ' ';
-                    $wasNumeric = true;
-                }
-
-                if ($wasNumeric && !$isNumeric) {
-                    $wasNumeric = false;
-                }
-
-                $buffer .= $name[$i];
-            }
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * Sets the prefix of test names.
-     *
-     * @param string $prefix
-     */
-    public function setPrefix($prefix)
-    {
-        $this->prefix = $prefix;
-    }
-
-    /**
-     * Sets the suffix of test names.
-     *
-     * @param string $suffix
-     */
-    public function setSuffix($suffix)
-    {
-        $this->suffix = $suffix;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php b/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php
deleted file mode 100644
index 8963be6..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php
+++ /dev/null
@@ -1,333 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for printers of TestDox documentation.
- *
- * @package    PHPUnit
- * @subpackage Util_TestDox
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.1.0
- */
-abstract class PHPUnit_Util_TestDox_ResultPrinter extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var PHPUnit_Util_TestDox_NamePrettifier
-     */
-    protected $prettifier;
-
-    /**
-     * @var string
-     */
-    protected $testClass = '';
-
-    /**
-     * @var integer
-     */
-    protected $testStatus = false;
-
-    /**
-     * @var array
-     */
-    protected $tests = array();
-
-    /**
-     * @var integer
-     */
-    protected $successful = 0;
-
-    /**
-     * @var integer
-     */
-    protected $failed = 0;
-
-    /**
-     * @var integer
-     */
-    protected $risky = 0;
-
-    /**
-     * @var integer
-     */
-    protected $skipped = 0;
-
-    /**
-     * @var integer
-     */
-    protected $incomplete = 0;
-
-    /**
-     * @var string
-     */
-    protected $testTypeOfInterest = 'PHPUnit_Framework_TestCase';
-
-    /**
-     * @var string
-     */
-    protected $currentTestClassPrettified;
-
-    /**
-     * @var string
-     */
-    protected $currentTestMethodPrettified;
-
-    /**
-     * Constructor.
-     *
-     * @param resource $out
-     */
-    public function __construct($out = null)
-    {
-        parent::__construct($out);
-
-        $this->prettifier = new PHPUnit_Util_TestDox_NamePrettifier;
-        $this->startRun();
-    }
-
-    /**
-     * Flush buffer and close output.
-     *
-     */
-    public function flush()
-    {
-        $this->doEndClass();
-        $this->endRun();
-
-        parent::flush();
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($test instanceof $this->testTypeOfInterest) {
-            $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_ERROR;
-            $this->failed++;
-        }
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        if ($test instanceof $this->testTypeOfInterest) {
-            $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE;
-            $this->failed++;
-        }
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($test instanceof $this->testTypeOfInterest) {
-            $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE;
-            $this->incomplete++;
-        }
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($test instanceof $this->testTypeOfInterest) {
-            $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_RISKY;
-            $this->risky++;
-        }
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @since  Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($test instanceof $this->testTypeOfInterest) {
-            $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED;
-            $this->skipped++;
-        }
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     * @since  Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        if ($test instanceof $this->testTypeOfInterest) {
-            $class = get_class($test);
-
-            if ($this->testClass != $class) {
-                if ($this->testClass != '') {
-                    $this->doEndClass();
-                }
-
-                $this->currentTestClassPrettified = $this->prettifier->prettifyTestClass($class);
-                $this->startClass($class);
-
-                $this->testClass = $class;
-                $this->tests     = array();
-            }
-
-            $prettified = false;
-
-            if ($test instanceof PHPUnit_Framework_TestCase &&
-               !$test instanceof PHPUnit_Framework_Warning) {
-                $annotations = $test->getAnnotations();
-
-                if (isset($annotations['method']['testdox'][0])) {
-                    $this->currentTestMethodPrettified = $annotations['method']['testdox'][0];
-                    $prettified                        = true;
-                }
-            }
-
-            if (!$prettified) {
-                $this->currentTestMethodPrettified = $this->prettifier->prettifyTestMethod($test->getName(false));
-            }
-
-            $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_PASSED;
-        }
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if ($test instanceof $this->testTypeOfInterest) {
-            if (!isset($this->tests[$this->currentTestMethodPrettified])) {
-                if ($this->testStatus == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
-                    $this->tests[$this->currentTestMethodPrettified]['success'] = 1;
-                    $this->tests[$this->currentTestMethodPrettified]['failure'] = 0;
-                } else {
-                    $this->tests[$this->currentTestMethodPrettified]['success'] = 0;
-                    $this->tests[$this->currentTestMethodPrettified]['failure'] = 1;
-                }
-            } else {
-                if ($this->testStatus == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
-                    $this->tests[$this->currentTestMethodPrettified]['success']++;
-                } else {
-                    $this->tests[$this->currentTestMethodPrettified]['failure']++;
-                }
-            }
-
-            $this->currentTestClassPrettified  = null;
-            $this->currentTestMethodPrettified = null;
-        }
-    }
-
-    /**
-     * @since  Method available since Release 2.3.0
-     */
-    protected function doEndClass()
-    {
-        foreach ($this->tests as $name => $data) {
-            $this->onTest($name, $data['failure'] == 0);
-        }
-
-        $this->endClass($this->testClass);
-    }
-
-    /**
-     * Handler for 'start run' event.
-     *
-     */
-    protected function startRun()
-    {
-    }
-
-    /**
-     * Handler for 'start class' event.
-     *
-     * @param string $name
-     */
-    protected function startClass($name)
-    {
-    }
-
-    /**
-     * Handler for 'on test' event.
-     *
-     * @param string  $name
-     * @param boolean $success
-     */
-    protected function onTest($name, $success = true)
-    {
-    }
-
-    /**
-     * Handler for 'end class' event.
-     *
-     * @param string $name
-     */
-    protected function endClass($name)
-    {
-    }
-
-    /**
-     * Handler for 'end run' event.
-     *
-     */
-    protected function endRun()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php b/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php
deleted file mode 100644
index b4676fc..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Prints TestDox documentation in HTML format.
- *
- * @package    PHPUnit
- * @subpackage Util_TestDox
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.1.0
- */
-class PHPUnit_Util_TestDox_ResultPrinter_HTML extends PHPUnit_Util_TestDox_ResultPrinter
-{
-    /**
-     * @var    boolean
-     */
-    protected $printsHTML = true;
-
-    /**
-     * Handler for 'start run' event.
-     *
-     */
-    protected function startRun()
-    {
-        $this->write('<html><body>');
-    }
-
-    /**
-     * Handler for 'start class' event.
-     *
-     * @param string $name
-     */
-    protected function startClass($name)
-    {
-        $this->write(
-            '<h2 id="' . $name . '">' . $this->currentTestClassPrettified .
-            '</h2><ul>'
-        );
-    }
-
-    /**
-     * Handler for 'on test' event.
-     *
-     * @param string  $name
-     * @param boolean $success
-     */
-    protected function onTest($name, $success = true)
-    {
-        if (!$success) {
-            $strikeOpen  = '<span style="text-decoration:line-through;">';
-            $strikeClose = '</span>';
-        } else {
-            $strikeOpen  = '';
-            $strikeClose = '';
-        }
-
-        $this->write('<li>' . $strikeOpen . $name . $strikeClose . '</li>');
-    }
-
-    /**
-     * Handler for 'end class' event.
-     *
-     * @param string $name
-     */
-    protected function endClass($name)
-    {
-        $this->write('</ul>');
-    }
-
-    /**
-     * Handler for 'end run' event.
-     *
-     */
-    protected function endRun()
-    {
-        $this->write('</body></html>');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php b/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php
deleted file mode 100644
index 29c925b..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Prints TestDox documentation in text format.
- *
- * @package    PHPUnit
- * @subpackage Util_TestDox
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.1.0
- */
-class PHPUnit_Util_TestDox_ResultPrinter_Text extends PHPUnit_Util_TestDox_ResultPrinter
-{
-    /**
-     * Handler for 'start class' event.
-     *
-     * @param string $name
-     */
-    protected function startClass($name)
-    {
-        $this->write($this->currentTestClassPrettified . "\n");
-    }
-
-    /**
-     * Handler for 'on test' event.
-     *
-     * @param string  $name
-     * @param boolean $success
-     */
-    protected function onTest($name, $success = true)
-    {
-        if ($success) {
-            $this->write(' [x] ');
-        } else {
-            $this->write(' [ ] ');
-        }
-
-        $this->write($name . "\n");
-    }
-
-    /**
-     * Handler for 'end class' event.
-     *
-     * @param string $name
-     */
-    protected function endClass($name)
-    {
-        $this->write("\n");
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/TestSuiteIterator.php b/core/vendor/phpunit/phpunit/src/Util/TestSuiteIterator.php
deleted file mode 100644
index df5ae91..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/TestSuiteIterator.php
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Iterator for test suites.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.1.0
- */
-class PHPUnit_Util_TestSuiteIterator implements RecursiveIterator
-{
-    /**
-     * @var    integer
-     */
-    protected $position;
-
-    /**
-     * @var    PHPUnit_Framework_Test[]
-     */
-    protected $tests;
-
-    /**
-     * @param PHPUnit_Framework_TestSuite $testSuite
-     */
-    public function __construct(PHPUnit_Framework_TestSuite $testSuite)
-    {
-        $this->tests = $testSuite->tests();
-    }
-
-    /**
-     * Rewinds the Iterator to the first element.
-     *
-     */
-    public function rewind()
-    {
-        $this->position = 0;
-    }
-
-    /**
-     * Checks if there is a current element after calls to rewind() or next().
-     *
-     * @return boolean
-     */
-    public function valid()
-    {
-        return $this->position < count($this->tests);
-    }
-
-    /**
-     * Returns the key of the current element.
-     *
-     * @return integer
-     */
-    public function key()
-    {
-        return $this->position;
-    }
-
-    /**
-     * Returns the current element.
-     *
-     * @return PHPUnit_Framework_Test
-     */
-    public function current()
-    {
-        return $this->valid() ? $this->tests[$this->position] : null;
-    }
-
-    /**
-     * Moves forward to next element.
-     *
-     */
-    public function next()
-    {
-        $this->position++;
-    }
-
-    /**
-     * Returns the sub iterator for the current element.
-     *
-     * @return PHPUnit_Util_TestSuiteIterator
-     */
-    public function getChildren()
-    {
-        return new PHPUnit_Util_TestSuiteIterator(
-            $this->tests[$this->position]
-        );
-    }
-
-    /**
-     * Checks whether the current element has children.
-     *
-     * @return boolean
-     */
-    public function hasChildren()
-    {
-        return $this->tests[$this->position] instanceof PHPUnit_Framework_TestSuite;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Type.php b/core/vendor/phpunit/phpunit/src/Util/Type.php
deleted file mode 100644
index e616c7a..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Type.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility class for textual type (and value) representation.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class PHPUnit_Util_Type
-{
-    public static function isType($type)
-    {
-        return in_array(
-            $type,
-            array(
-            'numeric',
-            'integer',
-            'int',
-            'float',
-            'string',
-            'boolean',
-            'bool',
-            'null',
-            'array',
-            'object',
-            'resource',
-            'scalar'
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/XML.php b/core/vendor/phpunit/phpunit/src/Util/XML.php
deleted file mode 100644
index 070a28b..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/XML.php
+++ /dev/null
@@ -1,918 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * XML helpers.
- *
- * @package    PHPUnit
- * @subpackage Util
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.2.0
- */
-class PHPUnit_Util_XML
-{
-    /**
-     * Escapes a string for the use in XML documents
-     * Any Unicode character is allowed, excluding the surrogate blocks, FFFE,
-     * and FFFF (not even as character reference).
-     * See http://www.w3.org/TR/xml/#charsets
-     *
-     * @param  string $string
-     * @return string
-     * @author Kore Nordmann <mail@kore-nordmann.de>
-     * @since  Method available since Release 3.4.6
-     */
-    public static function prepareString($string)
-    {
-        return preg_replace(
-            '/[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]/',
-            '',
-            htmlspecialchars(
-                PHPUnit_Util_String::convertToUtf8($string), ENT_QUOTES, 'UTF-8'
-            )
-        );
-    }
-
-    /**
-     * Loads an XML (or HTML) file into a DOMDocument object.
-     *
-     * @param  string      $filename
-     * @param  boolean     $isHtml
-     * @param  boolean     $xinclude
-     * @param  boolean     $strict
-     * @return DOMDocument
-     * @since  Method available since Release 3.3.0
-     */
-    public static function loadFile($filename, $isHtml = false, $xinclude = false, $strict = false)
-    {
-        $reporting = error_reporting(0);
-        $contents  = file_get_contents($filename);
-        error_reporting($reporting);
-
-        if ($contents === false) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'Could not read "%s".',
-                    $filename
-                )
-            );
-        }
-
-        return self::load($contents, $isHtml, $filename, $xinclude, $strict);
-    }
-
-    /**
-     * Load an $actual document into a DOMDocument.  This is called
-     * from the selector assertions.
-     *
-     * If $actual is already a DOMDocument, it is returned with
-     * no changes.  Otherwise, $actual is loaded into a new DOMDocument
-     * as either HTML or XML, depending on the value of $isHtml. If $isHtml is
-     * false and $xinclude is true, xinclude is performed on the loaded
-     * DOMDocument.
-     *
-     * Note: prior to PHPUnit 3.3.0, this method loaded a file and
-     * not a string as it currently does.  To load a file into a
-     * DOMDocument, use loadFile() instead.
-     *
-     * @param  string|DOMDocument $actual
-     * @param  boolean            $isHtml
-     * @param  string             $filename
-     * @param  boolean            $xinclude
-     * @param  boolean            $strict
-     * @return DOMDocument
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     * @author Tobias Schlitt <toby@php.net>
-     */
-    public static function load($actual, $isHtml = false, $filename = '', $xinclude = false, $strict = false)
-    {
-        if ($actual instanceof DOMDocument) {
-            return $actual;
-        }
-
-        // Required for XInclude on Windows.
-        if ($xinclude) {
-            $cwd = getcwd();
-            chdir(dirname($filename));
-        }
-
-        $document  = new DOMDocument;
-
-        $internal  = libxml_use_internal_errors(true);
-        $message   = '';
-        $reporting = error_reporting(0);
-
-        if ('' !== $filename) {
-            // Necessary for xinclude
-            $document->documentURI = $filename;
-        }
-
-        if ($isHtml) {
-            $loaded = $document->loadHTML($actual);
-        } else {
-            $loaded = $document->loadXML($actual);
-        }
-
-        if (!$isHtml && $xinclude) {
-            $document->xinclude();
-        }
-
-        foreach (libxml_get_errors() as $error) {
-            $message .= "\n" . $error->message;
-        }
-
-        libxml_use_internal_errors($internal);
-        error_reporting($reporting);
-
-        if ($xinclude) {
-            chdir($cwd);
-        }
-
-        if ($loaded === false || ($strict && $message !== '')) {
-            if ($filename !== '') {
-                throw new PHPUnit_Framework_Exception(
-                    sprintf(
-                        'Could not load "%s".%s',
-                        $filename,
-                        $message != '' ? "\n" . $message : ''
-                    )
-                );
-            } else {
-                throw new PHPUnit_Framework_Exception($message);
-            }
-        }
-
-        return $document;
-    }
-
-    /**
-     *
-     *
-     * @param  DOMNode $node
-     * @return string
-     * @since  Method available since Release 3.4.0
-     */
-    public static function nodeToText(DOMNode $node)
-    {
-        if ($node->childNodes->length == 1) {
-            return $node->nodeValue;
-        }
-
-        $result = '';
-
-        foreach ($node->childNodes as $childNode) {
-            $result .= $node->ownerDocument->saveXML($childNode);
-        }
-
-        return $result;
-    }
-
-    /**
-     *
-     *
-     * @param DOMNode $node
-     * @since  Method available since Release 3.3.0
-     * @author Mattis Stordalen Flister <mattis@xait.no>
-     */
-    public static function removeCharacterDataNodes(DOMNode $node)
-    {
-        if ($node->hasChildNodes()) {
-            for ($i = $node->childNodes->length - 1; $i >= 0; $i--) {
-                if (($child = $node->childNodes->item($i)) instanceof DOMCharacterData) {
-                    $node->removeChild($child);
-                }
-            }
-        }
-    }
-
-    /**
-     * "Convert" a DOMElement object into a PHP variable.
-     *
-     * @param  DOMElement $element
-     * @return mixed
-     * @since  Method available since Release 3.4.0
-     */
-    public static function xmlToVariable(DOMElement $element)
-    {
-        $variable = null;
-
-        switch ($element->tagName) {
-            case 'array': {
-                $variable = array();
-
-                foreach ($element->getElementsByTagName('element') as $element) {
-                    $value = self::xmlToVariable($element->childNodes->item(1));
-
-                    if ($element->hasAttribute('key')) {
-                        $variable[(string) $element->getAttribute('key')] = $value;
-                    } else {
-                        $variable[] = $value;
-                    }
-                }
-                }
-            break;
-
-            case 'object': {
-                $className = $element->getAttribute('class');
-
-                if ($element->hasChildNodes()) {
-                    $arguments       = $element->childNodes->item(1)->childNodes;
-                    $constructorArgs = array();
-
-                    foreach ($arguments as $argument) {
-                        if ($argument instanceof DOMElement) {
-                            $constructorArgs[] = self::xmlToVariable($argument);
-                        }
-                    }
-
-                    $class    = new ReflectionClass($className);
-                    $variable = $class->newInstanceArgs($constructorArgs);
-                } else {
-                    $variable = new $className;
-                }
-                }
-            break;
-
-            case 'boolean': {
-                $variable = $element->nodeValue == 'true' ? true : false;
-                }
-            break;
-
-            case 'integer':
-            case 'double':
-            case 'string': {
-                $variable = $element->nodeValue;
-
-                settype($variable, $element->tagName);
-                }
-            break;
-        }
-
-        return $variable;
-    }
-
-    /**
-     * Validate list of keys in the associative array.
-     *
-     * @param  array                       $hash
-     * @param  array                       $validKeys
-     * @return array
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     */
-    public static function assertValidKeys(array $hash, array $validKeys)
-    {
-        $valids = array();
-
-        // Normalize validation keys so that we can use both indexed and
-        // associative arrays.
-        foreach ($validKeys as $key => $val) {
-            is_int($key) ? $valids[$val] = null : $valids[$key] = $val;
-        }
-
-        $validKeys = array_keys($valids);
-
-        // Check for invalid keys.
-        foreach ($hash as $key => $value) {
-            if (!in_array($key, $validKeys)) {
-                $unknown[] = $key;
-            }
-        }
-
-        if (!empty($unknown)) {
-            throw new PHPUnit_Framework_Exception(
-                'Unknown key(s): ' . implode(', ', $unknown)
-            );
-        }
-
-        // Add default values for any valid keys that are empty.
-        foreach ($valids as $key => $value) {
-            if (!isset($hash[$key])) {
-                $hash[$key] = $value;
-            }
-        }
-
-        return $hash;
-    }
-
-    /**
-     * Parse a CSS selector into an associative array suitable for
-     * use with findNodes().
-     *
-     * @param  string $selector
-     * @param  mixed  $content
-     * @return array
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     */
-    public static function convertSelectToTag($selector, $content = true)
-    {
-        $selector = trim(preg_replace("/\s+/", " ", $selector));
-
-        // substitute spaces within attribute value
-        while (preg_match('/\[[^\]]+"[^"]+\s[^"]+"\]/', $selector)) {
-            $selector = preg_replace(
-                '/(\[[^\]]+"[^"]+)\s([^"]+"\])/', "$1__SPACE__$2", $selector
-            );
-        }
-
-        if (strstr($selector, ' ')) {
-            $elements = explode(' ', $selector);
-        } else {
-            $elements = array($selector);
-        }
-
-        $previousTag = array();
-
-        foreach (array_reverse($elements) as $element) {
-            $element = str_replace('__SPACE__', ' ', $element);
-
-            // child selector
-            if ($element == '>') {
-                $previousTag = array('child' => $previousTag['descendant']);
-                continue;
-            }
-
-            // adjacent-sibling selector
-            if ($element == '+') {
-                $previousTag = array('adjacent-sibling' => $previousTag['descendant']);
-                continue;
-            }
-
-            $tag = array();
-
-            // match element tag
-            preg_match("/^([^\.#\[]*)/", $element, $eltMatches);
-
-            if (!empty($eltMatches[1])) {
-                $tag['tag'] = $eltMatches[1];
-            }
-
-            // match attributes (\[[^\]]*\]*), ids (#[^\.#\[]*),
-            // and classes (\.[^\.#\[]*))
-            preg_match_all(
-                "/(\[[^\]]*\]*|#[^\.#\[]*|\.[^\.#\[]*)/", $element, $matches
-            );
-
-            if (!empty($matches[1])) {
-                $classes = array();
-                $attrs   = array();
-
-                foreach ($matches[1] as $match) {
-                    // id matched
-                    if (substr($match, 0, 1) == '#') {
-                        $tag['id'] = substr($match, 1);
-                    } // class matched
-                    elseif (substr($match, 0, 1) == '.') {
-                        $classes[] = substr($match, 1);
-                    } // attribute matched
-                    elseif (substr($match, 0, 1) == '[' &&
-                             substr($match, -1, 1) == ']') {
-                        $attribute = substr($match, 1, strlen($match) - 2);
-                        $attribute = str_replace('"', '', $attribute);
-
-                        // match single word
-                        if (strstr($attribute, '~=')) {
-                            list($key, $value) = explode('~=', $attribute);
-                            $value             = "regexp:/.*\b$value\b.*/";
-                        } // match substring
-                        elseif (strstr($attribute, '*=')) {
-                            list($key, $value) = explode('*=', $attribute);
-                            $value             = "regexp:/.*$value.*/";
-                        } // exact match
-                        else {
-                            list($key, $value) = explode('=', $attribute);
-                        }
-
-                        $attrs[$key] = $value;
-                    }
-                }
-
-                if ($classes) {
-                    $tag['class'] = implode(' ', $classes);
-                }
-
-                if ($attrs) {
-                    $tag['attributes'] = $attrs;
-                }
-            }
-
-            // tag content
-            if (is_string($content)) {
-                $tag['content'] = $content;
-            }
-
-            // determine previous child/descendants
-            if (!empty($previousTag['descendant'])) {
-                $tag['descendant'] = $previousTag['descendant'];
-            } elseif (!empty($previousTag['child'])) {
-                $tag['child'] = $previousTag['child'];
-            } elseif (!empty($previousTag['adjacent-sibling'])) {
-                $tag['adjacent-sibling'] = $previousTag['adjacent-sibling'];
-                unset($tag['content']);
-            }
-
-            $previousTag = array('descendant' => $tag);
-        }
-
-        return $tag;
-    }
-
-    /**
-     * Parse an $actual document and return an array of DOMNodes
-     * matching the CSS $selector.  If an error occurs, it will
-     * return false.
-     *
-     * To only return nodes containing a certain content, give
-     * the $content to match as a string.  Otherwise, setting
-     * $content to true will return all nodes matching $selector.
-     *
-     * The $actual document may be a DOMDocument or a string
-     * containing XML or HTML, identified by $isHtml.
-     *
-     * @param  array         $selector
-     * @param  string        $content
-     * @param  mixed         $actual
-     * @param  boolean       $isHtml
-     * @return boolean|array
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     * @author Tobias Schlitt <toby@php.net>
-     */
-    public static function cssSelect($selector, $content, $actual, $isHtml = true)
-    {
-        $matcher = self::convertSelectToTag($selector, $content);
-        $dom     = self::load($actual, $isHtml);
-        $tags    = self::findNodes($dom, $matcher, $isHtml);
-
-        return $tags;
-    }
-
-    /**
-     * Parse out the options from the tag using DOM object tree.
-     *
-     * @param  DOMDocument $dom
-     * @param  array       $options
-     * @param  boolean     $isHtml
-     * @return array
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     * @author Tobias Schlitt <toby@php.net>
-     */
-    public static function findNodes(DOMDocument $dom, array $options, $isHtml = true)
-    {
-        $valid = array(
-          'id', 'class', 'tag', 'content', 'attributes', 'parent',
-          'child', 'ancestor', 'descendant', 'children', 'adjacent-sibling'
-        );
-
-        $filtered = array();
-        $options  = self::assertValidKeys($options, $valid);
-
-        // find the element by id
-        if ($options['id']) {
-            $options['attributes']['id'] = $options['id'];
-        }
-
-        if ($options['class']) {
-            $options['attributes']['class'] = $options['class'];
-        }
-
-        // find the element by a tag type
-        if ($options['tag']) {
-            if ($isHtml) {
-                $elements = self::getElementsByCaseInsensitiveTagName(
-                    $dom, $options['tag']
-                );
-            } else {
-                $elements = $dom->getElementsByTagName($options['tag']);
-            }
-
-            foreach ($elements as $element) {
-                $nodes[] = $element;
-            }
-
-            if (empty($nodes)) {
-                return false;
-            }
-        } // no tag selected, get them all
-        else {
-            $tags = array(
-              'a', 'abbr', 'acronym', 'address', 'area', 'b', 'base', 'bdo',
-              'big', 'blockquote', 'body', 'br', 'button', 'caption', 'cite',
-              'code', 'col', 'colgroup', 'dd', 'del', 'div', 'dfn', 'dl',
-              'dt', 'em', 'fieldset', 'form', 'frame', 'frameset', 'h1', 'h2',
-              'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html', 'i', 'iframe',
-              'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'link',
-              'map', 'meta', 'noframes', 'noscript', 'object', 'ol', 'optgroup',
-              'option', 'p', 'param', 'pre', 'q', 'samp', 'script', 'select',
-              'small', 'span', 'strong', 'style', 'sub', 'sup', 'table',
-              'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'title',
-              'tr', 'tt', 'ul', 'var',
-              // HTML5
-              'article', 'aside', 'audio', 'bdi', 'canvas', 'command',
-              'datalist', 'details', 'dialog', 'embed', 'figure', 'figcaption',
-              'footer', 'header', 'hgroup', 'keygen', 'mark', 'meter', 'nav',
-              'output', 'progress', 'ruby', 'rt', 'rp', 'track', 'section',
-              'source', 'summary', 'time', 'video', 'wbr'
-            );
-
-            foreach ($tags as $tag) {
-                if ($isHtml) {
-                    $elements = self::getElementsByCaseInsensitiveTagName(
-                        $dom, $tag
-                    );
-                } else {
-                    $elements = $dom->getElementsByTagName($tag);
-                }
-
-                foreach ($elements as $element) {
-                    $nodes[] = $element;
-                }
-            }
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by attributes
-        if ($options['attributes']) {
-            foreach ($nodes as $node) {
-                $invalid = false;
-
-                foreach ($options['attributes'] as $name => $value) {
-                    // match by regexp if like "regexp:/foo/i"
-                    if (preg_match('/^regexp\s*:\s*(.*)/i', $value, $matches)) {
-                        if (!preg_match($matches[1], $node->getAttribute($name))) {
-                            $invalid = true;
-                        }
-                    } // class can match only a part
-                    elseif ($name == 'class') {
-                        // split to individual classes
-                        $findClasses = explode(
-                            ' ', preg_replace("/\s+/", " ", $value)
-                        );
-
-                        $allClasses = explode(
-                            ' ',
-                            preg_replace("/\s+/", " ", $node->getAttribute($name))
-                        );
-
-                        // make sure each class given is in the actual node
-                        foreach ($findClasses as $findClass) {
-                            if (!in_array($findClass, $allClasses)) {
-                                $invalid = true;
-                            }
-                        }
-                    } // match by exact string
-                    else {
-                        if ($node->getAttribute($name) != $value) {
-                            $invalid = true;
-                        }
-                    }
-                }
-
-                // if every attribute given matched
-                if (!$invalid) {
-                    $filtered[] = $node;
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by content
-        if ($options['content'] !== null) {
-            foreach ($nodes as $node) {
-                $invalid = false;
-
-                // match by regexp if like "regexp:/foo/i"
-                if (preg_match('/^regexp\s*:\s*(.*)/i', $options['content'], $matches)) {
-                    if (!preg_match($matches[1], self::getNodeText($node))) {
-                        $invalid = true;
-                    }
-                } // match empty string
-                elseif ($options['content'] === '') {
-                    if (self::getNodeText($node) !== '') {
-                        $invalid = true;
-                    }
-                } // match by exact string
-                elseif (strstr(self::getNodeText($node), $options['content']) === false) {
-                    $invalid = true;
-                }
-
-                if (!$invalid) {
-                    $filtered[] = $node;
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by parent node
-        if ($options['parent']) {
-            $parentNodes = self::findNodes($dom, $options['parent'], $isHtml);
-            $parentNode  = isset($parentNodes[0]) ? $parentNodes[0] : null;
-
-            foreach ($nodes as $node) {
-                if ($parentNode !== $node->parentNode) {
-                    continue;
-                }
-
-                $filtered[] = $node;
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by child node
-        if ($options['child']) {
-            $childNodes = self::findNodes($dom, $options['child'], $isHtml);
-            $childNodes = !empty($childNodes) ? $childNodes : array();
-
-            foreach ($nodes as $node) {
-                foreach ($node->childNodes as $child) {
-                    foreach ($childNodes as $childNode) {
-                        if ($childNode === $child) {
-                            $filtered[] = $node;
-                        }
-                    }
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by adjacent-sibling
-        if ($options['adjacent-sibling']) {
-            $adjacentSiblingNodes = self::findNodes($dom, $options['adjacent-sibling'], $isHtml);
-            $adjacentSiblingNodes = !empty($adjacentSiblingNodes) ? $adjacentSiblingNodes : array();
-
-            foreach ($nodes as $node) {
-                $sibling = $node;
-
-                while ($sibling = $sibling->nextSibling) {
-                    if ($sibling->nodeType !== XML_ELEMENT_NODE) {
-                        continue;
-                    }
-
-                    foreach ($adjacentSiblingNodes as $adjacentSiblingNode) {
-                        if ($sibling === $adjacentSiblingNode) {
-                            $filtered[] = $node;
-                            break;
-                        }
-                    }
-
-                    break;
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by ancestor
-        if ($options['ancestor']) {
-            $ancestorNodes = self::findNodes($dom, $options['ancestor'], $isHtml);
-            $ancestorNode  = isset($ancestorNodes[0]) ? $ancestorNodes[0] : null;
-
-            foreach ($nodes as $node) {
-                $parent = $node->parentNode;
-
-                while ($parent && $parent->nodeType != XML_HTML_DOCUMENT_NODE) {
-                    if ($parent === $ancestorNode) {
-                        $filtered[] = $node;
-                    }
-
-                    $parent = $parent->parentNode;
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by descendant
-        if ($options['descendant']) {
-            $descendantNodes = self::findNodes($dom, $options['descendant'], $isHtml);
-            $descendantNodes = !empty($descendantNodes) ? $descendantNodes : array();
-
-            foreach ($nodes as $node) {
-                foreach (self::getDescendants($node) as $descendant) {
-                    foreach ($descendantNodes as $descendantNode) {
-                        if ($descendantNode === $descendant) {
-                            $filtered[] = $node;
-                        }
-                    }
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by children
-        if ($options['children']) {
-            $validChild   = array('count', 'greater_than', 'less_than', 'only');
-            $childOptions = self::assertValidKeys(
-                $options['children'], $validChild
-            );
-
-            foreach ($nodes as $node) {
-                $childNodes = $node->childNodes;
-
-                foreach ($childNodes as $childNode) {
-                    if ($childNode->nodeType !== XML_CDATA_SECTION_NODE &&
-                        $childNode->nodeType !== XML_TEXT_NODE) {
-                        $children[] = $childNode;
-                    }
-                }
-
-                // we must have children to pass this filter
-                if (!empty($children)) {
-                    // exact count of children
-                    if ($childOptions['count'] !== null) {
-                        if (count($children) !== $childOptions['count']) {
-                            break;
-                        }
-                    } // range count of children
-                    elseif ($childOptions['less_than']    !== null &&
-                            $childOptions['greater_than'] !== null) {
-                        if (count($children) >= $childOptions['less_than'] ||
-                            count($children) <= $childOptions['greater_than']) {
-                            break;
-                        }
-                    } // less than a given count
-                    elseif ($childOptions['less_than'] !== null) {
-                        if (count($children) >= $childOptions['less_than']) {
-                            break;
-                        }
-                    } // more than a given count
-                    elseif ($childOptions['greater_than'] !== null) {
-                        if (count($children) <= $childOptions['greater_than']) {
-                            break;
-                        }
-                    }
-
-                    // match each child against a specific tag
-                    if ($childOptions['only']) {
-                        $onlyNodes = self::findNodes(
-                            $dom, $childOptions['only'], $isHtml
-                        );
-
-                        // try to match each child to one of the 'only' nodes
-                        foreach ($children as $child) {
-                            $matched = false;
-
-                            foreach ($onlyNodes as $onlyNode) {
-                                if ($onlyNode === $child) {
-                                    $matched = true;
-                                }
-                            }
-
-                            if (!$matched) {
-                                break 2;
-                            }
-                        }
-                    }
-
-                    $filtered[] = $node;
-                }
-            }
-
-            $nodes = $filtered;
-
-            if (empty($nodes)) {
-                return;
-            }
-        }
-
-        // return the first node that matches all criteria
-        return !empty($nodes) ? $nodes : array();
-    }
-
-    /**
-     * Recursively get flat array of all descendants of this node.
-     *
-     * @param  DOMNode $node
-     * @return array
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     */
-    protected static function getDescendants(DOMNode $node)
-    {
-        $allChildren = array();
-        $childNodes  = $node->childNodes ? $node->childNodes : array();
-
-        foreach ($childNodes as $child) {
-            if ($child->nodeType === XML_CDATA_SECTION_NODE ||
-                $child->nodeType === XML_TEXT_NODE) {
-                continue;
-            }
-
-            $children    = self::getDescendants($child);
-            $allChildren = array_merge($allChildren, $children, array($child));
-        }
-
-        return isset($allChildren) ? $allChildren : array();
-    }
-
-    /**
-     * Gets elements by case insensitive tagname.
-     *
-     * @param  DOMDocument $dom
-     * @param  string      $tag
-     * @return DOMNodeList
-     * @since  Method available since Release 3.4.0
-     */
-    protected static function getElementsByCaseInsensitiveTagName(DOMDocument $dom, $tag)
-    {
-        $elements = $dom->getElementsByTagName(strtolower($tag));
-
-        if ($elements->length == 0) {
-            $elements = $dom->getElementsByTagName(strtoupper($tag));
-        }
-
-        return $elements;
-    }
-
-    /**
-     * Get the text value of this node's child text node.
-     *
-     * @param  DOMNode $node
-     * @return string
-     * @since  Method available since Release 3.3.0
-     * @author Mike Naberezny <mike@maintainable.com>
-     * @author Derek DeVries <derek@maintainable.com>
-     */
-    protected static function getNodeText(DOMNode $node)
-    {
-        if (!$node->childNodes instanceof DOMNodeList) {
-            return '';
-        }
-
-        $result = '';
-
-        foreach ($node->childNodes as $childNode) {
-            if ($childNode->nodeType === XML_TEXT_NODE ||
-                $childNode->nodeType === XML_CDATA_SECTION_NODE) {
-                $result .= trim($childNode->data) . ' ';
-            } else {
-                $result .= self::getNodeText($childNode);
-            }
-        }
-
-        return str_replace('  ', ' ', $result);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Extensions/RepeatedTestTest.php b/core/vendor/phpunit/phpunit/tests/Extensions/RepeatedTestTest.php
deleted file mode 100644
index 1dcf4ac..0000000
--- a/core/vendor/phpunit/phpunit/tests/Extensions/RepeatedTestTest.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- * @covers     PHPUnit_Extensions_RepeatedTest
- */
-class Extensions_RepeatedTestTest extends PHPUnit_Framework_TestCase
-{
-    protected $suite;
-
-    public function __construct()
-    {
-        $this->suite = new PHPUnit_Framework_TestSuite;
-
-        $this->suite->addTest(new Success);
-        $this->suite->addTest(new Success);
-    }
-
-    public function testRepeatedOnce()
-    {
-        $test = new PHPUnit_Extensions_RepeatedTest($this->suite, 1);
-        $this->assertEquals(2, count($test));
-
-        $result = $test->run();
-        $this->assertEquals(2, count($result));
-    }
-
-    public function testRepeatedMoreThanOnce()
-    {
-        $test = new PHPUnit_Extensions_RepeatedTest($this->suite, 3);
-        $this->assertEquals(6, count($test));
-
-        $result = $test->run();
-        $this->assertEquals(6, count($result));
-    }
-
-    public function testRepeatedZero()
-    {
-        $test = new PHPUnit_Extensions_RepeatedTest($this->suite, 0);
-        $this->assertEquals(0, count($test));
-
-        $result = $test->run();
-        $this->assertEquals(0, count($result));
-    }
-
-    public function testRepeatedNegative()
-    {
-        try {
-            $test = new PHPUnit_Extensions_RepeatedTest($this->suite, -1);
-        } catch (Exception $e) {
-            return;
-        }
-
-        $this->fail('Should throw an Exception');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Fail/fail.phpt b/core/vendor/phpunit/phpunit/tests/Fail/fail.phpt
deleted file mode 100644
index b88454f..0000000
--- a/core/vendor/phpunit/phpunit/tests/Fail/fail.phpt
+++ /dev/null
@@ -1,5 +0,0 @@
---TEST--
-// This test intentionally fails and it is checked by Travis.
---FILE--
---EXPECTF--
-unexpected
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/AssertTest.php b/core/vendor/phpunit/phpunit/tests/Framework/AssertTest.php
deleted file mode 100644
index 4b0c61e..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/AssertTest.php
+++ /dev/null
@@ -1,3999 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class Framework_AssertTest extends PHPUnit_Framework_TestCase
-{
-    private $filesDirectory;
-
-    protected function setUp()
-    {
-        $this->filesDirectory = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR;
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::fail
-     */
-    public function testFail()
-    {
-        try {
-            $this->fail();
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        throw new PHPUnit_Framework_AssertionFailedError('Fail did not throw fail exception');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertSplObjectStorageContainsObject()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-        $c = new SplObjectStorage;
-        $c->attach($a);
-
-        $this->assertContains($a, $c);
-
-        try {
-            $this->assertContains($b, $c);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertArrayContainsObject()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-
-        $this->assertContains($a, array($a));
-
-        try {
-            $this->assertContains($a, array($b));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertArrayContainsString()
-    {
-        $this->assertContains('foo', array('foo'));
-
-        try {
-            $this->assertContains('foo', array('bar'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertArrayContainsNonObject()
-    {
-        $this->assertContains('foo', array(true));
-
-        try {
-            $this->assertContains('foo', array(true), '', false, true, true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContainsOnlyInstancesOf
-     */
-    public function testAssertContainsOnlyInstancesOf()
-    {
-        $test = array(
-            new Book(),
-            new Book
-        );
-        $this->assertContainsOnlyInstancesOf('Book', $test);
-        $this->assertContainsOnlyInstancesOf('stdClass', array(new stdClass()));
-
-        $test2 = array(
-            new Author('Test')
-        );
-        try {
-            $this->assertContainsOnlyInstancesOf('Book', $test2);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertArrayHasKey
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertArrayHasKeyThrowsExceptionForInvalidFirstArgument()
-    {
-        $this->assertArrayHasKey(null, array());
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertArrayHasKey
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertArrayHasKeyThrowsExceptionForInvalidSecondArgument()
-    {
-        $this->assertArrayHasKey(0, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     */
-    public function testAssertArrayHasIntegerKey()
-    {
-        $this->assertArrayHasKey(0, array('foo'));
-
-        try {
-            $this->assertArrayHasKey(1, array('foo'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArraySubset
-     * @covers PHPUnit_Framework_Constraint_ArraySubset
-     */
-    public function testassertArraySubset()
-    {
-        $array = array(
-            'a' => 'item a',
-            'b' => 'item b',
-            'c' => array('a2' => 'item a2', 'b2' => 'item b2'),
-            'd' => array('a2' => array('a3' => 'item a3', 'b3' => 'item b3'))
-        );
-
-        $this->assertArraySubset(array('a' => 'item a', 'c' => array('a2' => 'item a2')), $array);
-        $this->assertArraySubset(array('a' => 'item a', 'd' => array('a2' => array('b3' => 'item b3'))), $array);
-
-        try {
-            $this->assertArraySubset(array('a' => 'bad value'), $array);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-        }
-
-        try {
-            $this->assertArraySubset(array('d' => array('a2' => array('bad index' => 'item b3'))), $array);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArraySubset
-     * @covers PHPUnit_Framework_Constraint_ArraySubset
-     */
-    public function testassertArraySubsetWithDeepNestedArrays()
-    {
-        $array = array(
-            'path' => array(
-                'to' => array(
-                    'the' => array(
-                        'cake' => 'is a lie'
-                    )
-                )
-            )
-        );
-
-        $this->assertArraySubset(array('path' => array()), $array);
-        $this->assertArraySubset(array('path' => array('to' => array())), $array);
-        $this->assertArraySubset(array('path' => array('to' => array('the' => array()))), $array);
-        $this->assertArraySubset(array('path' => array('to' => array('the' => array('cake' => 'is a lie')))), $array);
-
-        try {
-            $this->assertArraySubset(array('path' => array('to' => array('the' => array('cake' => 'is not a lie')))), $array);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArraySubset
-     * @covers PHPUnit_Framework_Constraint_ArraySubset
-     */
-    public function testassertArraySubsetWithNoStrictCheckAndObjects()
-    {
-        $obj = new \stdClass;
-        $reference = &$obj;
-        $array = array('a' => $obj);
-
-        $this->assertArraySubset(array('a' => $reference), $array);
-        $this->assertArraySubset(array('a' => new \stdClass), $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArraySubset
-     * @covers PHPUnit_Framework_Constraint_ArraySubset
-     */
-    public function testassertArraySubsetWithStrictCheckAndObjects()
-    {
-        $obj = new \stdClass;
-        $reference = &$obj;
-        $array = array('a' => $obj);
-
-        $this->assertArraySubset(array('a' => $reference), $array, true);
-
-        try {
-            $this->assertArraySubset(array('a' => new \stdClass), $array, true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail('Strict recursive array check fail.');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArraySubset
-     * @covers PHPUnit_Framework_Constraint_ArraySubset
-     * @expectedException PHPUnit_Framework_Exception
-     * @expectedExceptionMessage array or ArrayAccess
-     * @dataProvider assertArraySubsetInvalidArgumentProvider
-     */
-    public function testassertArraySubsetRaisesExceptionForInvalidArguments($partial, $subject)
-    {
-        $this->assertArraySubset($partial, $subject);
-    }
-
-    public function assertArraySubsetInvalidArgumentProvider()
-    {
-        return array(
-            array(false, array()),
-            array(array(), false),
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertArrayNotHasKey
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertArrayNotHasKeyThrowsExceptionForInvalidFirstArgument()
-    {
-        $this->assertArrayNotHasKey(null, array());
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertArrayNotHasKey
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertArrayNotHasKeyThrowsExceptionForInvalidSecondArgument()
-    {
-        $this->assertArrayNotHasKey(0, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
-     */
-    public function testAssertArrayNotHasIntegerKey()
-    {
-        $this->assertArrayNotHasKey(1, array('foo'));
-
-        try {
-            $this->assertArrayNotHasKey(0, array('foo'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     */
-    public function testAssertArrayHasStringKey()
-    {
-        $this->assertArrayHasKey('foo', array('foo' => 'bar'));
-
-        try {
-            $this->assertArrayHasKey('bar', array('foo' => 'bar'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
-     */
-    public function testAssertArrayNotHasStringKey()
-    {
-        $this->assertArrayNotHasKey('bar', array('foo' => 'bar'));
-
-        try {
-            $this->assertArrayNotHasKey('foo', array('foo' => 'bar'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     */
-    public function testAssertArrayHasKeyAcceptsArrayObjectValue()
-    {
-        $array = new ArrayObject();
-        $array['foo'] = 'bar';
-        $this->assertArrayHasKey('foo', $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     * @expectedException PHPUnit_Framework_AssertionFailedError
-     */
-    public function testAssertArrayHasKeyProperlyFailsWithArrayObjectValue()
-    {
-        $array = new ArrayObject();
-        $array['bar'] = 'bar';
-        $this->assertArrayHasKey('foo', $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     */
-    public function testAssertArrayHasKeyAcceptsArrayAccessValue()
-    {
-        $array = new SampleArrayAccess();
-        $array['foo'] = 'bar';
-        $this->assertArrayHasKey('foo', $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     * @expectedException PHPUnit_Framework_AssertionFailedError
-     */
-    public function testAssertArrayHasKeyProperlyFailsWithArrayAccessValue()
-    {
-        $array = new SampleArrayAccess();
-        $array['bar'] = 'bar';
-        $this->assertArrayHasKey('foo', $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
-     */
-    public function testAssertArrayNotHasKeyAcceptsArrayAccessValue()
-    {
-        $array = new ArrayObject();
-        $array['foo'] = 'bar';
-        $this->assertArrayNotHasKey('bar', $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
-     * @expectedException PHPUnit_Framework_AssertionFailedError
-     */
-    public function testAssertArrayNotHasKeyPropertlyFailsWithArrayAccessValue()
-    {
-        $array = new ArrayObject();
-        $array['bar'] = 'bar';
-        $this->assertArrayNotHasKey('bar', $array);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertContains
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertContainsThrowsException()
-    {
-        $this->assertContains(null, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertIteratorContainsObject()
-    {
-        $foo = new stdClass;
-
-        $this->assertContains($foo, new TestIterator(array($foo)));
-
-        try {
-            $this->assertContains($foo, new TestIterator(array(new stdClass)));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertIteratorContainsString()
-    {
-        $this->assertContains('foo', new TestIterator(array('foo')));
-
-        try {
-            $this->assertContains('foo', new TestIterator(array('bar')));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertStringContainsString()
-    {
-        $this->assertContains('foo', 'foobar');
-
-        try {
-            $this->assertContains('foo', 'bar');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertNotContains
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotContainsThrowsException()
-    {
-        $this->assertNotContains(null, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContains
-     */
-    public function testAssertSplObjectStorageNotContainsObject()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-        $c = new SplObjectStorage;
-        $c->attach($a);
-
-        $this->assertNotContains($b, $c);
-
-        try {
-            $this->assertNotContains($a, $c);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContains
-     */
-    public function testAssertArrayNotContainsObject()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-
-        $this->assertNotContains($a, array($b));
-
-        try {
-            $this->assertNotContains($a, array($a));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContains
-     */
-    public function testAssertArrayNotContainsString()
-    {
-        $this->assertNotContains('foo', array('bar'));
-
-        try {
-            $this->assertNotContains('foo', array('foo'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContains
-     */
-    public function testAssertArrayNotContainsNonObject()
-    {
-        $this->assertNotContains('foo', array(true), '', false, true, true);
-
-        try {
-            $this->assertNotContains('foo', array(true));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContains
-     */
-    public function testAssertStringNotContainsString()
-    {
-        $this->assertNotContains('foo', 'bar');
-
-        try {
-            $this->assertNotContains('foo', 'foo');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertContainsOnly
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertContainsOnlyThrowsException()
-    {
-        $this->assertContainsOnly(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertNotContainsOnly
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotContainsOnlyThrowsException()
-    {
-        $this->assertNotContainsOnly(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertContainsOnlyInstancesOf
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertContainsOnlyInstancesOfThrowsException()
-    {
-        $this->assertContainsOnlyInstancesOf(null, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContainsOnly
-     */
-    public function testAssertArrayContainsOnlyIntegers()
-    {
-        $this->assertContainsOnly('integer', array(1, 2, 3));
-
-        try {
-            $this->assertContainsOnly('integer', array("1", 2, 3));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContainsOnly
-     */
-    public function testAssertArrayNotContainsOnlyIntegers()
-    {
-        $this->assertNotContainsOnly('integer', array("1", 2, 3));
-
-        try {
-            $this->assertNotContainsOnly('integer', array(1, 2, 3));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContainsOnly
-     */
-    public function testAssertArrayContainsOnlyStdClass()
-    {
-        $this->assertContainsOnly('StdClass', array(new StdClass));
-
-        try {
-            $this->assertContainsOnly('StdClass', array('StdClass'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContainsOnly
-     */
-    public function testAssertArrayNotContainsOnlyStdClass()
-    {
-        $this->assertNotContainsOnly('StdClass', array('StdClass'));
-
-        try {
-            $this->assertNotContainsOnly('StdClass', array(new StdClass));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    protected function createDOMDocument($content)
-    {
-        $document = new DOMDocument;
-        $document->preserveWhiteSpace = false;
-        $document->loadXML($content);
-
-        return $document;
-    }
-
-    protected function sameValues()
-    {
-        $object = new SampleClass(4, 8, 15);
-        // cannot use $filesDirectory, because neither setUp() nor
-        // setUpBeforeClass() are executed before the data providers
-        $file = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'foo.xml';
-        $resource = fopen($file, 'r');
-
-        return array(
-            // null
-            array(null, null),
-            // strings
-            array('a', 'a'),
-            // integers
-            array(0, 0),
-            // floats
-            array(2.3, 2.3),
-            array(1/3, 1 - 2/3),
-            array(log(0), log(0)),
-            // arrays
-            array(array(), array()),
-            array(array(0 => 1), array(0 => 1)),
-            array(array(0 => null), array(0 => null)),
-            array(array('a', 'b' => array(1, 2)), array('a', 'b' => array(1, 2))),
-            // objects
-            array($object, $object),
-            // resources
-            array($resource, $resource),
-        );
-    }
-
-    protected function notEqualValues()
-    {
-        // cyclic dependencies
-        $book1 = new Book;
-        $book1->author = new Author('Terry Pratchett');
-        $book1->author->books[] = $book1;
-        $book2 = new Book;
-        $book2->author = new Author('Terry Pratch');
-        $book2->author->books[] = $book2;
-
-        $book3 = new Book;
-        $book3->author = 'Terry Pratchett';
-        $book4 = new stdClass;
-        $book4->author = 'Terry Pratchett';
-
-        $object1 = new SampleClass(4, 8, 15);
-        $object2 = new SampleClass(16, 23, 42);
-        $object3 = new SampleClass(4, 8, 15);
-        $storage1 = new SplObjectStorage;
-        $storage1->attach($object1);
-        $storage2 = new SplObjectStorage;
-        $storage2->attach($object3); // same content, different object
-
-        // cannot use $filesDirectory, because neither setUp() nor
-        // setUpBeforeClass() are executed before the data providers
-        $file = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'foo.xml';
-
-        return array(
-            // strings
-            array('a', 'b'),
-            array('a', 'A'),
-            // https://github.com/sebastianbergmann/phpunit/issues/1023
-            array('9E6666666','9E7777777'),
-            // integers
-            array(1, 2),
-            array(2, 1),
-            // floats
-            array(2.3, 4.2),
-            array(2.3, 4.2, 0.5),
-            array(array(2.3), array(4.2), 0.5),
-            array(array(array(2.3)), array(array(4.2)), 0.5),
-            array(new Struct(2.3), new Struct(4.2), 0.5),
-            array(array(new Struct(2.3)), array(new Struct(4.2)), 0.5),
-            // NAN
-            array(NAN, NAN),
-            // arrays
-            array(array(), array(0 => 1)),
-            array(array(0 => 1), array()),
-            array(array(0 => null), array()),
-            array(array(0 => 1, 1 => 2), array(0 => 1, 1 => 3)),
-            array(array('a', 'b' => array(1, 2)), array('a', 'b' => array(2, 1))),
-            // objects
-            array(new SampleClass(4, 8, 15), new SampleClass(16, 23, 42)),
-            array($object1, $object2),
-            array($book1, $book2),
-            array($book3, $book4), // same content, different class
-            // resources
-            array(fopen($file, 'r'), fopen($file, 'r')),
-            // SplObjectStorage
-            array($storage1, $storage2),
-            // DOMDocument
-            array(
-                $this->createDOMDocument('<root></root>'),
-                $this->createDOMDocument('<bar/>'),
-            ),
-            array(
-                $this->createDOMDocument('<foo attr1="bar"/>'),
-                $this->createDOMDocument('<foo attr1="foobar"/>'),
-            ),
-            array(
-                $this->createDOMDocument('<foo> bar </foo>'),
-                $this->createDOMDocument('<foo />'),
-            ),
-            array(
-                $this->createDOMDocument('<foo xmlns="urn:myns:bar"/>'),
-                $this->createDOMDocument('<foo xmlns="urn:notmyns:bar"/>'),
-            ),
-            array(
-                $this->createDOMDocument('<foo> bar </foo>'),
-                $this->createDOMDocument('<foo> bir </foo>'),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')),
-                3500
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 05:13:35', new DateTimeZone('America/New_York')),
-                3500
-            ),
-            array(
-                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-            ),
-            array(
-                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-                43200
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
-                3500
-            ),
-            array(
-                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-30', new DateTimeZone('America/Chicago')),
-            ),
-            array(
-                new DateTime('2013-03-29T05:13:35-0600'),
-                new DateTime('2013-03-29T04:13:35-0600'),
-            ),
-            array(
-                new DateTime('2013-03-29T05:13:35-0600'),
-                new DateTime('2013-03-29T05:13:35-0500'),
-            ),
-            // Exception
-            //array(new Exception('Exception 1'), new Exception('Exception 2')),
-            // different types
-            array(new SampleClass(4, 8, 15), false),
-            array(false, new SampleClass(4, 8, 15)),
-            array(array(0 => 1, 1 => 2), false),
-            array(false, array(0 => 1, 1 => 2)),
-            array(array(), new stdClass),
-            array(new stdClass, array()),
-            // PHP: 0 == 'Foobar' => true!
-            // We want these values to differ
-            array(0, 'Foobar'),
-            array('Foobar', 0),
-            array(3, acos(8)),
-            array(acos(8), 3)
-        );
-    }
-
-    protected function equalValues()
-    {
-        // cyclic dependencies
-        $book1 = new Book;
-        $book1->author = new Author('Terry Pratchett');
-        $book1->author->books[] = $book1;
-        $book2 = new Book;
-        $book2->author = new Author('Terry Pratchett');
-        $book2->author->books[] = $book2;
-
-        $object1 = new SampleClass(4, 8, 15);
-        $object2 = new SampleClass(4, 8, 15);
-        $storage1 = new SplObjectStorage;
-        $storage1->attach($object1);
-        $storage2 = new SplObjectStorage;
-        $storage2->attach($object1);
-
-        return array(
-            // strings
-            array('a', 'A', 0, false, true), // ignore case
-            // arrays
-            array(array('a' => 1, 'b' => 2), array('b' => 2, 'a' => 1)),
-            array(array(1), array('1')),
-            array(array(3, 2, 1), array(2, 3, 1), 0, true), // canonicalized comparison
-            // floats
-            array(2.3, 2.5, 0.5),
-            array(array(2.3), array(2.5), 0.5),
-            array(array(array(2.3)), array(array(2.5)), 0.5),
-            array(new Struct(2.3), new Struct(2.5), 0.5),
-            array(array(new Struct(2.3)), array(new Struct(2.5)), 0.5),
-            // numeric with delta
-            array(1, 2, 1),
-            // objects
-            array($object1, $object2),
-            array($book1, $book2),
-            // SplObjectStorage
-            array($storage1, $storage2),
-            // DOMDocument
-            array(
-                $this->createDOMDocument('<root></root>'),
-                $this->createDOMDocument('<root/>'),
-            ),
-            array(
-                $this->createDOMDocument('<root attr="bar"></root>'),
-                $this->createDOMDocument('<root attr="bar"/>'),
-            ),
-            array(
-                $this->createDOMDocument('<root><foo attr="bar"></foo></root>'),
-                $this->createDOMDocument('<root><foo attr="bar"/></root>'),
-            ),
-            array(
-                $this->createDOMDocument("<root>\n  <child/>\n</root>"),
-                $this->createDOMDocument('<root><child/></root>'),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 04:13:25', new DateTimeZone('America/New_York')),
-                10
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 04:14:40', new DateTimeZone('America/New_York')),
-                65
-            ),
-            array(
-                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/Chicago')),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 03:13:49', new DateTimeZone('America/Chicago')),
-                15
-            ),
-            array(
-                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago')),
-            ),
-            array(
-                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 23:01:30', new DateTimeZone('America/Chicago')),
-                100
-            ),
-            array(
-                new DateTime('@1364616000'),
-                new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago')),
-            ),
-            array(
-                new DateTime('2013-03-29T05:13:35-0500'),
-                new DateTime('2013-03-29T04:13:35-0600'),
-            ),
-            // Exception
-            //array(new Exception('Exception 1'), new Exception('Exception 1')),
-            // mixed types
-            array(0, '0'),
-            array('0', 0),
-            array(2.3, '2.3'),
-            array('2.3', 2.3),
-            array((string)(1/3), 1 - 2/3),
-            array(1/3, (string)(1 - 2/3)),
-            array('string representation', new ClassWithToString),
-            array(new ClassWithToString, 'string representation'),
-        );
-    }
-
-    public function equalProvider()
-    {
-        // same |= equal
-        return array_merge($this->equalValues(), $this->sameValues());
-    }
-
-    public function notEqualProvider()
-    {
-        return $this->notEqualValues();
-    }
-
-    public function sameProvider()
-    {
-        return $this->sameValues();
-    }
-
-    public function notSameProvider()
-    {
-        // not equal |= not same
-        // equal, ¬same |= not same
-        return array_merge($this->notEqualValues(), $this->equalValues());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEquals
-     * @dataProvider equalProvider
-     */
-    public function testAssertEqualsSucceeds($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        $this->assertEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEquals
-     * @dataProvider notEqualProvider
-     */
-    public function testAssertEqualsFails($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        try {
-            $this->assertEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotEquals
-     * @dataProvider notEqualProvider
-     */
-    public function testAssertNotEqualsSucceeds($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        $this->assertNotEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotEquals
-     * @dataProvider equalProvider
-     */
-    public function testAssertNotEqualsFails($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        try {
-            $this->assertNotEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSame
-     * @dataProvider sameProvider
-     */
-    public function testAssertSameSucceeds($a, $b)
-    {
-        $this->assertSame($a, $b);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSame
-     * @dataProvider notSameProvider
-     */
-    public function testAssertSameFails($a, $b)
-    {
-        try {
-            $this->assertSame($a, $b);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSame
-     * @dataProvider notSameProvider
-     */
-    public function testAssertNotSameSucceeds($a, $b)
-    {
-        $this->assertNotSame($a, $b);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSame
-     * @dataProvider sameProvider
-     */
-    public function testAssertNotSameFails($a, $b)
-    {
-        try {
-            $this->assertNotSame($a, $b);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlFileEqualsXmlFile
-     */
-    public function testAssertXmlFileEqualsXmlFile()
-    {
-        $this->assertXmlFileEqualsXmlFile(
-            $this->filesDirectory . 'foo.xml',
-            $this->filesDirectory . 'foo.xml'
-        );
-
-        try {
-            $this->assertXmlFileEqualsXmlFile(
-                $this->filesDirectory . 'foo.xml',
-                $this->filesDirectory . 'bar.xml'
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlFileNotEqualsXmlFile
-     */
-    public function testAssertXmlFileNotEqualsXmlFile()
-    {
-        $this->assertXmlFileNotEqualsXmlFile(
-            $this->filesDirectory . 'foo.xml',
-            $this->filesDirectory . 'bar.xml'
-        );
-
-        try {
-            $this->assertXmlFileNotEqualsXmlFile(
-                $this->filesDirectory . 'foo.xml',
-                $this->filesDirectory . 'foo.xml'
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlStringEqualsXmlFile
-     */
-    public function testAssertXmlStringEqualsXmlFile()
-    {
-        $this->assertXmlStringEqualsXmlFile(
-            $this->filesDirectory . 'foo.xml',
-            file_get_contents($this->filesDirectory . 'foo.xml')
-        );
-
-        try {
-            $this->assertXmlStringEqualsXmlFile(
-                $this->filesDirectory . 'foo.xml',
-                file_get_contents($this->filesDirectory . 'bar.xml')
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlStringNotEqualsXmlFile
-     */
-    public function testXmlStringNotEqualsXmlFile()
-    {
-        $this->assertXmlStringNotEqualsXmlFile(
-            $this->filesDirectory . 'foo.xml',
-            file_get_contents($this->filesDirectory . 'bar.xml')
-        );
-
-        try {
-            $this->assertXmlStringNotEqualsXmlFile(
-                $this->filesDirectory . 'foo.xml',
-                file_get_contents($this->filesDirectory . 'foo.xml')
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlStringEqualsXmlString
-     */
-    public function testAssertXmlStringEqualsXmlString()
-    {
-        $this->assertXmlStringEqualsXmlString('<root/>', '<root/>');
-
-        try {
-            $this->assertXmlStringEqualsXmlString('<foo/>', '<bar/>');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlStringNotEqualsXmlString
-     */
-    public function testAssertXmlStringNotEqualsXmlString()
-    {
-        $this->assertXmlStringNotEqualsXmlString('<foo/>', '<bar/>');
-
-        try {
-            $this->assertXmlStringNotEqualsXmlString('<root/>', '<root/>');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
-     */
-    public function testXMLStructureIsSame()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureExpected.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertEqualXMLStructure
-     * @expectedException PHPUnit_Framework_ExpectationFailedException
-     */
-    public function testXMLStructureWrongNumberOfAttributes()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureWrongNumberOfAttributes.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertEqualXMLStructure
-     * @expectedException PHPUnit_Framework_ExpectationFailedException
-     */
-    public function testXMLStructureWrongNumberOfNodes()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureWrongNumberOfNodes.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
-     */
-    public function testXMLStructureIsSameButDataIsNot()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureIsSameButDataIsNot.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
-     */
-    public function testXMLStructureAttributesAreSameButValuesAreNot()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureAttributesAreSameButValuesAreNot.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
-     */
-    public function testXMLStructureIgnoreTextNodes()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureIgnoreTextNodes.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEquals
-     */
-    public function testAssertStringEqualsNumeric()
-    {
-        $this->assertEquals('0', 0);
-
-        try {
-            $this->assertEquals('0', 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotEquals
-     */
-    public function testAssertStringEqualsNumeric2()
-    {
-        $this->assertNotEquals('A', 0);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertFileExists
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertFileExistsThrowsException()
-    {
-        $this->assertFileExists(null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertFileExists
-     */
-    public function testAssertFileExists()
-    {
-        $this->assertFileExists(__FILE__);
-
-        try {
-            $this->assertFileExists(__DIR__ . DIRECTORY_SEPARATOR . 'NotExisting');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertFileNotExists
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertFileNotExistsThrowsException()
-    {
-        $this->assertFileNotExists(null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertFileNotExists
-     */
-    public function testAssertFileNotExists()
-    {
-        $this->assertFileNotExists(__DIR__ . DIRECTORY_SEPARATOR . 'NotExisting');
-
-        try {
-            $this->assertFileNotExists(__FILE__);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
-     */
-    public function testAssertObjectHasAttribute()
-    {
-        $o = new Author('Terry Pratchett');
-
-        $this->assertObjectHasAttribute('name', $o);
-
-        try {
-            $this->assertObjectHasAttribute('foo', $o);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     */
-    public function testAssertObjectNotHasAttribute()
-    {
-        $o = new Author('Terry Pratchett');
-
-        $this->assertObjectNotHasAttribute('foo', $o);
-
-        try {
-            $this->assertObjectNotHasAttribute('name', $o);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNull
-     */
-    public function testAssertNull()
-    {
-        $this->assertNull(null);
-
-        try {
-            $this->assertNull(new stdClass);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotNull
-     */
-    public function testAssertNotNull()
-    {
-        $this->assertNotNull(new stdClass);
-
-        try {
-            $this->assertNotNull(null);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertTrue
-     */
-    public function testAssertTrue()
-    {
-        $this->assertTrue(true);
-
-        try {
-            $this->assertTrue(false);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotTrue
-     */
-    public function testAssertNotTrue()
-    {
-        $this->assertNotTrue(false);
-        $this->assertNotTrue(1);
-        $this->assertNotTrue("true");
-
-        try {
-            $this->assertNotTrue(true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertFalse
-     */
-    public function testAssertFalse()
-    {
-        $this->assertFalse(false);
-
-        try {
-            $this->assertFalse(true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotFalse
-     */
-    public function testAssertNotFalse()
-    {
-        $this->assertNotFalse(true);
-        $this->assertNotFalse(0);
-        $this->assertNotFalse("");
-
-        try {
-            $this->assertNotFalse(false);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertRegExp
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertRegExpThrowsException()
-    {
-        $this->assertRegExp(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertRegExp
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertRegExpThrowsException2()
-    {
-        $this->assertRegExp('', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertNotRegExp
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotRegExpThrowsException()
-    {
-        $this->assertNotRegExp(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertNotRegExp
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotRegExpThrowsException2()
-    {
-        $this->assertNotRegExp('', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertRegExp
-     */
-    public function testAssertRegExp()
-    {
-        $this->assertRegExp('/foo/', 'foobar');
-
-        try {
-            $this->assertRegExp('/foo/', 'bar');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotRegExp
-     */
-    public function testAssertNotRegExp()
-    {
-        $this->assertNotRegExp('/foo/', 'bar');
-
-        try {
-            $this->assertNotRegExp('/foo/', 'foobar');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSame
-     */
-    public function testAssertSame()
-    {
-        $o = new stdClass;
-
-        $this->assertSame($o, $o);
-
-        try {
-            $this->assertSame(
-                new stdClass,
-                new stdClass
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSame
-     */
-    public function testAssertSame2()
-    {
-        $this->assertSame(true, true);
-        $this->assertSame(false, false);
-
-        try {
-            $this->assertSame(true, false);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSame
-     */
-    public function testAssertNotSame()
-    {
-        $this->assertNotSame(
-            new stdClass,
-            null
-        );
-
-        $this->assertNotSame(
-            null,
-            new stdClass
-        );
-
-        $this->assertNotSame(
-            new stdClass,
-            new stdClass
-        );
-
-        $o = new stdClass;
-
-        try {
-            $this->assertNotSame($o, $o);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSame
-     */
-    public function testAssertNotSame2()
-    {
-        $this->assertNotSame(true, false);
-        $this->assertNotSame(false, true);
-
-        try {
-            $this->assertNotSame(true, true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSame
-     */
-    public function testAssertNotSameFailsNull()
-    {
-        try {
-            $this->assertNotSame(null, null);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertGreaterThan
-     */
-    public function testGreaterThan()
-    {
-        $this->assertGreaterThan(1, 2);
-
-        try {
-            $this->assertGreaterThan(2, 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeGreaterThan
-     */
-    public function testAttributeGreaterThan()
-    {
-        $this->assertAttributeGreaterThan(
-            1, 'bar', new ClassWithNonPublicAttributes
-        );
-
-        try {
-            $this->assertAttributeGreaterThan(
-                1, 'foo', new ClassWithNonPublicAttributes
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertGreaterThanOrEqual
-     */
-    public function testGreaterThanOrEqual()
-    {
-        $this->assertGreaterThanOrEqual(1, 2);
-
-        try {
-            $this->assertGreaterThanOrEqual(2, 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeGreaterThanOrEqual
-     */
-    public function testAttributeGreaterThanOrEqual()
-    {
-        $this->assertAttributeGreaterThanOrEqual(
-            1, 'bar', new ClassWithNonPublicAttributes
-        );
-
-        try {
-            $this->assertAttributeGreaterThanOrEqual(
-                2, 'foo', new ClassWithNonPublicAttributes
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertLessThan
-     */
-    public function testLessThan()
-    {
-        $this->assertLessThan(2, 1);
-
-        try {
-            $this->assertLessThan(1, 2);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeLessThan
-     */
-    public function testAttributeLessThan()
-    {
-        $this->assertAttributeLessThan(
-            2, 'foo', new ClassWithNonPublicAttributes
-        );
-
-        try {
-            $this->assertAttributeLessThan(
-                1, 'bar', new ClassWithNonPublicAttributes
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertLessThanOrEqual
-     */
-    public function testLessThanOrEqual()
-    {
-        $this->assertLessThanOrEqual(2, 1);
-
-        try {
-            $this->assertLessThanOrEqual(1, 2);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeLessThanOrEqual
-     */
-    public function testAttributeLessThanOrEqual()
-    {
-        $this->assertAttributeLessThanOrEqual(
-            2, 'foo', new ClassWithNonPublicAttributes
-        );
-
-        try {
-            $this->assertAttributeLessThanOrEqual(
-                1, 'bar', new ClassWithNonPublicAttributes
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::readAttribute
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     */
-    public function testReadAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertEquals('foo', $this->readAttribute($obj, 'publicAttribute'));
-        $this->assertEquals('bar', $this->readAttribute($obj, 'protectedAttribute'));
-        $this->assertEquals('baz', $this->readAttribute($obj, 'privateAttribute'));
-        $this->assertEquals('bar', $this->readAttribute($obj, 'protectedParentAttribute'));
-        //$this->assertEquals('bar', $this->readAttribute($obj, 'privateParentAttribute'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::readAttribute
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     */
-    public function testReadAttribute2()
-    {
-        $this->assertEquals('foo', $this->readAttribute('ClassWithNonPublicAttributes', 'publicStaticAttribute'));
-        $this->assertEquals('bar', $this->readAttribute('ClassWithNonPublicAttributes', 'protectedStaticAttribute'));
-        $this->assertEquals('baz', $this->readAttribute('ClassWithNonPublicAttributes', 'privateStaticAttribute'));
-        $this->assertEquals('foo', $this->readAttribute('ClassWithNonPublicAttributes', 'protectedStaticParentAttribute'));
-        $this->assertEquals('foo', $this->readAttribute('ClassWithNonPublicAttributes', 'privateStaticParentAttribute'));
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::readAttribute
-     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testReadAttribute3()
-    {
-        $this->readAttribute('StdClass', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::readAttribute
-     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testReadAttribute4()
-    {
-        $this->readAttribute('NotExistingClass', 'foo');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::readAttribute
-     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testReadAttribute5()
-    {
-        $this->readAttribute(null, 'foo');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::readAttribute
-     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testReadAttributeIfAttributeNameIsNotValid()
-    {
-        $this->readAttribute('StdClass', '2');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetStaticAttributeRaisesExceptionForInvalidFirstArgument()
-    {
-        $this->getStaticAttribute(null, 'foo');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetStaticAttributeRaisesExceptionForInvalidFirstArgument2()
-    {
-        $this->getStaticAttribute('NotExistingClass', 'foo');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument()
-    {
-        $this->getStaticAttribute('stdClass', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument2()
-    {
-        $this->getStaticAttribute('stdClass', '0');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument3()
-    {
-        $this->getStaticAttribute('stdClass', 'foo');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetObjectAttributeRaisesExceptionForInvalidFirstArgument()
-    {
-        $this->getObjectAttribute(null, 'foo');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument()
-    {
-        $this->getObjectAttribute(new stdClass, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument2()
-    {
-        $this->getObjectAttribute(new stdClass, '0');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument3()
-    {
-        $this->getObjectAttribute(new stdClass, 'foo');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     */
-    public function testGetObjectAttributeWorksForInheritedAttributes()
-    {
-        $this->assertEquals(
-            'bar',
-            $this->getObjectAttribute(new ClassWithNonPublicAttributes, 'privateParentAttribute')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeContains
-     */
-    public function testAssertPublicAttributeContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeContains('foo', 'publicArray', $obj);
-
-        try {
-            $this->assertAttributeContains('bar', 'publicArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeContainsOnly
-     */
-    public function testAssertPublicAttributeContainsOnly()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeContainsOnly('string', 'publicArray', $obj);
-
-        try {
-            $this->assertAttributeContainsOnly('integer', 'publicArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
-     */
-    public function testAssertPublicAttributeNotContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotContains('bar', 'publicArray', $obj);
-
-        try {
-            $this->assertAttributeNotContains('foo', 'publicArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotContainsOnly
-     */
-    public function testAssertPublicAttributeNotContainsOnly()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotContainsOnly('integer', 'publicArray', $obj);
-
-        try {
-            $this->assertAttributeNotContainsOnly('string', 'publicArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeContains
-     */
-    public function testAssertProtectedAttributeContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeContains('bar', 'protectedArray', $obj);
-
-        try {
-            $this->assertAttributeContains('foo', 'protectedArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
-     */
-    public function testAssertProtectedAttributeNotContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotContains('foo', 'protectedArray', $obj);
-
-        try {
-            $this->assertAttributeNotContains('bar', 'protectedArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeContains
-     */
-    public function testAssertPrivateAttributeContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeContains('baz', 'privateArray', $obj);
-
-        try {
-            $this->assertAttributeContains('foo', 'privateArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
-     */
-    public function testAssertPrivateAttributeNotContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotContains('foo', 'privateArray', $obj);
-
-        try {
-            $this->assertAttributeNotContains('baz', 'privateArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeContains
-     */
-    public function testAssertAttributeContainsNonObject()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeContains(true, 'privateArray', $obj);
-
-        try {
-            $this->assertAttributeContains(true, 'privateArray', $obj, '', false, true, true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
-     */
-    public function testAssertAttributeNotContainsNonObject()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotContains(true, 'privateArray', $obj, '', false, true, true);
-
-        try {
-            $this->assertAttributeNotContains(true, 'privateArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertPublicAttributeEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeEquals('foo', 'publicAttribute', $obj);
-
-        try {
-            $this->assertAttributeEquals('bar', 'publicAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertPublicAttributeNotEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotEquals('bar', 'publicAttribute', $obj);
-
-        try {
-            $this->assertAttributeNotEquals('foo', 'publicAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeSame
-     */
-    public function testAssertPublicAttributeSame()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeSame('foo', 'publicAttribute', $obj);
-
-        try {
-            $this->assertAttributeSame('bar', 'publicAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotSame
-     */
-    public function testAssertPublicAttributeNotSame()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotSame('bar', 'publicAttribute', $obj);
-
-        try {
-            $this->assertAttributeNotSame('foo', 'publicAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertProtectedAttributeEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeEquals('bar', 'protectedAttribute', $obj);
-
-        try {
-            $this->assertAttributeEquals('foo', 'protectedAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertProtectedAttributeNotEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotEquals('foo', 'protectedAttribute', $obj);
-
-        try {
-            $this->assertAttributeNotEquals('bar', 'protectedAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertPrivateAttributeEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeEquals('baz', 'privateAttribute', $obj);
-
-        try {
-            $this->assertAttributeEquals('foo', 'privateAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertPrivateAttributeNotEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotEquals('foo', 'privateAttribute', $obj);
-
-        try {
-            $this->assertAttributeNotEquals('baz', 'privateAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertPublicStaticAttributeEquals()
-    {
-        $this->assertAttributeEquals('foo', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeEquals('bar', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertPublicStaticAttributeNotEquals()
-    {
-        $this->assertAttributeNotEquals('bar', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeNotEquals('foo', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertProtectedStaticAttributeEquals()
-    {
-        $this->assertAttributeEquals('bar', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeEquals('foo', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertProtectedStaticAttributeNotEquals()
-    {
-        $this->assertAttributeNotEquals('foo', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeNotEquals('bar', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertPrivateStaticAttributeEquals()
-    {
-        $this->assertAttributeEquals('baz', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeEquals('foo', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertPrivateStaticAttributeNotEquals()
-    {
-        $this->assertAttributeNotEquals('foo', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeNotEquals('baz', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasAttributeThrowsException()
-    {
-        $this->assertClassHasAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasAttributeThrowsException2()
-    {
-        $this->assertClassHasAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertClassHasAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasAttributeThrowsException()
-    {
-        $this->assertClassNotHasAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasAttributeThrowsException2()
-    {
-        $this->assertClassNotHasAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertClassNotHasAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasStaticAttributeThrowsException()
-    {
-        $this->assertClassHasStaticAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasStaticAttributeThrowsException2()
-    {
-        $this->assertClassHasStaticAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasStaticAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertClassHasStaticAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasStaticAttributeThrowsException()
-    {
-        $this->assertClassNotHasStaticAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasStaticAttributeThrowsException2()
-    {
-        $this->assertClassNotHasStaticAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasStaticAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertClassNotHasStaticAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectHasAttributeThrowsException()
-    {
-        $this->assertObjectHasAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectHasAttributeThrowsException2()
-    {
-        $this->assertObjectHasAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertObjectHasAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectNotHasAttributeThrowsException()
-    {
-        $this->assertObjectNotHasAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectNotHasAttributeThrowsException2()
-    {
-        $this->assertObjectNotHasAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectNotHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertObjectNotHasAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertClassHasAttribute
-     */
-    public function testClassHasPublicAttribute()
-    {
-        $this->assertClassHasAttribute('publicAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertClassHasAttribute('attribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertClassNotHasAttribute
-     */
-    public function testClassNotHasPublicAttribute()
-    {
-        $this->assertClassNotHasAttribute('attribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertClassNotHasAttribute('publicAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertClassHasStaticAttribute
-     */
-    public function testClassHasPublicStaticAttribute()
-    {
-        $this->assertClassHasStaticAttribute('publicStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertClassHasStaticAttribute('attribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
-     */
-    public function testClassNotHasPublicStaticAttribute()
-    {
-        $this->assertClassNotHasStaticAttribute('attribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertClassNotHasStaticAttribute('publicStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
-     */
-    public function testObjectHasPublicAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectHasAttribute('publicAttribute', $obj);
-
-        try {
-            $this->assertObjectHasAttribute('attribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     */
-    public function testObjectNotHasPublicAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectNotHasAttribute('attribute', $obj);
-
-        try {
-            $this->assertObjectNotHasAttribute('publicAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
-     */
-    public function testObjectHasOnTheFlyAttribute()
-    {
-        $obj = new StdClass;
-        $obj->foo = 'bar';
-
-        $this->assertObjectHasAttribute('foo', $obj);
-
-        try {
-            $this->assertObjectHasAttribute('bar', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     */
-    public function testObjectNotHasOnTheFlyAttribute()
-    {
-        $obj = new StdClass;
-        $obj->foo = 'bar';
-
-        $this->assertObjectNotHasAttribute('bar', $obj);
-
-        try {
-            $this->assertObjectNotHasAttribute('foo', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
-     */
-    public function testObjectHasProtectedAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectHasAttribute('protectedAttribute', $obj);
-
-        try {
-            $this->assertObjectHasAttribute('attribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     */
-    public function testObjectNotHasProtectedAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectNotHasAttribute('attribute', $obj);
-
-        try {
-            $this->assertObjectNotHasAttribute('protectedAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
-     */
-    public function testObjectHasPrivateAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectHasAttribute('privateAttribute', $obj);
-
-        try {
-            $this->assertObjectHasAttribute('attribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     */
-    public function testObjectNotHasPrivateAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectNotHasAttribute('attribute', $obj);
-
-        try {
-            $this->assertObjectNotHasAttribute('privateAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::attribute
-     * @covers PHPUnit_Framework_Assert::equalTo
-     */
-    public function testAssertThatAttributeEquals()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->attribute(
-                $this->equalTo('foo'),
-                'publicAttribute'
-            )
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertThat
-     * @covers            PHPUnit_Framework_Assert::attribute
-     * @covers            PHPUnit_Framework_Assert::equalTo
-     * @expectedException PHPUnit_Framework_AssertionFailedError
-     */
-    public function testAssertThatAttributeEquals2()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->attribute(
-                $this->equalTo('bar'),
-                'publicAttribute'
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::attribute
-     * @covers PHPUnit_Framework_Assert::equalTo
-     */
-    public function testAssertThatAttributeEqualTo()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->attributeEqualTo('publicAttribute', 'foo')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::anything
-     */
-    public function testAssertThatAnything()
-    {
-        $this->assertThat('anything', $this->anything());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::anything
-     * @covers PHPUnit_Framework_Assert::logicalAnd
-     */
-    public function testAssertThatAnythingAndAnything()
-    {
-        $this->assertThat(
-            'anything',
-            $this->logicalAnd(
-                $this->anything(), $this->anything()
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::anything
-     * @covers PHPUnit_Framework_Assert::logicalOr
-     */
-    public function testAssertThatAnythingOrAnything()
-    {
-        $this->assertThat(
-            'anything',
-            $this->logicalOr(
-                $this->anything(), $this->anything()
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::anything
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_Assert::logicalXor
-     */
-    public function testAssertThatAnythingXorNotAnything()
-    {
-        $this->assertThat(
-            'anything',
-            $this->logicalXor(
-                $this->anything(),
-                $this->logicalNot($this->anything())
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::contains
-     */
-    public function testAssertThatContains()
-    {
-        $this->assertThat(array('foo'), $this->contains('foo'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::stringContains
-     */
-    public function testAssertThatStringContains()
-    {
-        $this->assertThat('barfoobar', $this->stringContains('foo'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::containsOnly
-     */
-    public function testAssertThatContainsOnly()
-    {
-        $this->assertThat(array('foo'), $this->containsOnly('string'));
-    }
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::containsOnlyInstancesOf
-     */
-    public function testAssertThatContainsOnlyInstancesOf()
-    {
-        $this->assertThat(array(new Book), $this->containsOnlyInstancesOf('Book'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::arrayHasKey
-     */
-    public function testAssertThatArrayHasKey()
-    {
-        $this->assertThat(array('foo' => 'bar'), $this->arrayHasKey('foo'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::classHasAttribute
-     */
-    public function testAssertThatClassHasAttribute()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->classHasAttribute('publicAttribute')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::classHasStaticAttribute
-     */
-    public function testAssertThatClassHasStaticAttribute()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->classHasStaticAttribute('publicStaticAttribute')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::objectHasAttribute
-     */
-    public function testAssertThatObjectHasAttribute()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->objectHasAttribute('publicAttribute')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::equalTo
-     */
-    public function testAssertThatEqualTo()
-    {
-        $this->assertThat('foo', $this->equalTo('foo'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::identicalTo
-     */
-    public function testAssertThatIdenticalTo()
-    {
-        $value      = new StdClass;
-        $constraint = $this->identicalTo($value);
-
-        $this->assertThat($value, $constraint);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::isInstanceOf
-     */
-    public function testAssertThatIsInstanceOf()
-    {
-        $this->assertThat(new StdClass, $this->isInstanceOf('StdClass'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::isType
-     */
-    public function testAssertThatIsType()
-    {
-        $this->assertThat('string', $this->isType('string'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::isEmpty
-     */
-    public function testAssertThatIsEmpty()
-    {
-        $this->assertThat(array(), $this->isEmpty());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::fileExists
-     */
-    public function testAssertThatFileExists()
-    {
-        $this->assertThat(__FILE__, $this->fileExists());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::greaterThan
-     */
-    public function testAssertThatGreaterThan()
-    {
-        $this->assertThat(2, $this->greaterThan(1));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::greaterThanOrEqual
-     */
-    public function testAssertThatGreaterThanOrEqual()
-    {
-        $this->assertThat(2, $this->greaterThanOrEqual(1));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::lessThan
-     */
-    public function testAssertThatLessThan()
-    {
-        $this->assertThat(1, $this->lessThan(2));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::lessThanOrEqual
-     */
-    public function testAssertThatLessThanOrEqual()
-    {
-        $this->assertThat(1, $this->lessThanOrEqual(2));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::matchesRegularExpression
-     */
-    public function testAssertThatMatchesRegularExpression()
-    {
-        $this->assertThat('foobar', $this->matchesRegularExpression('/foo/'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::callback
-     */
-    public function testAssertThatCallback()
-    {
-        $this->assertThat(null, $this->callback(function ($other) { return true;
-        }));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::countOf
-     */
-    public function testAssertThatCountOf()
-    {
-        $this->assertThat(array(1), $this->countOf(1));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertFileEquals
-     */
-    public function testAssertFileEquals()
-    {
-        $this->assertFileEquals(
-            $this->filesDirectory . 'foo.xml',
-            $this->filesDirectory . 'foo.xml'
-        );
-
-        try {
-            $this->assertFileEquals(
-                $this->filesDirectory . 'foo.xml',
-                $this->filesDirectory . 'bar.xml'
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertFileNotEquals
-     */
-    public function testAssertFileNotEquals()
-    {
-        $this->assertFileNotEquals(
-            $this->filesDirectory . 'foo.xml',
-            $this->filesDirectory . 'bar.xml'
-        );
-
-        try {
-            $this->assertFileNotEquals(
-                $this->filesDirectory . 'foo.xml',
-                $this->filesDirectory . 'foo.xml'
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringEqualsFile
-     */
-    public function testAssertStringEqualsFile()
-    {
-        $this->assertStringEqualsFile(
-            $this->filesDirectory . 'foo.xml',
-            file_get_contents($this->filesDirectory . 'foo.xml')
-        );
-
-        try {
-            $this->assertStringEqualsFile(
-                $this->filesDirectory . 'foo.xml',
-                file_get_contents($this->filesDirectory . 'bar.xml')
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotEqualsFile
-     */
-    public function testAssertStringNotEqualsFile()
-    {
-        $this->assertStringNotEqualsFile(
-            $this->filesDirectory . 'foo.xml',
-            file_get_contents($this->filesDirectory . 'bar.xml')
-        );
-
-        try {
-            $this->assertStringNotEqualsFile(
-                $this->filesDirectory . 'foo.xml',
-                file_get_contents($this->filesDirectory . 'foo.xml')
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringStartsWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringStartsWithThrowsException()
-    {
-        $this->assertStringStartsWith(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringStartsWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringStartsWithThrowsException2()
-    {
-        $this->assertStringStartsWith('', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringStartsNotWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringStartsNotWithThrowsException()
-    {
-        $this->assertStringStartsNotWith(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringStartsNotWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringStartsNotWithThrowsException2()
-    {
-        $this->assertStringStartsNotWith('', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringEndsWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringEndsWithThrowsException()
-    {
-        $this->assertStringEndsWith(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringEndsWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringEndsWithThrowsException2()
-    {
-        $this->assertStringEndsWith('', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringEndsNotWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringEndsNotWithThrowsException()
-    {
-        $this->assertStringEndsNotWith(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringEndsNotWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringEndsNotWithThrowsException2()
-    {
-        $this->assertStringEndsNotWith('', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringStartsWith
-     */
-    public function testAssertStringStartsWith()
-    {
-        $this->assertStringStartsWith('prefix', 'prefixfoo');
-
-        try {
-            $this->assertStringStartsWith('prefix', 'foo');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringStartsNotWith
-     */
-    public function testAssertStringStartsNotWith()
-    {
-        $this->assertStringStartsNotWith('prefix', 'foo');
-
-        try {
-            $this->assertStringStartsNotWith('prefix', 'prefixfoo');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringEndsWith
-     */
-    public function testAssertStringEndsWith()
-    {
-        $this->assertStringEndsWith('suffix', 'foosuffix');
-
-        try {
-            $this->assertStringEndsWith('suffix', 'foo');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringEndsNotWith
-     */
-    public function testAssertStringEndsNotWith()
-    {
-        $this->assertStringEndsNotWith('suffix', 'foo');
-
-        try {
-            $this->assertStringEndsNotWith('suffix', 'foosuffix');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringMatchesFormatRaisesExceptionForInvalidFirstArgument()
-    {
-        $this->assertStringMatchesFormat(null, '');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringMatchesFormatRaisesExceptionForInvalidSecondArgument()
-    {
-        $this->assertStringMatchesFormat('', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
-     */
-    public function testAssertStringMatchesFormat()
-    {
-        $this->assertStringMatchesFormat('*%s*', '***');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
-     * @expectedException PHPUnit_Framework_AssertionFailedError
-     */
-    public function testAssertStringMatchesFormatFailure()
-    {
-        $this->assertStringMatchesFormat('*%s*', '**');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormat
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringNotMatchesFormatRaisesExceptionForInvalidFirstArgument()
-    {
-        $this->assertStringNotMatchesFormat(null, '');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormat
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringNotMatchesFormatRaisesExceptionForInvalidSecondArgument()
-    {
-        $this->assertStringNotMatchesFormat('', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormat
-     */
-    public function testAssertStringNotMatchesFormat()
-    {
-        $this->assertStringNotMatchesFormat('*%s*', '**');
-
-        try {
-            $this->assertStringMatchesFormat('*%s*', '**');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEmpty
-     */
-    public function testAssertEmpty()
-    {
-        $this->assertEmpty(array());
-
-        try {
-            $this->assertEmpty(array('foo'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotEmpty
-     */
-    public function testAssertNotEmpty()
-    {
-        $this->assertNotEmpty(array('foo'));
-
-        try {
-            $this->assertNotEmpty(array());
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEmpty
-     */
-    public function testAssertAttributeEmpty()
-    {
-        $o    = new StdClass;
-        $o->a = array();
-
-        $this->assertAttributeEmpty('a', $o);
-
-        try {
-            $o->a = array('b');
-            $this->assertAttributeEmpty('a', $o);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEmpty
-     */
-    public function testAssertAttributeNotEmpty()
-    {
-        $o    = new StdClass;
-        $o->a = array('b');
-
-        $this->assertAttributeNotEmpty('a', $o);
-
-        try {
-            $o->a = array();
-            $this->assertAttributeNotEmpty('a', $o);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::markTestIncomplete
-     */
-    public function testMarkTestIncomplete()
-    {
-        try {
-            $this->markTestIncomplete('incomplete');
-        } catch (PHPUnit_Framework_IncompleteTestError $e) {
-            $this->assertEquals('incomplete', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::markTestSkipped
-     */
-    public function testMarkTestSkipped()
-    {
-        try {
-            $this->markTestSkipped('skipped');
-        } catch (PHPUnit_Framework_SkippedTestError $e) {
-            $this->assertEquals('skipped', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertCount
-     */
-    public function testAssertCount()
-    {
-        $this->assertCount(2, array(1, 2));
-
-        try {
-            $this->assertCount(2, array(1, 2, 3));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertCount
-     */
-    public function testAssertCountTraversable()
-    {
-        $this->assertCount(2, new ArrayIterator(array(1, 2)));
-
-        try {
-            $this->assertCount(2, new ArrayIterator(array(1, 2, 3)));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertCount
-     */
-    public function testAssertCountThrowsExceptionIfExpectedCountIsNoInteger()
-    {
-        try {
-            $this->assertCount('a', array());
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->assertEquals('Argument #1 (No Value) of PHPUnit_Framework_Assert::assertCount() must be a integer', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertCount
-     */
-    public function testAssertCountThrowsExceptionIfElementIsNotCountable()
-    {
-        try {
-            $this->assertCount(2, '');
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->assertEquals('Argument #2 (No Value) of PHPUnit_Framework_Assert::assertCount() must be a countable or traversable', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeCount
-     */
-    public function testAssertAttributeCount()
-    {
-        $o    = new stdClass;
-        $o->a = array();
-
-        $this->assertAttributeCount(0, 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotCount
-     */
-    public function testAssertNotCount()
-    {
-        $this->assertNotCount(2, array(1, 2, 3));
-
-        try {
-            $this->assertNotCount(2, array(1, 2));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotCount
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotCountThrowsExceptionIfExpectedCountIsNoInteger()
-    {
-        $this->assertNotCount('a', array());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotCount
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotCountThrowsExceptionIfElementIsNotCountable()
-    {
-        $this->assertNotCount(2, '');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotCount
-     */
-    public function testAssertAttributeNotCount()
-    {
-        $o    = new stdClass;
-        $o->a = array();
-
-        $this->assertAttributeNotCount(1, 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSameSize
-     */
-    public function testAssertSameSize()
-    {
-        $this->assertSameSize(array(1, 2), array(3, 4));
-
-        try {
-            $this->assertSameSize(array(1, 2), array(1, 2, 3));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSameSize
-     */
-    public function testAssertSameSizeThrowsExceptionIfExpectedIsNotCountable()
-    {
-        try {
-            $this->assertSameSize('a', array());
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->assertEquals('Argument #1 (No Value) of PHPUnit_Framework_Assert::assertSameSize() must be a countable or traversable', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSameSize
-     */
-    public function testAssertSameSizeThrowsExceptionIfActualIsNotCountable()
-    {
-        try {
-            $this->assertSameSize(array(), '');
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->assertEquals('Argument #2 (No Value) of PHPUnit_Framework_Assert::assertSameSize() must be a countable or traversable', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSameSize
-     */
-    public function testAssertNotSameSize()
-    {
-        $this->assertNotSameSize(array(1, 2), array(1, 2, 3));
-
-        try {
-            $this->assertNotSameSize(array(1, 2), array(3, 4));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSameSize
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotSameSizeThrowsExceptionIfExpectedIsNotCountable()
-    {
-        $this->assertNotSameSize('a', array());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSameSize
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotSameSizeThrowsExceptionIfActualIsNotCountable()
-    {
-        $this->assertNotSameSize(array(), '');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJson
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertJsonRaisesExceptionForInvalidArgument()
-    {
-        $this->assertJson(null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonString
-     */
-    public function testAssertJsonStringEqualsJsonString()
-    {
-        $expected = '{"Mascott" : "Tux"}';
-        $actual   = '{"Mascott" : "Tux"}';
-        $message  = 'Given Json strings do not match';
-
-        $this->assertJsonStringEqualsJsonString($expected, $actual, $message);
-    }
-
-    /**
-     * @dataProvider validInvalidJsonDataprovider
-     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonString
-     */
-    public function testAssertJsonStringEqualsJsonStringErrorRaised($expected, $actual)
-    {
-        try {
-            $this->assertJsonStringEqualsJsonString($expected, $actual);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-        $this->fail('Expected exception not found');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonString
-     */
-    public function testAssertJsonStringNotEqualsJsonString()
-    {
-        $expected = '{"Mascott" : "Beastie"}';
-        $actual   = '{"Mascott" : "Tux"}';
-        $message  = 'Given Json strings do match';
-
-        $this->assertJsonStringNotEqualsJsonString($expected, $actual, $message);
-    }
-
-    /**
-     * @dataProvider validInvalidJsonDataprovider
-     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonString
-     */
-    public function testAssertJsonStringNotEqualsJsonStringErrorRaised($expected, $actual)
-    {
-        try {
-            $this->assertJsonStringNotEqualsJsonString($expected, $actual);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-        $this->fail('Expected exception not found');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile
-     */
-    public function testAssertJsonStringEqualsJsonFile()
-    {
-        $file = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        $actual = json_encode(array("Mascott" => "Tux"));
-        $message = '';
-        $this->assertJsonStringEqualsJsonFile($file, $actual, $message);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile
-     */
-    public function testAssertJsonStringEqualsJsonFileExpectingExpectationFailedException()
-    {
-        $file = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        $actual = json_encode(array("Mascott" => "Beastie"));
-        $message = '';
-        try {
-            $this->assertJsonStringEqualsJsonFile($file, $actual, $message);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-                'Failed asserting that \'{"Mascott":"Beastie"}\' matches JSON string "{"Mascott":"Tux"}".',
-                $e->getMessage()
-            );
-            return;
-        }
-
-        $this->fail('Expected Exception not thrown.');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile
-     */
-    public function testAssertJsonStringEqualsJsonFileExpectingException()
-    {
-        $file = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        try {
-            $this->assertJsonStringEqualsJsonFile($file, null);
-        } catch (PHPUnit_Framework_Exception $e) {
-            return;
-        }
-        $this->fail('Expected Exception not thrown.');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonFile
-     */
-    public function testAssertJsonStringNotEqualsJsonFile()
-    {
-        $file = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        $actual = json_encode(array("Mascott" => "Beastie"));
-        $message = '';
-        $this->assertJsonStringNotEqualsJsonFile($file, $actual, $message);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonFile
-     */
-    public function testAssertJsonStringNotEqualsJsonFileExpectingException()
-    {
-        $file = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        try {
-            $this->assertJsonStringNotEqualsJsonFile($file, null);
-        } catch (PHPUnit_Framework_Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not found.');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonFileNotEqualsJsonFile
-     */
-    public function testAssertJsonFileNotEqualsJsonFile()
-    {
-        $fileExpected = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        $fileActual   = __DIR__ . '/../_files/JsonData/arrayObject.json';
-        $message = '';
-        $this->assertJsonFileNotEqualsJsonFile($fileExpected, $fileActual, $message);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonFileEqualsJsonFile
-     */
-    public function testAssertJsonFileEqualsJsonFile()
-    {
-        $file = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        $message = '';
-        $this->assertJsonFileEqualsJsonFile($file, $file, $message);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertInstanceOf
-     */
-    public function testAssertInstanceOf()
-    {
-        $this->assertInstanceOf('stdClass', new stdClass);
-
-        try {
-            $this->assertInstanceOf('Exception', new stdClass);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertInstanceOf
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertInstanceOfThrowsExceptionForInvalidArgument()
-    {
-        $this->assertInstanceOf(null, new stdClass);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeInstanceOf
-     */
-    public function testAssertAttributeInstanceOf()
-    {
-        $o    = new stdClass;
-        $o->a = new stdClass;
-
-        $this->assertAttributeInstanceOf('stdClass', 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotInstanceOf
-     */
-    public function testAssertNotInstanceOf()
-    {
-        $this->assertNotInstanceOf('Exception', new stdClass);
-
-        try {
-            $this->assertNotInstanceOf('stdClass', new stdClass);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotInstanceOf
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotInstanceOfThrowsExceptionForInvalidArgument()
-    {
-        $this->assertNotInstanceOf(null, new stdClass);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotInstanceOf
-     */
-    public function testAssertAttributeNotInstanceOf()
-    {
-        $o    = new stdClass;
-        $o->a = new stdClass;
-
-        $this->assertAttributeNotInstanceOf('Exception', 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertInternalType
-     */
-    public function testAssertInternalType()
-    {
-        $this->assertInternalType('integer', 1);
-
-        try {
-            $this->assertInternalType('string', 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertInternalType
-     */
-    public function testAssertInternalTypeDouble()
-    {
-        $this->assertInternalType('double', 1.0);
-
-        try {
-            $this->assertInternalType('double', 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertInternalType
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertInternalTypeThrowsExceptionForInvalidArgument()
-    {
-        $this->assertInternalType(null, 1);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeInternalType
-     */
-    public function testAssertAttributeInternalType()
-    {
-        $o    = new stdClass;
-        $o->a = 1;
-
-        $this->assertAttributeInternalType('integer', 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotInternalType
-     */
-    public function testAssertNotInternalType()
-    {
-        $this->assertNotInternalType('string', 1);
-
-        try {
-            $this->assertNotInternalType('integer', 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotInternalType
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotInternalTypeThrowsExceptionForInvalidArgument()
-    {
-        $this->assertNotInternalType(null, 1);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotInternalType
-     */
-    public function testAssertAttributeNotInternalType()
-    {
-        $o    = new stdClass;
-        $o->a = 1;
-
-        $this->assertAttributeNotInternalType('string', 'a', $o);
-    }
-
-    public static function validInvalidJsonDataprovider()
-    {
-        return array(
-            'error syntax in expected JSON' => array('{"Mascott"::}', '{"Mascott" : "Tux"}'),
-            'error UTF-8 in actual JSON'    => array('{"Mascott" : "Tux"}', '{"Mascott" : :}'),
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/BaseTestListenerTest.php b/core/vendor/phpunit/phpunit/tests/Framework/BaseTestListenerTest.php
deleted file mode 100644
index 2193af4..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/BaseTestListenerTest.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Giorgio Sironi <info@giorgiosironi.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.0
- */
-class Framework_BaseTestListenerTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var PHPUnit_Framework_TestResult
-     */
-    private $result;
-
-    /**
-     * @covers PHPUnit_Framework_TestResult
-     */
-    public function testEndEventsAreCounted()
-    {
-        $this->result = new PHPUnit_Framework_TestResult;
-        $listener = new BaseTestListenerSample();
-        $this->result->addListener($listener);
-        $test = new Success;
-        $test->run($this->result);
-
-        $this->assertEquals(1, $listener->endCount);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/CountTest.php b/core/vendor/phpunit/phpunit/tests/Framework/Constraint/CountTest.php
deleted file mode 100644
index 4202143..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/CountTest.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Jeroen Versteeg <jversteeg@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.7.30
- * @covers     PHPUnit_Framework_Constraint_Count
- */
-class CountTest extends PHPUnit_Framework_TestCase
-{
-    public function testCount()
-    {
-        $countConstraint = new PHPUnit_Framework_Constraint_Count(3);
-        $this->assertTrue($countConstraint->evaluate(array(1, 2, 3), '', true));
-
-        $countConstraint = new PHPUnit_Framework_Constraint_Count(0);
-        $this->assertTrue($countConstraint->evaluate(array(), '', true));
-
-        $countConstraint = new PHPUnit_Framework_Constraint_Count(2);
-        $it = new TestIterator(array(1, 2));
-        $this->assertTrue($countConstraint->evaluate($it, '', true));
-    }
-
-    public function testCountDoesNotChangeIteratorKey()
-    {
-        $countConstraint = new PHPUnit_Framework_Constraint_Count(2);
-
-        // test with 1st implementation of Iterator
-        $it = new TestIterator(array(1, 2));
-
-        $countConstraint->evaluate($it, '', true);
-        $this->assertEquals(1, $it->current());
-
-        $it->next();
-        $countConstraint->evaluate($it, '', true);
-        $this->assertEquals(2, $it->current());
-
-        $it->next();
-        $countConstraint->evaluate($it, '', true);
-        $this->assertFalse($it->valid());
-
-        // test with 2nd implementation of Iterator
-        $it = new TestIterator2(array(1, 2));
-
-        $countConstraint = new PHPUnit_Framework_Constraint_Count(2);
-        $countConstraint->evaluate($it, '', true);
-        $this->assertEquals(1, $it->current());
-
-        $it->next();
-        $countConstraint->evaluate($it, '', true);
-        $this->assertEquals(2, $it->current());
-
-        $it->next();
-        $countConstraint->evaluate($it, '', true);
-        $this->assertFalse($it->valid());
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageRegExpTest.php b/core/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageRegExpTest.php
deleted file mode 100644
index d6414aa..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageRegExpTest.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Márcio Almada <marcio3w@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.3.0
- * @covers     PHPUnit_Framework_Constraint_ExceptionMessageRegExp
- */
-class ExceptionMessageRegExpTest extends PHPUnit_Framework_TestCase
-{
-
-    /**
-     * @expectedException \Exception
-     * @expectedExceptionMessageRegExp /^A polymorphic \w+ message/
-     */
-    public function testRegexMessage()
-    {
-        throw new Exception("A polymorphic exception message");
-    }
-
-    /**
-     * @expectedException \Exception
-     * @expectedExceptionMessageRegExp /^a poly[a-z]+ [a-zA-Z0-9_]+ me(s){2}age$/i
-     */
-    public function testRegexMessageExtreme()
-    {
-        throw new Exception("A polymorphic exception message");
-    }
-
-     /**
-     * @runInSeparateProcess
-     * @requires extension xdebug
-     * @expectedException \Exception
-     * @expectedExceptionMessageRegExp #Screaming preg_match#
-     */
-    public function testMessageXdebugScreamCompatibility()
-    {
-        ini_set('xdebug.scream', '1');
-        throw new Exception("Screaming preg_match");
-    }
-
-    /**
-     * @coversNothing
-     * @expectedException \Exception variadic
-     * @expectedExceptionMessageRegExp /^A variadic \w+ message/
-     */
-    public function testSimultaneousLiteralAndRegExpExceptionMessage()
-    {
-        throw new Exception("A variadic exception message");
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageTest.php b/core/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageTest.php
deleted file mode 100644
index 9f59813..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageTest.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Márcio Almada <marcio3w@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.0.20
- * @covers     PHPUnit_Framework_Constraint_ExceptionMessage
- */
-class ExceptionMessageTest extends PHPUnit_Framework_TestCase
-{
-
-    /**
-     * @expectedException \Exception
-     * @expectedExceptionMessage A literal exception message
-     */
-    public function testLiteralMessage()
-    {
-        throw new Exception("A literal exception message");
-    }
-
-    /**
-     * @expectedException \Exception
-     * @expectedExceptionMessage A partial
-     */
-    public function testPatialMessageBegin()
-    {
-        throw new Exception("A partial exception message");
-    }
-
-    /**
-     * @expectedException \Exception
-     * @expectedExceptionMessage partial exception
-     */
-    public function testPatialMessageMiddle()
-    {
-        throw new Exception("A partial exception message");
-    }
-
-    /**
-     * @expectedException \Exception
-     * @expectedExceptionMessage exception message
-     */
-    public function testPatialMessageEnd()
-    {
-        throw new Exception("A partial exception message");
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatches/ErrorMessageProviderTest.php b/core/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatches/ErrorMessageProviderTest.php
deleted file mode 100644
index 76e611b..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatches/ErrorMessageProviderTest.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @author     Bastian Feder <php@bastian-feder.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause
- * @link       http://www.phpunit.de/
- * @since      File available since Release 3.7.0
- */
-class Framework_Constraint_JsonMatches_ErrorMessageProviderTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider translateTypeToPrefixDataprovider
-     * @covers PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::translateTypeToPrefix
-     */
-    public function testTranslateTypeToPrefix($expected, $type)
-    {
-        $this->assertEquals(
-            $expected,
-            PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::translateTypeToPrefix($type)
-        );
-    }
-
-    /**
-     * @dataProvider determineJsonErrorDataprovider
-     * @covers PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::determineJsonError
-     */
-    public function testDetermineJsonError($expected, $error, $prefix)
-    {
-        $this->assertEquals(
-            $expected,
-            PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::determineJsonError(
-                $error,
-                $prefix
-            )
-        );
-    }
-
-    public static function determineJsonErrorDataprovider()
-    {
-        return array(
-            'JSON_ERROR_NONE'  => array(
-                null, 'json_error_none', ''
-            ),
-            'JSON_ERROR_DEPTH' => array(
-                'Maximum stack depth exceeded', JSON_ERROR_DEPTH, ''
-            ),
-            'prefixed JSON_ERROR_DEPTH' => array(
-                'TUX: Maximum stack depth exceeded', JSON_ERROR_DEPTH, 'TUX: '
-            ),
-            'JSON_ERROR_STATE_MISMatch' => array(
-                'Underflow or the modes mismatch', JSON_ERROR_STATE_MISMATCH, ''
-            ),
-            'JSON_ERROR_CTRL_CHAR' => array(
-                'Unexpected control character found', JSON_ERROR_CTRL_CHAR, ''
-            ),
-            'JSON_ERROR_SYNTAX' => array(
-                'Syntax error, malformed JSON', JSON_ERROR_SYNTAX, ''
-            ),
-            'JSON_ERROR_UTF8`' => array(
-                'Malformed UTF-8 characters, possibly incorrectly encoded',
-                JSON_ERROR_UTF8,
-                ''
-            ),
-            'Invalid error indicator' => array(
-                'Unknown error', 55, ''
-            ),
-        );
-    }
-
-    public static function translateTypeToPrefixDataprovider()
-    {
-        return array(
-            'expected' => array('Expected value JSON decode error - ', 'expected'),
-            'actual' => array('Actual value JSON decode error - ', 'actual'),
-            'default' => array('', ''),
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatchesTest.php b/core/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatchesTest.php
deleted file mode 100644
index ed53577..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatchesTest.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @package    PHPUnit
- * @author     Bastian Feder <php@bastian-feder.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause
- * @link       http://www.phpunit.de/
- * @since      File available since Release 3.7.0
- */
-class Framework_Constraint_JsonMatchesTest extends PHPUnit_Framework_TestCase
-{
-
-    /**
-     * @dataProvider evaluateDataprovider
-     * @covers PHPUnit_Framework_Constraint_JsonMatches::evaluate
-     * @covers PHPUnit_Framework_Constraint_JsonMatches::matches
-     * @covers PHPUnit_Framework_Constraint_JsonMatches::__construct
-     */
-    public function testEvaluate($expected, $jsonOther, $jsonValue)
-    {
-        $constraint = new PHPUnit_Framework_Constraint_JsonMatches($jsonValue);
-        $this->assertEquals($expected, $constraint->evaluate($jsonOther, '', true));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_JsonMatches::toString
-     */
-    public function testToString()
-    {
-        $jsonValue = json_encode(array('Mascott' => 'Tux'));
-        $constraint = new PHPUnit_Framework_Constraint_JsonMatches($jsonValue);
-
-        $this->assertEquals('matches JSON string "' . $jsonValue . '"', $constraint->toString());
-    }
-
-
-    public static function evaluateDataprovider()
-    {
-        return array(
-            'valid JSON' => array(true, json_encode(array('Mascott' => 'Tux')), json_encode(array('Mascott' => 'Tux'))),
-            'error syntax' => array(false, '{"Mascott"::}', json_encode(array('Mascott' => 'Tux'))),
-            'error UTF-8' => array(false, json_encode('\xB1\x31'), json_encode(array('Mascott' => 'Tux'))),
-            'invalid JSON in class instantiation' => array(false, json_encode(array('Mascott' => 'Tux')), '{"Mascott"::}'),
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/ConstraintTest.php b/core/vendor/phpunit/phpunit/tests/Framework/ConstraintTest.php
deleted file mode 100644
index c84ac97..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/ConstraintTest.php
+++ /dev/null
@@ -1,3470 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.0.0
- */
-class Framework_ConstraintTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers PHPUnit_Framework_Constraint_ArrayHasKey
-     * @covers PHPUnit_Framework_Assert::arrayHasKey
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintArrayHasKey()
-    {
-        $constraint = PHPUnit_Framework_Assert::arrayHasKey(0);
-
-        $this->assertFalse($constraint->evaluate(array(), '', true));
-        $this->assertEquals('has the key 0', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(array());
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-Failed asserting that an array has the key 0.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ArrayHasKey
-     * @covers PHPUnit_Framework_Assert::arrayHasKey
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintArrayHasKey2()
-    {
-        $constraint = PHPUnit_Framework_Assert::arrayHasKey(0);
-
-        try {
-            $constraint->evaluate(array(), 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message\nFailed asserting that an array has the key 0.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ArrayHasKey
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::arrayHasKey
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintArrayNotHasKey()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::arrayHasKey(0)
-        );
-
-        $this->assertFalse($constraint->evaluate(array(0 => 1), '', true));
-        $this->assertEquals('does not have the key 0', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(array(0 => 1));
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that an array does not have the key 0.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ArrayHasKey
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::arrayHasKey
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintArrayNotHasKey2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::arrayHasKey(0)
-        );
-
-        try {
-            $constraint->evaluate(array(0), 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that an array does not have the key 0.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_FileExists
-     * @covers PHPUnit_Framework_Assert::fileExists
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintFileExists()
-    {
-        $constraint = PHPUnit_Framework_Assert::fileExists();
-
-        $this->assertFalse($constraint->evaluate('foo', '', true));
-        $this->assertEquals('file exists', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('foo');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that file "foo" exists.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_FileExists
-     * @covers PHPUnit_Framework_Assert::fileExists
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintFileExists2()
-    {
-        $constraint = PHPUnit_Framework_Assert::fileExists();
-
-        try {
-            $constraint->evaluate('foo', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that file "foo" exists.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_FileExists
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_Assert::fileExists
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintFileNotExists()
-    {
-        $file = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'ClassWithNonPublicAttributes.php';
-
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::fileExists()
-        );
-
-        $this->assertFalse($constraint->evaluate($file, '', true));
-        $this->assertEquals('file does not exist', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate($file);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that file "$file" does not exist.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_FileExists
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_Assert::fileExists
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintFileNotExists2()
-    {
-        $file = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'ClassWithNonPublicAttributes.php';
-
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::fileExists()
-        );
-
-        try {
-            $constraint->evaluate($file, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that file "$file" does not exist.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_GreaterThan
-     * @covers PHPUnit_Framework_Assert::greaterThan
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintGreaterThan()
-    {
-        $constraint = PHPUnit_Framework_Assert::greaterThan(1);
-
-        $this->assertFalse($constraint->evaluate(0, '', true));
-        $this->assertTrue($constraint->evaluate(2, '', true));
-        $this->assertEquals('is greater than 1', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(0);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 0 is greater than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_GreaterThan
-     * @covers PHPUnit_Framework_Assert::greaterThan
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintGreaterThan2()
-    {
-        $constraint = PHPUnit_Framework_Assert::greaterThan(1);
-
-        try {
-            $constraint->evaluate(0, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 0 is greater than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_GreaterThan
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::greaterThan
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotGreaterThan()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::greaterThan(1)
-        );
-
-        $this->assertTrue($constraint->evaluate(1, '', true));
-        $this->assertEquals('is not greater than 1', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(2);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 2 is not greater than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_GreaterThan
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::greaterThan
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotGreaterThan2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::greaterThan(1)
-        );
-
-        try {
-            $constraint->evaluate(2, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 2 is not greater than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Constraint_GreaterThan
-     * @covers PHPUnit_Framework_Constraint_Or
-     * @covers PHPUnit_Framework_Assert::greaterThanOrEqual
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintGreaterThanOrEqual()
-    {
-        $constraint = PHPUnit_Framework_Assert::greaterThanOrEqual(1);
-
-        $this->assertTrue($constraint->evaluate(1, '', true));
-        $this->assertFalse($constraint->evaluate(0, '', true));
-        $this->assertEquals('is equal to 1 or is greater than 1', $constraint->toString());
-        $this->assertEquals(2, count($constraint));
-
-        try {
-            $constraint->evaluate(0);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 0 is equal to 1 or is greater than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Constraint_GreaterThan
-     * @covers PHPUnit_Framework_Constraint_Or
-     * @covers PHPUnit_Framework_Assert::greaterThanOrEqual
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintGreaterThanOrEqual2()
-    {
-        $constraint = PHPUnit_Framework_Assert::greaterThanOrEqual(1);
-
-        try {
-            $constraint->evaluate(0, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 0 is equal to 1 or is greater than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Constraint_GreaterThan
-     * @covers PHPUnit_Framework_Constraint_Or
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::greaterThanOrEqual
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotGreaterThanOrEqual()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::greaterThanOrEqual(1)
-        );
-
-        $this->assertFalse($constraint->evaluate(1, '', true));
-        $this->assertEquals('not( is equal to 1 or is greater than 1 )', $constraint->toString());
-        $this->assertEquals(2, count($constraint));
-
-        try {
-            $constraint->evaluate(1);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that not( 1 is equal to 1 or is greater than 1 ).
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Constraint_GreaterThan
-     * @covers PHPUnit_Framework_Constraint_Or
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::greaterThanOrEqual
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotGreaterThanOrEqual2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::greaterThanOrEqual(1)
-        );
-
-        try {
-            $constraint->evaluate(1, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that not( 1 is equal to 1 or is greater than 1 ).
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsAnything
-     * @covers PHPUnit_Framework_Assert::anything
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsAnything()
-    {
-        $constraint = PHPUnit_Framework_Assert::anything();
-
-        $this->assertTrue($constraint->evaluate(null, '', true));
-        $this->assertNull($constraint->evaluate(null));
-        $this->assertEquals('is anything', $constraint->toString());
-        $this->assertEquals(0, count($constraint));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsAnything
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::anything
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotIsAnything()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::anything()
-        );
-
-        $this->assertFalse($constraint->evaluate(null, '', true));
-        $this->assertEquals('is not anything', $constraint->toString());
-        $this->assertEquals(0, count($constraint));
-
-        try {
-            $constraint->evaluate(null);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that null is not anything.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Assert::equalTo
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsEqual()
-    {
-        $constraint = PHPUnit_Framework_Assert::equalTo(1);
-
-        $this->assertTrue($constraint->evaluate(1, '', true));
-        $this->assertFalse($constraint->evaluate(0, '', true));
-        $this->assertEquals('is equal to 1', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(0);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 0 matches expected 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    public function isEqualProvider()
-    {
-        $a = new stdClass;
-        $a->foo = 'bar';
-        $b = new stdClass;
-        $ahash = spl_object_hash($a);
-        $bhash = spl_object_hash($b);
-
-        $c = new stdClass;
-        $c->foo = 'bar';
-        $c->int = 1;
-        $c->array = array(0, array(1), array(2), 3);
-        $c->related = new stdClass;
-        $c->related->foo = "a\nb\nc\nd\ne\nf\ng\nh\ni\nj\nk";
-        $c->self = $c;
-        $c->c = $c;
-        $d = new stdClass;
-        $d->foo = 'bar';
-        $d->int = 2;
-        $d->array = array(0, array(4), array(2), 3);
-        $d->related = new stdClass;
-        $d->related->foo = "a\np\nc\nd\ne\nf\ng\nh\ni\nw\nk";
-        $d->self = $d;
-        $d->c = $c;
-
-        $storage1 = new SplObjectStorage;
-        $storage1->attach($a);
-        $storage1->attach($b);
-        $storage2 = new SplObjectStorage;
-        $storage2->attach($b);
-        $storage1hash = spl_object_hash($storage1);
-        $storage2hash = spl_object_hash($storage2);
-
-        $dom1 = new DOMDocument;
-        $dom1->preserveWhiteSpace = false;
-        $dom1->loadXML('<root></root>');
-        $dom2 = new DOMDocument;
-        $dom2->preserveWhiteSpace = false;
-        $dom2->loadXML('<root><foo/></root>');
-
-        return array(
-            array(1, 0, <<<EOF
-Failed asserting that 0 matches expected 1.
-
-EOF
-            ),
-            array(1.1, 0, <<<EOF
-Failed asserting that 0 matches expected 1.1.
-
-EOF
-            ),
-            array('a', 'b', <<<EOF
-Failed asserting that two strings are equal.
---- Expected
-+++ Actual
-@@ @@
--'a'
-+'b'
-
-EOF
-            ),
-            array("a\nb\nc\nd\ne\nf\ng\nh\ni\nj\nk", "a\np\nc\nd\ne\nf\ng\nh\ni\nw\nk", <<<EOF
-Failed asserting that two strings are equal.
---- Expected
-+++ Actual
-@@ @@
- 'a
--b
-+p
-
-@@ @@
- i
--j
-+w
- k'
-
-EOF
-            ),
-            array(1, array(0), <<<EOF
-Array (...) does not match expected type "integer".
-
-EOF
-            ),
-            array(array(0), 1, <<<EOF
-1 does not match expected type "array".
-
-EOF
-            ),
-            array(array(0), array(1), <<<EOF
-Failed asserting that two arrays are equal.
---- Expected
-+++ Actual
-@@ @@
- Array (
--    0 => 0
-+    0 => 1
- )
-
-EOF
-            ),
-            array(array(true), array('true'), <<<EOF
-Failed asserting that two arrays are equal.
---- Expected
-+++ Actual
-@@ @@
- Array (
--    0 => true
-+    0 => 'true'
- )
-
-EOF
-            ),
-            array(array(0, array(1), array(2), 3), array(0, array(4), array(2), 3), <<<EOF
-Failed asserting that two arrays are equal.
---- Expected
-+++ Actual
-@@ @@
- Array (
-     0 => 0
-     1 => Array (
--        0 => 1
-+        0 => 4
-     )
-     2 => Array (...)
-     3 => 3
- )
-
-EOF
-            ),
-            array($a, array(0), <<<EOF
-Array (...) does not match expected type "object".
-
-EOF
-            ),
-            array(array(0), $a, <<<EOF
-stdClass Object (...) does not match expected type "array".
-
-EOF
-            ),
-            array($a, $b, <<<EOF
-Failed asserting that two objects are equal.
---- Expected
-+++ Actual
-@@ @@
- stdClass Object (
--    'foo' => 'bar'
- )
-
-EOF
-            ),
-            array($c, $d, <<<EOF
-Failed asserting that two objects are equal.
---- Expected
-+++ Actual
-@@ @@
- stdClass Object (
-     'foo' => 'bar'
--    'int' => 1
-+    'int' => 2
-     'array' => Array (
-         0 => 0
-         1 => Array (
--            0 => 1
-+            0 => 4
-
-@@ @@
-         'foo' => 'a
--        b
-+        p
-
-@@ @@
-         i
--        j
-+        w
-         k'
-     )
-     'self' => stdClass Object (...)
-     'c' => stdClass Object (...)
- )
-
-EOF
-            ),
-            array($storage1, $storage2, <<<EOF
-Failed asserting that two objects are equal.
---- Expected
-+++ Actual
-@@ @@
--SplObjectStorage Object &$storage1hash (
--    '$ahash' => Array &0 (
--        'obj' => stdClass Object &$ahash (
--            'foo' => 'bar'
--        )
-+SplObjectStorage Object &$storage2hash (
-+    '$bhash' => Array &0 (
-+        'obj' => stdClass Object &$bhash ()
-         'inf' => null
-     )
--    '$bhash' => Array &0
- )
-
-EOF
-            ),
-            array($dom1, $dom2, <<<EOF
-Failed asserting that two DOM documents are equal.
---- Expected
-+++ Actual
-@@ @@
- <?xml version="1.0"?>
--<root/>
-+<root>
-+  <foo/>
-+</root>
-
-EOF
-            ),
-            array(
-              new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-              new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
-              <<<EOF
-Failed asserting that two DateTime objects are equal.
---- Expected
-+++ Actual
-@@ @@
--2013-03-29T04:13:35-0400
-+2013-03-29T04:13:35-0500
-
-EOF
-            ),
-        );
-    }
-
-    /**
-     * @dataProvider isEqualProvider
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Assert::equalTo
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsEqual2($expected, $actual, $message)
-    {
-        $constraint = PHPUnit_Framework_Assert::equalTo($expected);
-
-        try {
-            $constraint->evaluate($actual, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              "custom message\n$message",
-              $this->trimnl(PHPUnit_Framework_TestFailure::exceptionToString($e))
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::equalTo
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotEqual()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::equalTo(1)
-        );
-
-        $this->assertTrue($constraint->evaluate(0, '', true));
-        $this->assertFalse($constraint->evaluate(1, '', true));
-        $this->assertEquals('is not equal to 1', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(1);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 1 is not equal to 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::equalTo
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotEqual2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::equalTo(1)
-        );
-
-        try {
-            $constraint->evaluate(1, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 1 is not equal to 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsIdentical
-     * @covers PHPUnit_Framework_Assert::identicalTo
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsIdentical()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-
-        $constraint = PHPUnit_Framework_Assert::identicalTo($a);
-
-        $this->assertFalse($constraint->evaluate($b, '', true));
-        $this->assertTrue($constraint->evaluate($a, '', true));
-        $this->assertEquals('is identical to an object of class "stdClass"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate($b);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-Failed asserting that two variables reference the same object.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsIdentical
-     * @covers PHPUnit_Framework_Assert::identicalTo
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsIdentical2()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-
-        $constraint = PHPUnit_Framework_Assert::identicalTo($a);
-
-        try {
-            $constraint->evaluate($b, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that two variables reference the same object.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsIdentical
-     * @covers PHPUnit_Framework_Assert::identicalTo
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsIdentical3()
-    {
-        $constraint = PHPUnit_Framework_Assert::identicalTo('a');
-
-        try {
-            $constraint->evaluate('b', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that two strings are identical.
---- Expected
-+++ Actual
-@@ @@
--a
-+b
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsIdentical
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::identicalTo
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotIdentical()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::identicalTo($a)
-        );
-
-        $this->assertTrue($constraint->evaluate($b, '', true));
-        $this->assertFalse($constraint->evaluate($a, '', true));
-        $this->assertEquals('is not identical to an object of class "stdClass"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate($a);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-Failed asserting that two variables don't reference the same object.
-
-EOF
-              ,
-              $this->trimnl(PHPUnit_Framework_TestFailure::exceptionToString($e))
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsIdentical
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::identicalTo
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotIdentical2()
-    {
-        $a = new stdClass;
-
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::identicalTo($a)
-        );
-
-        try {
-            $constraint->evaluate($a, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that two variables don't reference the same object.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsIdentical
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::identicalTo
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotIdentical3()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::identicalTo('a')
-        );
-
-        try {
-            $constraint->evaluate('a', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that two strings are not identical.
-
-EOF
-              ,
-              $this->trimnl(PHPUnit_Framework_TestFailure::exceptionToString($e))
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsInstanceOf
-     * @covers PHPUnit_Framework_Assert::isInstanceOf
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsInstanceOf()
-    {
-        $constraint = PHPUnit_Framework_Assert::isInstanceOf('Exception');
-
-        $this->assertFalse($constraint->evaluate(new stdClass, '', true));
-        $this->assertTrue($constraint->evaluate(new Exception, '', true));
-        $this->assertEquals('is instance of class "Exception"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        $interfaceConstraint = PHPUnit_Framework_Assert::isInstanceOf('Countable');
-        $this->assertFalse($interfaceConstraint->evaluate(new stdClass, '', true));
-        $this->assertTrue($interfaceConstraint->evaluate(new ArrayObject, '', true));
-        $this->assertEquals('is instance of interface "Countable"', $interfaceConstraint->toString());
-
-        try {
-            $constraint->evaluate(new stdClass);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that stdClass Object () is an instance of class "Exception".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsInstanceOf
-     * @covers PHPUnit_Framework_Assert::isInstanceOf
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsInstanceOf2()
-    {
-        $constraint = PHPUnit_Framework_Assert::isInstanceOf('Exception');
-
-        try {
-            $constraint->evaluate(new stdClass, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that stdClass Object () is an instance of class "Exception".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsInstanceOf
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::isInstanceOf
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotInstanceOf()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::isInstanceOf('stdClass')
-        );
-
-        $this->assertFalse($constraint->evaluate(new stdClass, '', true));
-        $this->assertTrue($constraint->evaluate(new Exception, '', true));
-        $this->assertEquals('is not instance of class "stdClass"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(new stdClass);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that stdClass Object () is not an instance of class "stdClass".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsInstanceOf
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::isInstanceOf
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotInstanceOf2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::isInstanceOf('stdClass')
-        );
-
-        try {
-            $constraint->evaluate(new stdClass, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that stdClass Object () is not an instance of class "stdClass".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsType
-     * @covers PHPUnit_Framework_Assert::isType
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsType()
-    {
-        $constraint = PHPUnit_Framework_Assert::isType('string');
-
-        $this->assertFalse($constraint->evaluate(0, '', true));
-        $this->assertTrue($constraint->evaluate('', '', true));
-        $this->assertEquals('is of type "string"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(new stdClass);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertStringMatchesFormat(<<<EOF
-Failed asserting that stdClass Object &%x () is of type "string".
-
-EOF
-              ,
-              $this->trimnl(PHPUnit_Framework_TestFailure::exceptionToString($e))
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsType
-     * @covers PHPUnit_Framework_Assert::isType
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsType2()
-    {
-        $constraint = PHPUnit_Framework_Assert::isType('string');
-
-        try {
-            $constraint->evaluate(new stdClass, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertStringMatchesFormat(<<<EOF
-custom message
-Failed asserting that stdClass Object &%x () is of type "string".
-
-EOF
-              ,
-              $this->trimnl(PHPUnit_Framework_TestFailure::exceptionToString($e))
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    public function resources()
-    {
-        $fh = fopen(__FILE__, 'r');
-        fclose($fh);
-
-        return array(
-            'open resource'     => array(fopen(__FILE__, 'r')),
-            'closed resource'   => array($fh),
-        );
-    }
-
-    /**
-     * @dataProvider resources
-     * @covers PHPUnit_Framework_Constraint_IsType
-     * @covers PHPUnit_Framework_Assert::isType
-     */
-    public function testConstraintIsResourceTypeEvaluatesCorrectlyWithResources($resource)
-    {
-        $constraint = PHPUnit_Framework_Assert::isType('resource');
-
-        $this->assertTrue($constraint->evaluate($resource, '', true));
-
-        @fclose($resource);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsType
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::isType
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotType()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::isType('string')
-        );
-
-        $this->assertTrue($constraint->evaluate(0, '', true));
-        $this->assertFalse($constraint->evaluate('', '', true));
-        $this->assertEquals('is not of type "string"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that '' is not of type "string".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsType
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::isType
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotType2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::isType('string')
-        );
-
-        try {
-            $constraint->evaluate('', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that '' is not of type "string".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsNull
-     * @covers PHPUnit_Framework_Assert::isNull
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNull()
-    {
-        $constraint = PHPUnit_Framework_Assert::isNull();
-
-        $this->assertFalse($constraint->evaluate(0, '', true));
-        $this->assertTrue($constraint->evaluate(null, '', true));
-        $this->assertEquals('is null', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(0);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-Failed asserting that 0 is null.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsNull
-     * @covers PHPUnit_Framework_Assert::isNull
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNull2()
-    {
-        $constraint = PHPUnit_Framework_Assert::isNull();
-
-        try {
-            $constraint->evaluate(0, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that 0 is null.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsNull
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::isNull
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotNull()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::isNull()
-        );
-
-        $this->assertFalse($constraint->evaluate(null, '', true));
-        $this->assertTrue($constraint->evaluate(0, '', true));
-        $this->assertEquals('is not null', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(null);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-Failed asserting that null is not null.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsNull
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::isNull
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsNotNull2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::isNull()
-        );
-
-        try {
-            $constraint->evaluate(null, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that null is not null.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_LessThan
-     * @covers PHPUnit_Framework_Assert::lessThan
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintLessThan()
-    {
-        $constraint = PHPUnit_Framework_Assert::lessThan(1);
-
-        $this->assertTrue($constraint->evaluate(0, '', true));
-        $this->assertFalse($constraint->evaluate(1, '', true));
-        $this->assertEquals('is less than 1', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(1);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 1 is less than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_LessThan
-     * @covers PHPUnit_Framework_Assert::lessThan
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintLessThan2()
-    {
-        $constraint = PHPUnit_Framework_Assert::lessThan(1);
-
-        try {
-            $constraint->evaluate(1, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 1 is less than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_LessThan
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::lessThan
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotLessThan()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::lessThan(1)
-        );
-
-        $this->assertTrue($constraint->evaluate(1, '', true));
-        $this->assertFalse($constraint->evaluate(0, '', true));
-        $this->assertEquals('is not less than 1', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(0);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 0 is not less than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_LessThan
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::lessThan
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotLessThan2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::lessThan(1)
-        );
-
-        try {
-            $constraint->evaluate(0, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 0 is not less than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Constraint_LessThan
-     * @covers PHPUnit_Framework_Constraint_Or
-     * @covers PHPUnit_Framework_Assert::lessThanOrEqual
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintLessThanOrEqual()
-    {
-        $constraint = PHPUnit_Framework_Assert::lessThanOrEqual(1);
-
-        $this->assertTrue($constraint->evaluate(1, '', true));
-        $this->assertFalse($constraint->evaluate(2, '', true));
-        $this->assertEquals('is equal to 1 or is less than 1', $constraint->toString());
-        $this->assertEquals(2, count($constraint));
-
-        try {
-            $constraint->evaluate(2);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 2 is equal to 1 or is less than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_Callback
-     */
-    public function testConstraintCallback()
-    {
-        $closureReflect = function ($parameter) {
-            return $parameter;
-        };
-
-        $closureWithoutParameter = function () {
-            return true;
-        };
-
-        $constraint = PHPUnit_Framework_Assert::callback($closureWithoutParameter);
-        $this->assertTrue($constraint->evaluate('', '', true));
-
-        $constraint = PHPUnit_Framework_Assert::callback($closureReflect);
-        $this->assertTrue($constraint->evaluate(true, '', true));
-        $this->assertFalse($constraint->evaluate(false, '', true));
-
-        $callback = array($this, 'callbackReturningTrue');
-        $constraint = PHPUnit_Framework_Assert::callback($callback);
-        $this->assertTrue($constraint->evaluate(false,  '', true));
-
-        $callback = array('Framework_ConstraintTest', 'staticCallbackReturningTrue');
-        $constraint = PHPUnit_Framework_Assert::callback($callback);
-        $this->assertTrue($constraint->evaluate(null, '', true));
-
-        $this->assertEquals('is accepted by specified callback', $constraint->toString());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_Callback
-     * @expectedException PHPUnit_Framework_ExpectationFailedException
-     * @expectedExceptionMessage Failed asserting that 'This fails' is accepted by specified callback.
-     */
-    public function testConstraintCallbackFailure()
-    {
-        $constraint = PHPUnit_Framework_Assert::callback(function () {
-            return false;
-        });
-        $constraint->evaluate('This fails');
-    }
-
-    public function callbackReturningTrue()
-    {
-        return true;
-    }
-
-    public static function staticCallbackReturningTrue()
-    {
-        return true;
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Constraint_LessThan
-     * @covers PHPUnit_Framework_Constraint_Or
-     * @covers PHPUnit_Framework_Assert::lessThanOrEqual
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintLessThanOrEqual2()
-    {
-        $constraint = PHPUnit_Framework_Assert::lessThanOrEqual(1);
-
-        try {
-            $constraint->evaluate(2, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 2 is equal to 1 or is less than 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Constraint_LessThan
-     * @covers PHPUnit_Framework_Constraint_Or
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::lessThanOrEqual
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotLessThanOrEqual()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::lessThanOrEqual(1)
-        );
-
-        $this->assertTrue($constraint->evaluate(2, '', true));
-        $this->assertFalse($constraint->evaluate(1, '', true));
-        $this->assertEquals('not( is equal to 1 or is less than 1 )', $constraint->toString());
-        $this->assertEquals(2, count($constraint));
-
-        try {
-            $constraint->evaluate(1);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that not( 1 is equal to 1 or is less than 1 ).
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEqual
-     * @covers PHPUnit_Framework_Constraint_LessThan
-     * @covers PHPUnit_Framework_Constraint_Or
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::lessThanOrEqual
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotLessThanOrEqual2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::lessThanOrEqual(1)
-        );
-
-        try {
-            $constraint->evaluate(1, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that not( 1 is equal to 1 or is less than 1 ).
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ClassHasAttribute
-     * @covers PHPUnit_Framework_Assert::classHasAttribute
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintClassHasAttribute()
-    {
-        $constraint = PHPUnit_Framework_Assert::classHasAttribute('privateAttribute');
-
-        $this->assertTrue($constraint->evaluate('ClassWithNonPublicAttributes', '', true));
-        $this->assertFalse($constraint->evaluate('stdClass', '', true));
-        $this->assertEquals('has attribute "privateAttribute"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('stdClass');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that class "stdClass" has attribute "privateAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ClassHasAttribute
-     * @covers PHPUnit_Framework_Assert::classHasAttribute
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintClassHasAttribute2()
-    {
-        $constraint = PHPUnit_Framework_Assert::classHasAttribute('privateAttribute');
-
-        try {
-            $constraint->evaluate('stdClass', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that class "stdClass" has attribute "privateAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ClassHasAttribute
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::classHasAttribute
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintClassNotHasAttribute()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::classHasAttribute('privateAttribute')
-        );
-
-        $this->assertTrue($constraint->evaluate('stdClass', '', true));
-        $this->assertFalse($constraint->evaluate('ClassWithNonPublicAttributes', '', true));
-        $this->assertEquals('does not have attribute "privateAttribute"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that class "ClassWithNonPublicAttributes" does not have attribute "privateAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ClassHasAttribute
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::classHasAttribute
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintClassNotHasAttribute2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::classHasAttribute('privateAttribute')
-        );
-
-        try {
-            $constraint->evaluate('ClassWithNonPublicAttributes', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that class "ClassWithNonPublicAttributes" does not have attribute "privateAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ClassHasStaticAttribute
-     * @covers PHPUnit_Framework_Assert::classHasStaticAttribute
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintClassHasStaticAttribute()
-    {
-        $constraint = PHPUnit_Framework_Assert::classHasStaticAttribute('privateStaticAttribute');
-
-        $this->assertTrue($constraint->evaluate('ClassWithNonPublicAttributes', '', true));
-        $this->assertFalse($constraint->evaluate('stdClass', '', true));
-        $this->assertEquals('has static attribute "privateStaticAttribute"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('stdClass');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that class "stdClass" has static attribute "privateStaticAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ClassHasStaticAttribute
-     * @covers PHPUnit_Framework_Assert::classHasStaticAttribute
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintClassHasStaticAttribute2()
-    {
-        $constraint = PHPUnit_Framework_Assert::classHasStaticAttribute('foo');
-
-        try {
-            $constraint->evaluate('stdClass', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that class "stdClass" has static attribute "foo".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ClassHasStaticAttribute
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::classHasStaticAttribute
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintClassNotHasStaticAttribute()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::classHasStaticAttribute('privateStaticAttribute')
-        );
-
-        $this->assertTrue($constraint->evaluate('stdClass', '', true));
-        $this->assertFalse($constraint->evaluate('ClassWithNonPublicAttributes', '', true));
-        $this->assertEquals('does not have static attribute "privateStaticAttribute"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that class "ClassWithNonPublicAttributes" does not have static attribute "privateStaticAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ClassHasStaticAttribute
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::classHasStaticAttribute
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintClassNotHasStaticAttribute2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::classHasStaticAttribute('privateStaticAttribute')
-        );
-
-        try {
-            $constraint->evaluate('ClassWithNonPublicAttributes', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that class "ClassWithNonPublicAttributes" does not have static attribute "privateStaticAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ObjectHasAttribute
-     * @covers PHPUnit_Framework_Assert::objectHasAttribute
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintObjectHasAttribute()
-    {
-        $constraint = PHPUnit_Framework_Assert::objectHasAttribute('privateAttribute');
-
-        $this->assertTrue($constraint->evaluate(new ClassWithNonPublicAttributes, '', true));
-        $this->assertFalse($constraint->evaluate(new stdClass, '', true));
-        $this->assertEquals('has attribute "privateAttribute"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(new stdClass);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that object of class "stdClass" has attribute "privateAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ObjectHasAttribute
-     * @covers PHPUnit_Framework_Assert::objectHasAttribute
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintObjectHasAttribute2()
-    {
-        $constraint = PHPUnit_Framework_Assert::objectHasAttribute('privateAttribute');
-
-        try {
-            $constraint->evaluate(new stdClass, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that object of class "stdClass" has attribute "privateAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ObjectHasAttribute
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::objectHasAttribute
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintObjectNotHasAttribute()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::objectHasAttribute('privateAttribute')
-        );
-
-        $this->assertTrue($constraint->evaluate(new stdClass, '', true));
-        $this->assertFalse($constraint->evaluate(new ClassWithNonPublicAttributes, '', true));
-        $this->assertEquals('does not have attribute "privateAttribute"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(new ClassWithNonPublicAttributes);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that object of class "ClassWithNonPublicAttributes" does not have attribute "privateAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ObjectHasAttribute
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::objectHasAttribute
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintObjectNotHasAttribute2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::objectHasAttribute('privateAttribute')
-        );
-
-        try {
-            $constraint->evaluate(new ClassWithNonPublicAttributes, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that object of class "ClassWithNonPublicAttributes" does not have attribute "privateAttribute".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_PCREMatch
-     * @covers PHPUnit_Framework_Assert::matchesRegularExpression
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintPCREMatch()
-    {
-        $constraint = PHPUnit_Framework_Assert::matchesRegularExpression('/foo/');
-
-        $this->assertFalse($constraint->evaluate('barbazbar', '', true));
-        $this->assertTrue($constraint->evaluate('barfoobar', '', true));
-        $this->assertEquals('matches PCRE pattern "/foo/"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('barbazbar');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 'barbazbar' matches PCRE pattern "/foo/".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_PCREMatch
-     * @covers PHPUnit_Framework_Assert::matchesRegularExpression
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintPCREMatch2()
-    {
-        $constraint = PHPUnit_Framework_Assert::matchesRegularExpression('/foo/');
-
-        try {
-            $constraint->evaluate('barbazbar', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that 'barbazbar' matches PCRE pattern "/foo/".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_PCREMatch
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::matchesRegularExpression
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintPCRENotMatch()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::matchesRegularExpression('/foo/')
-        );
-
-        $this->assertTrue($constraint->evaluate('barbazbar', '', true));
-        $this->assertFalse($constraint->evaluate('barfoobar', '', true));
-        $this->assertEquals('does not match PCRE pattern "/foo/"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('barfoobar');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 'barfoobar' does not match PCRE pattern "/foo/".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_PCREMatch
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::matchesRegularExpression
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintPCRENotMatch2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::matchesRegularExpression('/foo/')
-        );
-
-        try {
-            $constraint->evaluate('barfoobar', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(<<<EOF
-custom message
-Failed asserting that 'barfoobar' does not match PCRE pattern "/foo/".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringMatches
-     * @covers PHPUnit_Framework_Assert::matches
-     * @covers PHPUnit_Framework_Constraint::count
-     */
-    public function testConstraintStringMatches()
-    {
-        $constraint = PHPUnit_Framework_Assert::matches('*%c*');
-        $this->assertFalse($constraint->evaluate('**', '', true));
-        $this->assertTrue($constraint->evaluate('***', '', true));
-        $this->assertEquals('matches PCRE pattern "/^\*.\*$/s"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringMatches
-     * @covers PHPUnit_Framework_Assert::matches
-     * @covers PHPUnit_Framework_Constraint::count
-     */
-    public function testConstraintStringMatches2()
-    {
-        $constraint = PHPUnit_Framework_Assert::matches('*%s*');
-        $this->assertFalse($constraint->evaluate('**', '', true));
-        $this->assertTrue($constraint->evaluate('***', '', true));
-        $this->assertEquals('matches PCRE pattern "/^\*[^\r\n]+\*$/s"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringMatches
-     * @covers PHPUnit_Framework_Assert::matches
-     * @covers PHPUnit_Framework_Constraint::count
-     */
-    public function testConstraintStringMatches3()
-    {
-        $constraint = PHPUnit_Framework_Assert::matches('*%i*');
-        $this->assertFalse($constraint->evaluate('**', '', true));
-        $this->assertTrue($constraint->evaluate('*0*', '', true));
-        $this->assertEquals('matches PCRE pattern "/^\*[+-]?\d+\*$/s"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringMatches
-     * @covers PHPUnit_Framework_Assert::matches
-     * @covers PHPUnit_Framework_Constraint::count
-     */
-    public function testConstraintStringMatches4()
-    {
-        $constraint = PHPUnit_Framework_Assert::matches('*%d*');
-        $this->assertFalse($constraint->evaluate('**', '', true));
-        $this->assertTrue($constraint->evaluate('*0*', '', true));
-        $this->assertEquals('matches PCRE pattern "/^\*\d+\*$/s"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringMatches
-     * @covers PHPUnit_Framework_Assert::matches
-     * @covers PHPUnit_Framework_Constraint::count
-     */
-    public function testConstraintStringMatches5()
-    {
-        $constraint = PHPUnit_Framework_Assert::matches('*%x*');
-        $this->assertFalse($constraint->evaluate('**', '', true));
-        $this->assertTrue($constraint->evaluate('*0f0f0f*', '', true));
-        $this->assertEquals('matches PCRE pattern "/^\*[0-9a-fA-F]+\*$/s"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringMatches
-     * @covers PHPUnit_Framework_Assert::matches
-     * @covers PHPUnit_Framework_Constraint::count
-     */
-    public function testConstraintStringMatches6()
-    {
-        $constraint = PHPUnit_Framework_Assert::matches('*%f*');
-        $this->assertFalse($constraint->evaluate('**', '', true));
-        $this->assertTrue($constraint->evaluate('*1.0*', '', true));
-        $this->assertEquals('matches PCRE pattern "/^\*[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?\*$/s"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringStartsWith
-     * @covers PHPUnit_Framework_Assert::stringStartsWith
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringStartsWith()
-    {
-        $constraint = PHPUnit_Framework_Assert::stringStartsWith('prefix');
-
-        $this->assertFalse($constraint->evaluate('foo', '', true));
-        $this->assertTrue($constraint->evaluate('prefixfoo', '', true));
-        $this->assertEquals('starts with "prefix"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('foo');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 'foo' starts with "prefix".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringStartsWith
-     * @covers PHPUnit_Framework_Assert::stringStartsWith
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringStartsWith2()
-    {
-        $constraint = PHPUnit_Framework_Assert::stringStartsWith('prefix');
-
-        try {
-            $constraint->evaluate('foo', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message\nFailed asserting that 'foo' starts with "prefix".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringStartsWith
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::stringStartsWith
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringStartsNotWith()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::stringStartsWith('prefix')
-        );
-
-        $this->assertTrue($constraint->evaluate('foo', '', true));
-        $this->assertFalse($constraint->evaluate('prefixfoo', '', true));
-        $this->assertEquals('starts not with "prefix"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('prefixfoo');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 'prefixfoo' starts not with "prefix".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringStartsWith
-     * @covers PHPUnit_Framework_Assert::stringStartsWith
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringStartsNotWith2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::stringStartsWith('prefix')
-        );
-
-        try {
-            $constraint->evaluate('prefixfoo', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 'prefixfoo' starts not with "prefix".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringContains
-     * @covers PHPUnit_Framework_Assert::stringContains
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringContains()
-    {
-        $constraint = PHPUnit_Framework_Assert::stringContains('foo');
-
-        $this->assertFalse($constraint->evaluate('barbazbar', '', true));
-        $this->assertTrue($constraint->evaluate('barfoobar', '', true));
-        $this->assertEquals('contains "foo"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('barbazbar');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 'barbazbar' contains "foo".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringContains
-     * @covers PHPUnit_Framework_Assert::stringContains
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringContains2()
-    {
-        $constraint = PHPUnit_Framework_Assert::stringContains('foo');
-
-        try {
-            $constraint->evaluate('barbazbar', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 'barbazbar' contains "foo".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringContains
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::stringContains
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringNotContains()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::stringContains('foo')
-        );
-
-        $this->assertTrue($constraint->evaluate('barbazbar', '', true));
-        $this->assertFalse($constraint->evaluate('barfoobar', '', true));
-        $this->assertEquals('does not contain "foo"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('barfoobar');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 'barfoobar' does not contain "foo".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringContains
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::stringContains
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringNotContains2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::stringContains('foo')
-        );
-
-        try {
-            $constraint->evaluate('barfoobar', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 'barfoobar' does not contain "foo".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringEndsWith
-     * @covers PHPUnit_Framework_Assert::stringEndsWith
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringEndsWith()
-    {
-        $constraint = PHPUnit_Framework_Assert::stringEndsWith('suffix');
-
-        $this->assertFalse($constraint->evaluate('foo', '', true));
-        $this->assertTrue($constraint->evaluate('foosuffix', '', true));
-        $this->assertEquals('ends with "suffix"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('foo');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 'foo' ends with "suffix".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringEndsWith
-     * @covers PHPUnit_Framework_Assert::stringEndsWith
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringEndsWith2()
-    {
-        $constraint = PHPUnit_Framework_Assert::stringEndsWith('suffix');
-
-        try {
-            $constraint->evaluate('foo', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 'foo' ends with "suffix".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringEndsWith
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::stringEndsWith
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringEndsNotWith()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::stringEndsWith('suffix')
-        );
-
-        $this->assertTrue($constraint->evaluate('foo', '', true));
-        $this->assertFalse($constraint->evaluate('foosuffix', '', true));
-        $this->assertEquals('ends not with "suffix"', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate('foosuffix');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that 'foosuffix' ends not with "suffix".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_StringEndsWith
-     * @covers PHPUnit_Framework_Assert::stringEndsWith
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintStringEndsNotWith2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::stringEndsWith('suffix')
-        );
-
-        try {
-            $constraint->evaluate('foosuffix', 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that 'foosuffix' ends not with "suffix".
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_TraversableContains
-     */
-    public function testConstraintArrayContainsCheckForObjectIdentity()
-    {
-        // Check for primitive type.
-        $constraint = new PHPUnit_Framework_Constraint_TraversableContains('foo', true, true);
-
-        $this->assertFalse($constraint->evaluate(array(0), '', true));
-        $this->assertFalse($constraint->evaluate(array(true), '', true));
-
-        // Default case.
-        $constraint = new PHPUnit_Framework_Constraint_TraversableContains('foo');
-
-        $this->assertTrue($constraint->evaluate(array(0), '', true));
-        $this->assertTrue($constraint->evaluate(array(true), '', true));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_TraversableContains
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintArrayContains()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_TraversableContains('foo');
-
-        $this->assertFalse($constraint->evaluate(array('bar'), '', true));
-        $this->assertTrue($constraint->evaluate(array('foo'), '', true));
-        $this->assertEquals("contains 'foo'", $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(array('bar'));
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that an array contains 'foo'.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_TraversableContains
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintArrayContains2()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_TraversableContains('foo');
-
-        try {
-            $constraint->evaluate(array('bar'), 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that an array contains 'foo'.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_TraversableContains
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintArrayNotContains()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          new PHPUnit_Framework_Constraint_TraversableContains('foo')
-        );
-
-        $this->assertTrue($constraint->evaluate(array('bar'), '', true));
-        $this->assertFalse($constraint->evaluate(array('foo'), '', true));
-        $this->assertEquals("does not contain 'foo'", $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(array('foo'));
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that an array does not contain 'foo'.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_TraversableContains
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintArrayNotContains2()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          new PHPUnit_Framework_Constraint_TraversableContains('foo')
-        );
-
-        try {
-            $constraint->evaluate(array('foo'), 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message
-Failed asserting that an array does not contain 'foo'.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_TraversableContains
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintSplObjectStorageContains()
-    {
-        $object     = new StdClass;
-        $constraint = new PHPUnit_Framework_Constraint_TraversableContains($object);
-        $this->assertStringMatchesFormat("contains stdClass Object &%s ()", $constraint->toString());
-
-        $storage = new SplObjectStorage;
-        $this->assertFalse($constraint->evaluate($storage, '', true));
-
-        $storage->attach($object);
-        $this->assertTrue($constraint->evaluate($storage, '', true));
-
-        try {
-            $constraint->evaluate(new SplObjectStorage);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertStringMatchesFormat(
-              <<<EOF
-Failed asserting that a traversable contains stdClass Object &%x ().
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_TraversableContains
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintSplObjectStorageContains2()
-    {
-        $object     = new StdClass;
-        $constraint = new PHPUnit_Framework_Constraint_TraversableContains($object);
-
-        try {
-            $constraint->evaluate(new SplObjectStorage, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertStringMatchesFormat(
-              <<<EOF
-custom message
-Failed asserting that a traversable contains stdClass Object &%x ().
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::attributeEqualTo
-     * @covers PHPUnit_Framework_Constraint_Attribute
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testAttributeEqualTo()
-    {
-        $object     = new ClassWithNonPublicAttributes;
-        $constraint = PHPUnit_Framework_Assert::attributeEqualTo('foo', 1);
-
-        $this->assertTrue($constraint->evaluate($object, '', true));
-        $this->assertEquals('attribute "foo" is equal to 1', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        $constraint = PHPUnit_Framework_Assert::attributeEqualTo('foo', 2);
-
-        $this->assertFalse($constraint->evaluate($object, '', true));
-
-        try {
-            $constraint->evaluate($object);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that attribute "foo" is equal to 2.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::attributeEqualTo
-     * @covers PHPUnit_Framework_Constraint_Attribute
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testAttributeEqualTo2()
-    {
-        $object     = new ClassWithNonPublicAttributes;
-        $constraint = PHPUnit_Framework_Assert::attributeEqualTo('foo', 2);
-
-        try {
-            $constraint->evaluate($object, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message\nFailed asserting that attribute "foo" is equal to 2.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::attributeEqualTo
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_Constraint_Attribute
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testAttributeNotEqualTo()
-    {
-        $object     = new ClassWithNonPublicAttributes;
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::attributeEqualTo('foo', 2)
-        );
-
-        $this->assertTrue($constraint->evaluate($object, '', true));
-        $this->assertEquals('attribute "foo" is not equal to 2', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::attributeEqualTo('foo', 1)
-        );
-
-        $this->assertFalse($constraint->evaluate($object, '', true));
-
-        try {
-            $constraint->evaluate($object);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that attribute "foo" is not equal to 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::attributeEqualTo
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_Constraint_Attribute
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testAttributeNotEqualTo2()
-    {
-        $object     = new ClassWithNonPublicAttributes;
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          PHPUnit_Framework_Assert::attributeEqualTo('foo', 1)
-        );
-
-        try {
-            $constraint->evaluate($object, 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message\nFailed asserting that attribute "foo" is not equal to 1.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEmpty
-     * @covers PHPUnit_Framework_Constraint::count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsEmpty()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_IsEmpty;
-
-        $this->assertFalse($constraint->evaluate(array('foo'), '', true));
-        $this->assertTrue($constraint->evaluate(array(), '', true));
-        $this->assertFalse($constraint->evaluate(new ArrayObject(array('foo')), '', true));
-        $this->assertTrue($constraint->evaluate(new ArrayObject(array()), '', true));
-        $this->assertEquals('is empty', $constraint->toString());
-        $this->assertEquals(1, count($constraint));
-
-        try {
-            $constraint->evaluate(array('foo'));
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that an array is empty.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_IsEmpty
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintIsEmpty2()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_IsEmpty;
-
-        try {
-            $constraint->evaluate(array('foo'), 'custom message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-custom message\nFailed asserting that an array is empty.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_Count
-     */
-    public function testConstraintCountWithAnArray()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_Count(5);
-
-        $this->assertTrue($constraint->evaluate(array(1, 2, 3, 4, 5), '', true));
-        $this->assertFalse($constraint->evaluate(array(1, 2, 3, 4), '', true));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_Count
-     */
-    public function testConstraintCountWithAnIteratorWhichDoesNotImplementCountable()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_Count(5);
-
-        $this->assertTrue($constraint->evaluate(new TestIterator(array(1, 2, 3, 4, 5)), '', true));
-        $this->assertFalse($constraint->evaluate(new TestIterator(array(1, 2, 3, 4)), '', true));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_Count
-     */
-    public function testConstraintCountWithAnObjectImplementingCountable()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_Count(5);
-
-        $this->assertTrue($constraint->evaluate(new ArrayObject(array(1, 2, 3, 4, 5)), '', true));
-        $this->assertFalse($constraint->evaluate(new ArrayObject(array(1, 2, 3, 4)), '', true));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_Count
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintCountFailing()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_Count(5);
-
-        try {
-            $constraint->evaluate(array(1, 2));
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that actual size 2 matches expected size 5.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_Count
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotCountFailing()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          new PHPUnit_Framework_Constraint_Count(2)
-        );
-
-        try {
-            $constraint->evaluate(array(1, 2));
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that actual size 2 does not match expected size 2.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_SameSize
-     */
-    public function testConstraintSameSizeWithAnArray()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_SameSize(array(1, 2, 3, 4, 5));
-
-        $this->assertTrue($constraint->evaluate(array(6, 7, 8, 9, 10), '', true));
-        $this->assertFalse($constraint->evaluate(array(1, 2, 3, 4), '', true));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_SameSize
-     */
-    public function testConstraintSameSizeWithAnIteratorWhichDoesNotImplementCountable()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_SameSize(new TestIterator(array(1, 2, 3, 4, 5)));
-
-        $this->assertTrue($constraint->evaluate(new TestIterator(array(6, 7, 8, 9, 10)), '', true));
-        $this->assertFalse($constraint->evaluate(new TestIterator(array(1, 2, 3, 4)), '', true));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_SameSize
-     */
-    public function testConstraintSameSizeWithAnObjectImplementingCountable()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_SameSize(new ArrayObject(array(1, 2, 3, 4, 5)));
-
-        $this->assertTrue($constraint->evaluate(new ArrayObject(array(6, 7, 8, 9, 10)), '', true));
-        $this->assertFalse($constraint->evaluate(new ArrayObject(array(1, 2, 3, 4)), '', true));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_SameSize
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintSameSizeFailing()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_SameSize(array(1, 2, 3, 4, 5));
-
-        try {
-            $constraint->evaluate(array(1, 2));
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that actual size 2 matches expected size 5.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_SameSize
-     * @covers PHPUnit_Framework_Constraint_Not
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintNotSameSizeFailing()
-    {
-        $constraint = PHPUnit_Framework_Assert::logicalNot(
-          new PHPUnit_Framework_Constraint_SameSize(array(1, 2))
-        );
-
-        try {
-            $constraint->evaluate(array(3, 4));
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that actual size 2 does not match expected size 2.
-
-EOF
-              ,
-              PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_Exception
-     * @covers PHPUnit_Framework_TestFailure::exceptionToString
-     */
-    public function testConstraintException()
-    {
-        $constraint = new PHPUnit_Framework_Constraint_Exception('FoobarException');
-        $exception = new DummyException('Test');
-        $stackTrace = $exception->getTraceAsString();
-
-        try {
-            $constraint->evaluate($exception);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-              <<<EOF
-Failed asserting that exception of type "DummyException" matches expected exception "FoobarException". Message was: "Test" at
-$stackTrace.
-
-EOF
-                ,
-                PHPUnit_Framework_TestFailure::exceptionToString($e)
-            );
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * Removes spaces in front of newlines
-     *
-     * @param  string $string
-     * @return string
-     */
-    private function trimnl($string)
-    {
-        return preg_replace('/[ ]*\n/', "\n", $string);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/SuiteTest.php b/core/vendor/phpunit/phpunit/tests/Framework/SuiteTest.php
deleted file mode 100644
index 910531d..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/SuiteTest.php
+++ /dev/null
@@ -1,235 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'BeforeAndAfterTest.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'BeforeClassAndAfterClassTest.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'DataProviderSkippedTest.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'DataProviderIncompleteTest.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'InheritedTestCase.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'NoTestCaseClass.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'NoTestCases.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'NotPublicTestCase.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'NotVoidTestCase.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'OverrideTestCase.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'RequirementsClassBeforeClassHookTest.php';
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- * @covers     PHPUnit_Framework_TestSuite
- */
-class Framework_SuiteTest extends PHPUnit_Framework_TestCase
-{
-    protected $result;
-
-    protected function setUp()
-    {
-        $this->result = new PHPUnit_Framework_TestResult;
-    }
-
-    public static function suite()
-    {
-        $suite = new PHPUnit_Framework_TestSuite;
-
-        $suite->addTest(new Framework_SuiteTest('testAddTestSuite'));
-        $suite->addTest(new Framework_SuiteTest('testInheritedTests'));
-        $suite->addTest(new Framework_SuiteTest('testNoTestCases'));
-        $suite->addTest(new Framework_SuiteTest('testNoTestCaseClass'));
-        $suite->addTest(new Framework_SuiteTest('testNotExistingTestCase'));
-        $suite->addTest(new Framework_SuiteTest('testNotPublicTestCase'));
-        $suite->addTest(new Framework_SuiteTest('testNotVoidTestCase'));
-        $suite->addTest(new Framework_SuiteTest('testOneTestCase'));
-        $suite->addTest(new Framework_SuiteTest('testShadowedTests'));
-        $suite->addTest(new Framework_SuiteTest('testBeforeClassAndAfterClassAnnotations'));
-        $suite->addTest(new Framework_SuiteTest('testBeforeAnnotation'));
-        $suite->addTest(new Framework_SuiteTest('testSkippedTestDataProvider'));
-        $suite->addTest(new Framework_SuiteTest('testIncompleteTestDataProvider'));
-        $suite->addTest(new Framework_SuiteTest('testRequirementsBeforeClassHook'));
-        $suite->addTest(new Framework_SuiteTest('testDontSkipInheritedClass'));
-
-        return $suite;
-    }
-
-    public function testAddTestSuite()
-    {
-        $suite = new PHPUnit_Framework_TestSuite(
-            'OneTestCase'
-        );
-
-        $suite->run($this->result);
-
-        $this->assertEquals(1, count($this->result));
-    }
-
-    public function testInheritedTests()
-    {
-        $suite = new PHPUnit_Framework_TestSuite(
-            'InheritedTestCase'
-        );
-
-        $suite->run($this->result);
-
-        $this->assertTrue($this->result->wasSuccessful());
-        $this->assertEquals(2, count($this->result));
-    }
-
-    public function testNoTestCases()
-    {
-        $suite = new PHPUnit_Framework_TestSuite(
-            'NoTestCases'
-        );
-
-        $suite->run($this->result);
-
-        $this->assertTrue(!$this->result->wasSuccessful());
-        $this->assertEquals(1, $this->result->failureCount());
-        $this->assertEquals(1, count($this->result));
-    }
-
-    /**
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testNoTestCaseClass()
-    {
-        $suite = new PHPUnit_Framework_TestSuite('NoTestCaseClass');
-    }
-
-    public function testNotExistingTestCase()
-    {
-        $suite = new Framework_SuiteTest('notExistingMethod');
-
-        $suite->run($this->result);
-
-        $this->assertEquals(0, $this->result->errorCount());
-        $this->assertEquals(1, $this->result->failureCount());
-        $this->assertEquals(1, count($this->result));
-    }
-
-    public function testNotPublicTestCase()
-    {
-        $suite = new PHPUnit_Framework_TestSuite(
-            'NotPublicTestCase'
-        );
-
-        $this->assertEquals(2, count($suite));
-    }
-
-    public function testNotVoidTestCase()
-    {
-        $suite = new PHPUnit_Framework_TestSuite(
-            'NotVoidTestCase'
-        );
-
-        $this->assertEquals(1, count($suite));
-    }
-
-    public function testOneTestCase()
-    {
-        $suite = new PHPUnit_Framework_TestSuite(
-            'OneTestCase'
-        );
-
-        $suite->run($this->result);
-
-        $this->assertEquals(0, $this->result->errorCount());
-        $this->assertEquals(0, $this->result->failureCount());
-        $this->assertEquals(1, count($this->result));
-        $this->assertTrue($this->result->wasSuccessful());
-    }
-
-    public function testShadowedTests()
-    {
-        $suite = new PHPUnit_Framework_TestSuite(
-            'OverrideTestCase'
-        );
-
-        $suite->run($this->result);
-
-        $this->assertEquals(1, count($this->result));
-    }
-
-    public function testBeforeClassAndAfterClassAnnotations()
-    {
-        $suite = new PHPUnit_Framework_TestSuite(
-            'BeforeClassAndAfterClassTest'
-        );
-
-        BeforeClassAndAfterClassTest::resetProperties();
-        $suite->run($this->result);
-
-        $this->assertEquals(1, BeforeClassAndAfterClassTest::$beforeClassWasRun, "@beforeClass method was not run once for the whole suite.");
-        $this->assertEquals(1, BeforeClassAndAfterClassTest::$afterClassWasRun, "@afterClass method was not run once for the whole suite.");
-    }
-
-    public function testBeforeAnnotation()
-    {
-        $test = new PHPUnit_Framework_TestSuite(
-            'BeforeAndAfterTest'
-        );
-
-        BeforeAndAfterTest::resetProperties();
-        $result = $test->run();
-
-        $this->assertEquals(2, BeforeAndAfterTest::$beforeWasRun);
-        $this->assertEquals(2, BeforeAndAfterTest::$afterWasRun);
-    }
-
-    public function testSkippedTestDataProvider()
-    {
-        $suite = new PHPUnit_Framework_TestSuite('DataProviderSkippedTest');
-
-        $suite->run($this->result);
-
-        $this->assertEquals(3, $this->result->count());
-        $this->assertEquals(1, $this->result->skippedCount());
-    }
-
-    public function testIncompleteTestDataProvider()
-    {
-        $suite = new PHPUnit_Framework_TestSuite('DataProviderIncompleteTest');
-
-        $suite->run($this->result);
-
-        $this->assertEquals(3, $this->result->count());
-        $this->assertEquals(1, $this->result->notImplementedCount());
-    }
-
-    public function testRequirementsBeforeClassHook()
-    {
-        $suite = new PHPUnit_Framework_TestSuite(
-            'RequirementsClassBeforeClassHookTest'
-        );
-
-        $suite->run($this->result);
-
-        $this->assertEquals(0, $this->result->errorCount());
-        $this->assertEquals(1, $this->result->skippedCount());
-    }
-
-    public function testDontSkipInheritedClass()
-    {
-        $suite = new PHPUnit_Framework_TestSuite(
-            'DontSkipInheritedClass'
-        );
-
-        $dir = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'Inheritance' . DIRECTORY_SEPARATOR;
-
-        $suite->addTestFile($dir.'InheritanceA.php');
-        $suite->addTestFile($dir.'InheritanceB.php');
-        $result = $suite->run();
-        $this->assertEquals(2, count($result));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/TestCaseTest.php b/core/vendor/phpunit/phpunit/tests/Framework/TestCaseTest.php
deleted file mode 100644
index 477f68a..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/TestCaseTest.php
+++ /dev/null
@@ -1,515 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'NoArgTestCaseTest.php';
-require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'Singleton.php';
-
-$GLOBALS['a']  = 'a';
-$_ENV['b']     = 'b';
-$_POST['c']    = 'c';
-$_GET['d']     = 'd';
-$_COOKIE['e']  = 'e';
-$_SERVER['f']  = 'f';
-$_FILES['g']   = 'g';
-$_REQUEST['h'] = 'h';
-$GLOBALS['i']  = 'i';
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- * @covers     PHPUnit_Framework_TestCase
- */
-class Framework_TestCaseTest extends PHPUnit_Framework_TestCase
-{
-    protected $backupGlobalsBlacklist = array('i', 'singleton');
-
-    /**
-     * Used be testStaticAttributesBackupPre
-     */
-    protected static $_testStatic = 0;
-
-    public function testCaseToString()
-    {
-        $this->assertEquals(
-            'Framework_TestCaseTest::testCaseToString',
-            $this->toString()
-        );
-    }
-
-    public function testSuccess()
-    {
-        $test   = new Success;
-        $result = $test->run();
-
-        $this->assertEquals(0, $result->errorCount());
-        $this->assertEquals(0, $result->failureCount());
-        $this->assertEquals(1, count($result));
-    }
-
-    public function testFailure()
-    {
-        $test   = new Failure;
-        $result = $test->run();
-
-        $this->assertEquals(0, $result->errorCount());
-        $this->assertEquals(1, $result->failureCount());
-        $this->assertEquals(1, count($result));
-    }
-
-    public function testError()
-    {
-        $test   = new Error;
-        $result = $test->run();
-
-        $this->assertEquals(1, $result->errorCount());
-        $this->assertEquals(0, $result->failureCount());
-        $this->assertEquals(1, count($result));
-    }
-
-    public function testExceptionInSetUp()
-    {
-        $test   = new ExceptionInSetUpTest('testSomething');
-        $result = $test->run();
-
-        $this->assertTrue($test->setUp);
-        $this->assertFalse($test->assertPreConditions);
-        $this->assertFalse($test->testSomething);
-        $this->assertFalse($test->assertPostConditions);
-        $this->assertTrue($test->tearDown);
-    }
-
-    public function testExceptionInAssertPreConditions()
-    {
-        $test   = new ExceptionInAssertPreConditionsTest('testSomething');
-        $result = $test->run();
-
-        $this->assertTrue($test->setUp);
-        $this->assertTrue($test->assertPreConditions);
-        $this->assertFalse($test->testSomething);
-        $this->assertFalse($test->assertPostConditions);
-        $this->assertTrue($test->tearDown);
-    }
-
-    public function testExceptionInTest()
-    {
-        $test   = new ExceptionInTest('testSomething');
-        $result = $test->run();
-
-        $this->assertTrue($test->setUp);
-        $this->assertTrue($test->assertPreConditions);
-        $this->assertTrue($test->testSomething);
-        $this->assertFalse($test->assertPostConditions);
-        $this->assertTrue($test->tearDown);
-    }
-
-    public function testExceptionInAssertPostConditions()
-    {
-        $test   = new ExceptionInAssertPostConditionsTest('testSomething');
-        $result = $test->run();
-
-        $this->assertTrue($test->setUp);
-        $this->assertTrue($test->assertPreConditions);
-        $this->assertTrue($test->testSomething);
-        $this->assertTrue($test->assertPostConditions);
-        $this->assertTrue($test->tearDown);
-    }
-
-    public function testExceptionInTearDown()
-    {
-        $test   = new ExceptionInTearDownTest('testSomething');
-        $result = $test->run();
-
-        $this->assertTrue($test->setUp);
-        $this->assertTrue($test->assertPreConditions);
-        $this->assertTrue($test->testSomething);
-        $this->assertTrue($test->assertPostConditions);
-        $this->assertTrue($test->tearDown);
-    }
-
-    public function testNoArgTestCasePasses()
-    {
-        $result = new PHPUnit_Framework_TestResult;
-        $t      = new PHPUnit_Framework_TestSuite('NoArgTestCaseTest');
-
-        $t->run($result);
-
-        $this->assertEquals(1, count($result));
-        $this->assertEquals(0, $result->failureCount());
-        $this->assertEquals(0, $result->errorCount());
-    }
-
-    public function testWasRun()
-    {
-        $test = new WasRun;
-        $test->run();
-
-        $this->assertTrue($test->wasRun);
-    }
-
-    public function testException()
-    {
-        $test = new ThrowExceptionTestCase('test');
-        $test->setExpectedException('RuntimeException');
-
-        $result = $test->run();
-
-        $this->assertEquals(1, count($result));
-        $this->assertTrue($result->wasSuccessful());
-    }
-
-    public function testExceptionWithMessage()
-    {
-        $test = new ThrowExceptionTestCase('test');
-        $test->setExpectedException('RuntimeException', 'A runtime error occurred');
-
-        $result = $test->run();
-
-        $this->assertEquals(1, count($result));
-        $this->assertTrue($result->wasSuccessful());
-    }
-
-    public function testExceptionWithWrongMessage()
-    {
-        $test = new ThrowExceptionTestCase('test');
-        $test->setExpectedException('RuntimeException', 'A logic error occurred');
-
-        $result = $test->run();
-
-        $this->assertEquals(1, $result->failureCount());
-        $this->assertEquals(1, count($result));
-        $this->assertEquals(
-            "Failed asserting that exception message 'A runtime error occurred' contains 'A logic error occurred'.",
-            $test->getStatusMessage()
-        );
-    }
-
-    public function testExceptionWithRegexpMessage()
-    {
-        $test = new ThrowExceptionTestCase('test');
-        $test->setExpectedExceptionRegExp('RuntimeException', '/runtime .*? occurred/');
-
-        $result = $test->run();
-
-        $this->assertEquals(1, count($result));
-        $this->assertTrue($result->wasSuccessful());
-    }
-
-    public function testExceptionWithWrongRegexpMessage()
-    {
-        $test = new ThrowExceptionTestCase('test');
-        $test->setExpectedExceptionRegExp('RuntimeException', '/logic .*? occurred/');
-
-        $result = $test->run();
-
-        $this->assertEquals(1, $result->failureCount());
-        $this->assertEquals(1, count($result));
-        $this->assertEquals(
-            "Failed asserting that exception message 'A runtime error occurred' matches '/logic .*? occurred/'.",
-            $test->getStatusMessage()
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Constraint_ExceptionMessageRegExp
-     */
-    public function testExceptionWithInvalidRegexpMessage()
-    {
-        $test = new ThrowExceptionTestCase('test');
-        $test->setExpectedExceptionRegExp('RuntimeException', '#runtime .*? occurred/'); // wrong delimiter
-
-        $result = $test->run();
-
-        $this->assertEquals(
-            "Invalid expected exception message regex given: '#runtime .*? occurred/'",
-            $test->getStatusMessage()
-        );
-    }
-
-    public function testNoException()
-    {
-        $test = new ThrowNoExceptionTestCase('test');
-        $test->setExpectedException('RuntimeException');
-
-        $result = $test->run();
-
-        $this->assertEquals(1, $result->failureCount());
-        $this->assertEquals(1, count($result));
-    }
-
-    public function testWrongException()
-    {
-        $test = new ThrowExceptionTestCase('test');
-        $test->setExpectedException('InvalidArgumentException');
-
-        $result = $test->run();
-
-        $this->assertEquals(1, $result->failureCount());
-        $this->assertEquals(1, count($result));
-    }
-
-    /**
-     * @backupGlobals enabled
-     */
-    public function testGlobalsBackupPre()
-    {
-        global $a;
-        global $i;
-
-        $this->assertEquals('a', $a);
-        $this->assertEquals('a', $GLOBALS['a']);
-        $this->assertEquals('b', $_ENV['b']);
-        $this->assertEquals('c', $_POST['c']);
-        $this->assertEquals('d', $_GET['d']);
-        $this->assertEquals('e', $_COOKIE['e']);
-        $this->assertEquals('f', $_SERVER['f']);
-        $this->assertEquals('g', $_FILES['g']);
-        $this->assertEquals('h', $_REQUEST['h']);
-        $this->assertEquals('i', $i);
-        $this->assertEquals('i', $GLOBALS['i']);
-
-        $GLOBALS['a']   = 'aa';
-        $GLOBALS['foo'] = 'bar';
-        $_ENV['b']      = 'bb';
-        $_POST['c']     = 'cc';
-        $_GET['d']      = 'dd';
-        $_COOKIE['e']   = 'ee';
-        $_SERVER['f']   = 'ff';
-        $_FILES['g']    = 'gg';
-        $_REQUEST['h']  = 'hh';
-        $GLOBALS['i']   = 'ii';
-
-        $this->assertEquals('aa', $a);
-        $this->assertEquals('aa', $GLOBALS['a']);
-        $this->assertEquals('bar', $GLOBALS['foo']);
-        $this->assertEquals('bb', $_ENV['b']);
-        $this->assertEquals('cc', $_POST['c']);
-        $this->assertEquals('dd', $_GET['d']);
-        $this->assertEquals('ee', $_COOKIE['e']);
-        $this->assertEquals('ff', $_SERVER['f']);
-        $this->assertEquals('gg', $_FILES['g']);
-        $this->assertEquals('hh', $_REQUEST['h']);
-        $this->assertEquals('ii', $i);
-        $this->assertEquals('ii', $GLOBALS['i']);
-    }
-
-    public function testGlobalsBackupPost()
-    {
-        global $a;
-        global $i;
-
-        $this->assertEquals('a', $a);
-        $this->assertEquals('a', $GLOBALS['a']);
-        $this->assertEquals('b', $_ENV['b']);
-        $this->assertEquals('c', $_POST['c']);
-        $this->assertEquals('d', $_GET['d']);
-        $this->assertEquals('e', $_COOKIE['e']);
-        $this->assertEquals('f', $_SERVER['f']);
-        $this->assertEquals('g', $_FILES['g']);
-        $this->assertEquals('h', $_REQUEST['h']);
-        $this->assertEquals('ii', $i);
-        $this->assertEquals('ii', $GLOBALS['i']);
-
-        $this->assertArrayNotHasKey('foo', $GLOBALS);
-    }
-
-    /**
-     * @backupGlobals enabled
-     * @backupStaticAttributes enabled
-     */
-    public function testStaticAttributesBackupPre()
-    {
-        $GLOBALS['singleton'] = Singleton::getInstance();
-        self::$_testStatic = 123;
-    }
-
-    /**
-     * @depends testStaticAttributesBackupPre
-     */
-    public function testStaticAttributesBackupPost()
-    {
-        $this->assertNotSame($GLOBALS['singleton'], Singleton::getInstance());
-        $this->assertSame(0, self::$_testStatic);
-    }
-
-    public function testIsInIsolationReturnsFalse()
-    {
-        $test   = new IsolationTest('testIsInIsolationReturnsFalse');
-        $result = $test->run();
-
-        $this->assertEquals(1, count($result));
-        $this->assertTrue($result->wasSuccessful());
-    }
-
-    public function testIsInIsolationReturnsTrue()
-    {
-        $test   = new IsolationTest('testIsInIsolationReturnsTrue');
-        $test->setRunTestInSeparateProcess(true);
-        $result = $test->run();
-
-        $this->assertEquals(1, count($result));
-        $this->assertTrue($result->wasSuccessful());
-    }
-
-    public function testExpectOutputStringFooActualFoo()
-    {
-        $test   = new OutputTestCase('testExpectOutputStringFooActualFoo');
-        $result = $test->run();
-
-        $this->assertEquals(1, count($result));
-        $this->assertTrue($result->wasSuccessful());
-    }
-
-    public function testExpectOutputStringFooActualBar()
-    {
-        $test   = new OutputTestCase('testExpectOutputStringFooActualBar');
-        $result = $test->run();
-
-        $this->assertEquals(1, count($result));
-        $this->assertFalse($result->wasSuccessful());
-    }
-
-    public function testExpectOutputRegexFooActualFoo()
-    {
-        $test   = new OutputTestCase('testExpectOutputRegexFooActualFoo');
-        $result = $test->run();
-
-        $this->assertEquals(1, count($result));
-        $this->assertTrue($result->wasSuccessful());
-    }
-
-    public function testExpectOutputRegexFooActualBar()
-    {
-        $test   = new OutputTestCase('testExpectOutputRegexFooActualBar');
-        $result = $test->run();
-
-        $this->assertEquals(1, count($result));
-        $this->assertFalse($result->wasSuccessful());
-    }
-
-    public function testSkipsIfRequiresHigherVersionOfPHPUnit()
-    {
-        $test   = new RequirementsTest('testAlwaysSkip');
-        $result = $test->run();
-
-        $this->assertEquals(1, $result->skippedCount());
-        $this->assertEquals(
-            'PHPUnit 1111111 (or later) is required.',
-            $test->getStatusMessage()
-        );
-    }
-
-    public function testSkipsIfRequiresHigherVersionOfPHP()
-    {
-        $test   = new RequirementsTest('testAlwaysSkip2');
-        $result = $test->run();
-
-        $this->assertEquals(1, $result->skippedCount());
-        $this->assertEquals(
-            'PHP 9999999 (or later) is required.',
-            $test->getStatusMessage()
-        );
-    }
-
-    public function testSkipsIfRequiresNonExistingOs()
-    {
-        $test   = new RequirementsTest('testAlwaysSkip3');
-        $result = $test->run();
-
-        $this->assertEquals(1, $result->skippedCount());
-        $this->assertEquals(
-            'Operating system matching /DOESNOTEXIST/i is required.',
-            $test->getStatusMessage()
-        );
-    }
-
-    public function testSkipsIfRequiresNonExistingFunction()
-    {
-        $test   = new RequirementsTest('testNine');
-        $result = $test->run();
-
-        $this->assertEquals(1, $result->skippedCount());
-        $this->assertEquals(
-            'Function testFunc is required.',
-            $test->getStatusMessage()
-        );
-    }
-
-    public function testSkipsIfRequiresNonExistingExtension()
-    {
-        $test   = new RequirementsTest('testTen');
-        $result = $test->run();
-
-        $this->assertEquals(
-            'Extension testExt is required.',
-            $test->getStatusMessage()
-        );
-    }
-
-    public function testSkipsProvidesMessagesForAllSkippingReasons()
-    {
-        $test   = new RequirementsTest('testAllPossibleRequirements');
-        $result = $test->run();
-
-        $this->assertEquals(
-            'PHP 99-dev (or later) is required.' . PHP_EOL .
-            'PHPUnit 9-dev (or later) is required.' . PHP_EOL .
-            'Operating system matching /DOESNOTEXIST/i is required.' . PHP_EOL .
-            'Function testFuncOne is required.' . PHP_EOL .
-            'Function testFuncTwo is required.' . PHP_EOL .
-            'Extension testExtOne is required.' . PHP_EOL .
-            'Extension testExtTwo is required.',
-            $test->getStatusMessage()
-        );
-    }
-
-    public function testRequiringAnExistingMethodDoesNotSkip()
-    {
-        $test   = new RequirementsTest('testExistingMethod');
-        $result = $test->run();
-        $this->assertEquals(0, $result->skippedCount());
-    }
-
-    public function testRequiringAnExistingFunctionDoesNotSkip()
-    {
-        $test   = new RequirementsTest('testExistingFunction');
-        $result = $test->run();
-        $this->assertEquals(0, $result->skippedCount());
-    }
-
-    public function testRequiringAnExistingExtensionDoesNotSkip()
-    {
-        $test   = new RequirementsTest('testExistingExtension');
-        $result = $test->run();
-        $this->assertEquals(0, $result->skippedCount());
-    }
-
-    public function testRequiringAnExistingOsDoesNotSkip()
-    {
-        $test   = new RequirementsTest('testExistingOs');
-        $result = $test->run();
-        $this->assertEquals(0, $result->skippedCount());
-    }
-
-    public function testCurrentWorkingDirectoryIsRestored()
-    {
-        $expectedCwd = getcwd();
-
-        $test = new ChangeCurrentWorkingDirectoryTest('testSomethingThatChangesTheCwd');
-        $test->run();
-
-        $this->assertSame($expectedCwd, getcwd());
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/TestFailureTest.php b/core/vendor/phpunit/phpunit/tests/Framework/TestFailureTest.php
deleted file mode 100644
index 2ac01b4..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/TestFailureTest.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      File available since Release 3.7.20
- */
-class Framework_TestFailureTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers PHPUnit_Framework_TestFailure::toString
-     */
-    public function testToString()
-    {
-        $test = new self(__FUNCTION__);
-        $exception = new PHPUnit_Framework_Exception('message');
-        $failure = new PHPUnit_Framework_TestFailure($test, $exception);
-
-        $this->assertEquals(__METHOD__ . ': message', $failure->toString());
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/TestImplementorTest.php b/core/vendor/phpunit/phpunit/tests/Framework/TestImplementorTest.php
deleted file mode 100644
index a882fe0..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/TestImplementorTest.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- */
-class Framework_TestImplementorTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers PHPUnit_Framework_TestCase
-     */
-    public function testSuccessfulRun()
-    {
-        $result = new PHPUnit_Framework_TestResult;
-
-        $test = new DoubleTestCase(new Success);
-        $test->run($result);
-
-        $this->assertEquals(count($test), count($result));
-        $this->assertEquals(0, $result->errorCount());
-        $this->assertEquals(0, $result->failureCount());
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/TestListenerTest.php b/core/vendor/phpunit/phpunit/tests/Framework/TestListenerTest.php
deleted file mode 100644
index f683ac2..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/TestListenerTest.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- * @covers     PHPUnit_Framework_TestCase
- */
-class Framework_TestListenerTest extends PHPUnit_Framework_TestCase implements PHPUnit_Framework_TestListener
-{
-    protected $endCount;
-    protected $errorCount;
-    protected $failureCount;
-    protected $notImplementedCount;
-    protected $riskyCount;
-    protected $skippedCount;
-    protected $result;
-    protected $startCount;
-
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->errorCount++;
-    }
-
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $this->failureCount++;
-    }
-
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->notImplementedCount++;
-    }
-
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->riskyCount++;
-    }
-
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->skippedCount++;
-    }
-
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        $this->startCount++;
-    }
-
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        $this->endCount++;
-    }
-
-    protected function setUp()
-    {
-        $this->result = new PHPUnit_Framework_TestResult;
-        $this->result->addListener($this);
-
-        $this->endCount            = 0;
-        $this->failureCount        = 0;
-        $this->notImplementedCount = 0;
-        $this->riskyCount          = 0;
-        $this->skippedCount        = 0;
-        $this->startCount          = 0;
-    }
-
-    public function testError()
-    {
-        $test = new Error;
-        $test->run($this->result);
-
-        $this->assertEquals(1, $this->errorCount);
-        $this->assertEquals(1, $this->endCount);
-    }
-
-    public function testFailure()
-    {
-        $test = new Failure;
-        $test->run($this->result);
-
-        $this->assertEquals(1, $this->failureCount);
-        $this->assertEquals(1, $this->endCount);
-    }
-
-    public function testStartStop()
-    {
-        $test = new Success;
-        $test->run($this->result);
-
-        $this->assertEquals(1, $this->startCount);
-        $this->assertEquals(1, $this->endCount);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/1021.phpt b/core/vendor/phpunit/phpunit/tests/Regression/1021.phpt
deleted file mode 100644
index cae0705..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/1021.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-#1021: Depending on a test that uses a data provider does not work
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue1021Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1021/Issue1021Test.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/1021/Issue1021Test.php b/core/vendor/phpunit/phpunit/tests/Regression/1021/Issue1021Test.php
deleted file mode 100644
index 5814e94..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/1021/Issue1021Test.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-class Issue1021Test extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provider
-     */
-    public function testSomething($data)
-    {
-        $this->assertTrue($data);
-    }
-
-    /**
-     * @depends testSomething
-     */
-    public function testSomethingElse()
-    {
-    }
-
-    public function provider()
-    {
-        return array(array(true));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/523.phpt b/core/vendor/phpunit/phpunit/tests/Regression/523.phpt
deleted file mode 100644
index 6f2dd26..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/523.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-#523: assertAttributeEquals does not work with classes extending ArrayIterator
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue523Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/523/Issue523Test.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/523/Issue523Test.php b/core/vendor/phpunit/phpunit/tests/Regression/523/Issue523Test.php
deleted file mode 100644
index 80124f1..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/523/Issue523Test.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-class Issue523Test extends PHPUnit_Framework_TestCase
-{
-    public function testAttributeEquals()
-    {
-        $this->assertAttributeEquals('foo', 'field', new Issue523());
-    }
-};
-
-class Issue523 extends ArrayIterator
-{
-    protected $field = 'foo';
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/578.phpt b/core/vendor/phpunit/phpunit/tests/Regression/578.phpt
deleted file mode 100644
index 4f12821..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/578.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-#578: Double printing of trace line for exceptions from notices and warnings
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue578Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/578/Issue578Test.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-EEE
-
-Time: %s, Memory: %sMb
-
-There were 3 errors:
-
-1) Issue578Test::testNoticesDoublePrintStackTrace
-Invalid error type specified
-
-%sIssue578Test.php:%i
-
-2) Issue578Test::testWarningsDoublePrintStackTrace
-Invalid error type specified
-
-%sIssue578Test.php:%i
-
-3) Issue578Test::testUnexpectedExceptionsPrintsCorrectly
-Exception: Double printed exception
-
-%sIssue578Test.php:%i
-
-FAILURES!
-Tests: 3, Assertions: 0, Errors: 3.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/578/Issue578Test.php b/core/vendor/phpunit/phpunit/tests/Regression/578/Issue578Test.php
deleted file mode 100644
index 262d97f..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/578/Issue578Test.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-class Issue578Test extends PHPUnit_Framework_TestCase
-{
-    public function testNoticesDoublePrintStackTrace()
-    {
-        $this->iniSet('error_reporting', E_ALL | E_NOTICE);
-        trigger_error('Stack Trace Test Notice', E_NOTICE);
-    }
-
-    public function testWarningsDoublePrintStackTrace()
-    {
-        $this->iniSet('error_reporting', E_ALL | E_NOTICE);
-        trigger_error('Stack Trace Test Notice', E_WARNING);
-    }
-
-    public function testUnexpectedExceptionsPrintsCorrectly()
-    {
-        throw new Exception('Double printed exception');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/684.phpt b/core/vendor/phpunit/phpunit/tests/Regression/684.phpt
deleted file mode 100644
index e3f8360..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/684.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-#684: Unable to find test class when no test methods exists
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue684Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/684/Issue684Test.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Warning
-No tests found in class "Foo_Bar_Issue684Test".
-
-FAILURES!
-Tests: 1, Assertions: 0, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/684/Issue684Test.php b/core/vendor/phpunit/phpunit/tests/Regression/684/Issue684Test.php
deleted file mode 100644
index e8e5d87..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/684/Issue684Test.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-class Foo_Bar_Issue684Test extends PHPUnit_Framework_TestCase
-{
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/783.phpt b/core/vendor/phpunit/phpunit/tests/Regression/783.phpt
deleted file mode 100644
index 920bf93..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/783.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-#783: Tests getting executed twice when using multiple groups
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--group';
-$_SERVER['argv'][3] = 'foo,bar';
-$_SERVER['argv'][4] = 'ParentSuite';
-$_SERVER['argv'][5] = dirname(__FILE__).'/783/ParentSuite.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 0 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/783/ChildSuite.php b/core/vendor/phpunit/phpunit/tests/Regression/783/ChildSuite.php
deleted file mode 100644
index 8bac514..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/783/ChildSuite.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-require_once 'OneTest.php';
-require_once 'TwoTest.php';
-
-class ChildSuite
-{
-    public static function suite()
-    {
-        $suite = new PHPUnit_Framework_TestSuite('Child');
-        $suite->addTestSuite('OneTest');
-        $suite->addTestSuite('TwoTest');
-
-        return $suite;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/783/OneTest.php b/core/vendor/phpunit/phpunit/tests/Regression/783/OneTest.php
deleted file mode 100644
index 3daa91b..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/783/OneTest.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-/**
-* @group foo
-*/
-class OneTest extends PHPUnit_Framework_TestCase
-{
-    public function testSomething()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/783/ParentSuite.php b/core/vendor/phpunit/phpunit/tests/Regression/783/ParentSuite.php
deleted file mode 100644
index 6dd63e2..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/783/ParentSuite.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-require_once 'ChildSuite.php';
-
-class ParentSuite
-{
-    public static function suite()
-    {
-        $suite = new PHPUnit_Framework_TestSuite('Parent');
-        $suite->addTest(ChildSuite::suite());
-
-        return $suite;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/783/TwoTest.php b/core/vendor/phpunit/phpunit/tests/Regression/783/TwoTest.php
deleted file mode 100644
index 8fa9958..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/783/TwoTest.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-/**
-* @group bar
-*/
-class TwoTest extends PHPUnit_Framework_TestCase
-{
-    public function testSomething()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149.phpt
deleted file mode 100644
index 01525dc..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-GH-1149: Test swallows output buffer when run in a separate process
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue1149Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1149/Issue1149Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.1.2
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149/Issue1149Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149/Issue1149Test.php
deleted file mode 100644
index 01ac870..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149/Issue1149Test.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-class Issue1149Test extends PHPUnit_Framework_TestCase
-{
-    public function testOne()
-    {
-        $this->assertTrue(true);
-        print '1';
-    }
-
-    /**
-     * @runInSeparateProcess
-     */
-    public function testTwo()
-    {
-        $this->assertTrue(true);
-        print '2';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216.phpt
deleted file mode 100644
index 004d440..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-GH-1216: PHPUnit bootstrap must take globals vars even when the file is specified in command line
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--configuration';
-$_SERVER['argv'][2] = dirname(__FILE__).'/1216/phpunit1216.xml';
-$_SERVER['argv'][3] = '--debug';
-$_SERVER['argv'][4] = '--bootstrap';
-$_SERVER['argv'][5] = dirname(__FILE__).'/1216/bootstrap1216.php';
-$_SERVER['argv'][6] = dirname(__FILE__) . '/1216/Issue1216Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Configuration read from %s
-
-
-Starting test 'Issue1216Test::testConfigAvailableInBootstrap'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/Issue1216Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/Issue1216Test.php
deleted file mode 100644
index cfceaf5..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/Issue1216Test.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Issue1216Test extends PHPUnit_Framework_TestCase
-{
-    public function testConfigAvailableInBootstrap()
-    {
-        $this->assertTrue($_ENV['configAvailableInBootstrap']);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/bootstrap1216.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/bootstrap1216.php
deleted file mode 100644
index cec2724..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/bootstrap1216.php
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-$_ENV['configAvailableInBootstrap'] = isset($_ENV['loadedFromConfig']);
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/phpunit1216.xml b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/phpunit1216.xml
deleted file mode 100644
index c1cc9bd..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/phpunit1216.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<phpunit>
-    <testsuite name="Github issue 1216">
-        <file>Issue1216Test.php</file>
-    </testsuite>
-    <php>
-        <env name="loadedFromConfig" value="1"/>
-    </php>
-</phpunit>
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265.phpt
deleted file mode 100644
index ae86561..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-GH-1265: Could not use "PHPUnit_Runner_StandardTestSuiteLoader" as loader
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--configuration';
-$_SERVER['argv'][2] = dirname(__FILE__).'/1265/phpunit1265.xml';
-$_SERVER['argv'][3] = 'Issue1265Test';
-$_SERVER['argv'][4] = dirname(__FILE__).'/1265/Issue1265Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Configuration read from %s
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/Issue1265Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/Issue1265Test.php
deleted file mode 100644
index 68d71b3..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/Issue1265Test.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Issue1265Test extends PHPUnit_Framework_TestCase
-{
-    public function testTrue()
-    {
-        $this->assertTrue(true);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/phpunit1265.xml b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/phpunit1265.xml
deleted file mode 100644
index 27fdd52..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/phpunit1265.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<phpunit testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader">
-</phpunit>
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330.phpt
deleted file mode 100644
index 747ea5a..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-GH-1330: Allow non-ambiguous shortened longopts
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--deb';
-$_SERVER['argv'][2] = '--config';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1330/phpunit1330.xml';
-$_SERVER['argv'][4] = 'Issue1330Test';
-$_SERVER['argv'][5] = dirname(__FILE__).'/1330/Issue1330Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Configuration read from %s
-
-
-Starting test 'Issue1330Test::testTrue'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/Issue1330Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/Issue1330Test.php
deleted file mode 100644
index 0829cb9..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/Issue1330Test.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Issue1330Test extends PHPUnit_Framework_TestCase
-{
-    public function testTrue()
-    {
-        $this->assertTrue(PHPUNIT_1330);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/phpunit1330.xml b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/phpunit1330.xml
deleted file mode 100644
index a61e0cc..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/phpunit1330.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<phpunit>
-  <php>
-    <const name="PHPUNIT_1330" value="true"/>
-  </php>
-</phpunit>
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335.phpt
deleted file mode 100644
index 31b8e05..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-GH-1335: exportVariable multiple backslash problem
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--bootstrap';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1335/bootstrap1335.php';
-$_SERVER['argv'][4] = dirname(__FILE__).'/1335/Issue1335Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-............
-
-Time: %s, Memory: %sMb
-
-OK (12 tests, 12 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/Issue1335Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/Issue1335Test.php
deleted file mode 100644
index 218cf7e..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/Issue1335Test.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-/**
- * @runTestsInSeparateProcesses
- * @preserveGlobalState enabled
- */
-class Issue1335Test extends PHPUnit_Framework_TestCase
-{
-    public function testGlobalString()
-    {
-        $this->assertEquals("Hello", $GLOBALS['globalString']);
-    }
-
-    public function testGlobalIntTruthy()
-    {
-        $this->assertEquals(1, $GLOBALS['globalIntTruthy']);
-    }
-
-    public function testGlobalIntFalsey()
-    {
-        $this->assertEquals(0, $GLOBALS['globalIntFalsey']);
-    }
-
-    public function testGlobalFloat()
-    {
-        $this->assertEquals(1.123, $GLOBALS['globalFloat']);
-    }
-
-    public function testGlobalBoolTrue()
-    {
-        $this->assertEquals(true, $GLOBALS['globalBoolTrue']);
-    }
-
-    public function testGlobalBoolFalse()
-    {
-        $this->assertEquals(false, $GLOBALS['globalBoolFalse']);
-    }
-
-    public function testGlobalNull()
-    {
-        $this->assertEquals(null, $GLOBALS['globalNull']);
-    }
-
-    public function testGlobalArray()
-    {
-        $this->assertEquals(array("foo"), $GLOBALS['globalArray']);
-    }
-
-    public function testGlobalNestedArray()
-    {
-        $this->assertEquals(array(array("foo")), $GLOBALS['globalNestedArray']);
-    }
-
-    public function testGlobalObject()
-    {
-        $this->assertEquals((object)array("foo"=>"bar"), $GLOBALS['globalObject']);
-    }
-
-    public function testGlobalObjectWithBackSlashString()
-    {
-        $this->assertEquals((object)array("foo"=>"back\\slash"), $GLOBALS['globalObjectWithBackSlashString']);
-    }
-
-    public function testGlobalObjectWithDoubleBackSlashString()
-    {
-        $this->assertEquals((object)array("foo"=>"back\\\\slash"), $GLOBALS['globalObjectWithDoubleBackSlashString']);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/bootstrap1335.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/bootstrap1335.php
deleted file mode 100644
index 6435677..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/bootstrap1335.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-$globalString = "Hello";
-$globalIntTruthy = 1;
-$globalIntFalsey = 0;
-$globalFloat = 1.123;
-$globalBoolTrue = true;
-$globalBoolFalse = false;
-$globalNull = null;
-$globalArray = array("foo");
-$globalNestedArray = array(array("foo"));
-$globalObject = (object)array("foo"=>"bar");
-$globalObjectWithBackSlashString = (object)array("foo"=>"back\\slash");
-$globalObjectWithDoubleBackSlashString = (object)array("foo"=>"back\\\\slash");
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337.phpt
deleted file mode 100644
index d97ba4f..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-GH-1337: Data Provider with \ at the end of the name breaks with process isolation
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'Issue1337Test';
-$_SERVER['argv'][4] = dirname(__FILE__).'/1337/Issue1337Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337/Issue1337Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337/Issue1337Test.php
deleted file mode 100644
index 44a2fce..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337/Issue1337Test.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-class Issue1337Test extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider dataProvider
-     */
-    public function testProvider($a)
-    {
-        $this->assertTrue($a);
-    }
-
-    public function dataProvider()
-    {
-        return array(
-          'c:\\'=>array(true),
-          0.9=>array(true)
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1340.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1340.phpt
deleted file mode 100644
index 0778f97..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1340.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-GH-1340: Process isolation blocks infinitely upon fatal error
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '-d';
-$_SERVER['argv'][3] = 'error_log=';
-$_SERVER['argv'][4] = 'Issue1340Test';
-$_SERVER['argv'][5] = dirname(__FILE__).'/1340/Issue1340Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-%A
-.E.EE
-
-Time: %s, Memory: %sMb
-
-There were 3 errors:
-
-1) Issue1340Test::testLargeStderrOutputDoesNotBlockInIsolation
-PHPUnit_Framework_Exception: testLargeStderrOutputDoesNotBlockInIsolation: stderr:%d
-%A
-2) Issue1340Test::testPhpNoticeWithStderrOutputIsAnError
-PHPUnit_Framework_Exception: shutdown: stderr:%d
-%A
-3) Issue1340Test::testFatalErrorDoesNotPass
-PHPUnit_Framework_Exception: Fatal error: Call to undefined function undefined_function() in %s on line %d
-%A
-shutdown: stderr:%d
-%A
-FAILURES!
-Tests: 5, Assertions: 3, Errors: 3.
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1340/Issue1340Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1340/Issue1340Test.php
deleted file mode 100644
index 19c4fbd..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1340/Issue1340Test.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-/**
- * @see https://bugs.php.net/bug.php?id=51800
- */
-class Issue1340Test extends PHPUnit_Framework_TestCase
-{
-    private static function get4KB()
-    {
-        return str_repeat('1', 4096 + 1);
-    }
-
-    /**
-     * Also fails despite no isolation, because a phpt test is executed in
-     * subprocess on its own.
-     */
-    public function testLargeStderrOutputDoesNotBlock()
-    {
-        // STDERR of a phpt test is not caught/validated at this point, so this
-        // error output does not cause this test to fail.
-        // @see https://github.com/sebastianbergmann/phpunit/issues/1169
-        error_log("\n" . __FUNCTION__ . ": stderr:" . self::get4KB() . "\n");
-        $this->assertTrue(true);
-    }
-
-    /**
-     * @runInSeparateProcess
-     */
-    public function testLargeStderrOutputDoesNotBlockInIsolation()
-    {
-        error_log("\n" . __FUNCTION__ . ": stderr:" . self::get4KB() . "\n");
-        $this->assertTrue(true);
-    }
-
-    /**
-     * @runInSeparateProcess
-     * @expectedException \PHPUnit_Framework_Error_Notice
-     * @expectedExceptionMessage Undefined variable: foo
-     */
-    public function testPhpNoticeIsCaught()
-    {
-        $bar = $foo['foo'];
-    }
-
-    /**
-     * @runInSeparateProcess
-     * @expectedException \PHPUnit_Framework_Error_Notice
-     * @expectedExceptionMessage Undefined variable: foo
-     */
-    public function testPhpNoticeWithStderrOutputIsAnError()
-    {
-        register_shutdown_function(__CLASS__ . '::onShutdown');
-        $bar = $foo['foo'];
-    }
-
-    /**
-     * @runInSeparateProcess
-     */
-    public function testFatalErrorDoesNotPass()
-    {
-        register_shutdown_function(__CLASS__ . '::onShutdown');
-        $undefined = 'undefined_function';
-        $undefined();
-    }
-
-    public static function onShutdown()
-    {
-        echo "\nshutdown: stdout:", self::get4KB(), "\n";
-        error_log("\nshutdown: stderr:" . self::get4KB());
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348.phpt
deleted file mode 100644
index e1892ba..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348.phpt
+++ /dev/null
@@ -1,35 +0,0 @@
---TEST--
-GH-1348: STDOUT/STDERR IO streams should exist in process isolation
---SKIPIF--
-<?php
-if (defined('HHVM_VERSION'))
-    print "skip: PHP runtime required";
-?>
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][] = '--report-useless-tests';
-$_SERVER['argv'][] = '--process-isolation';
-$_SERVER['argv'][] = 'Issue1348Test';
-$_SERVER['argv'][] = __DIR__ . '/1348/Issue1348Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-STDOUT does not break test result
-E
-
-Time: %s, Memory: %sMb
-
-There was 1 error:
-
-1) Issue1348Test::testSTDERR
-PHPUnit_Framework_Exception: STDERR works as usual.
-
-FAILURES!
-Tests: 2, Assertions: 1, Errors: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348/Issue1348Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348/Issue1348Test.php
deleted file mode 100644
index d3c82f0..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348/Issue1348Test.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-class Issue1348Test extends PHPUnit_Framework_TestCase
-{
-    public function testSTDOUT()
-    {
-        fwrite(STDOUT, "\nSTDOUT does not break test result\n");
-        $this->assertTrue(true);
-    }
-
-    public function testSTDERR()
-    {
-        fwrite(STDERR, 'STDERR works as usual.');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351.phpt
deleted file mode 100644
index da285fe..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351.phpt
+++ /dev/null
@@ -1,48 +0,0 @@
---TEST--
-GH-1351: Test result does not serialize test class in process isolation
---SKIPIF--
-<?php
-if (!extension_loaded('pdo') || !in_array('sqlite', PDO::getAvailableDrivers())) {
-    print 'skip: PDO_SQLITE is required';
-}
-?>
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'Issue1351Test';
-$_SERVER['argv'][4] = __DIR__ . '/1351/Issue1351Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F.E.E
-
-Time: %s, Memory: %sMb
-
-There were 2 errors:
-
-1) Issue1351Test::testExceptionPre
-RuntimeException: Expected rethrown exception.
-%A
-Caused by
-LogicException: Expected exception.
-%A
-
-2) Issue1351Test::testPhpCoreLanguageException
-PDOException: SQLSTATE[HY000]: General error: 1 no such table: php_wtf
-%A
-
---
-
-There was 1 failure:
-
-1) Issue1351Test::testFailurePre
-Expected failure.
-%A
-FAILURES!
-Tests: 5, Assertions: 5, Failures: 1, Errors: 2.
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/ChildProcessClass1351.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/ChildProcessClass1351.php
deleted file mode 100644
index 24c0537..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/ChildProcessClass1351.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-class ChildProcessClass1351
-{
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/Issue1351Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/Issue1351Test.php
deleted file mode 100644
index f688c55..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/Issue1351Test.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-class Issue1351Test extends PHPUnit_Framework_TestCase
-{
-    protected $instance;
-
-    /**
-     * @runInSeparateProcess
-     */
-    public function testFailurePre()
-    {
-        $this->instance = new ChildProcessClass1351();
-        $this->assertFalse(true, 'Expected failure.');
-    }
-
-    public function testFailurePost()
-    {
-        $this->assertNull($this->instance);
-        $this->assertFalse(class_exists('ChildProcessClass1351', false), 'ChildProcessClass1351 is not loaded.');
-    }
-
-    /**
-     * @runInSeparateProcess
-     */
-    public function testExceptionPre()
-    {
-        $this->instance = new ChildProcessClass1351();
-        try {
-            throw new LogicException('Expected exception.');
-        } catch (LogicException $e) {
-            throw new RuntimeException('Expected rethrown exception.', 0, $e);
-        }
-    }
-
-    public function testExceptionPost()
-    {
-        $this->assertNull($this->instance);
-        $this->assertFalse(class_exists('ChildProcessClass1351', false), 'ChildProcessClass1351 is not loaded.');
-    }
-
-    public function testPhpCoreLanguageException()
-    {
-        // User-space code cannot instantiate a PDOException with a string code,
-        // so trigger a real one.
-        $connection = new PDO('sqlite::memory:');
-        $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-        $connection->query("DELETE FROM php_wtf WHERE exception_code = 'STRING'");
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374.phpt
deleted file mode 100644
index c994f56..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-GH-1374: tearDown() is called despite unmet requirements
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue1374Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1374/Issue1374Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-S
-
-Time: %s, Memory: %sMb
-
-OK, but incomplete, skipped, or risky tests!
-Tests: 1, Assertions: 0, Skipped: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374/Issue1374Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374/Issue1374Test.php
deleted file mode 100644
index ad6a3bf..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374/Issue1374Test.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/**
- * @requires extension I_DO_NOT_EXIST
- */
-class Issue1374Test extends PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        print __FUNCTION__;
-    }
-
-    public function testSomething()
-    {
-        $this->fail('This should not be reached');
-    }
-
-    protected function tearDown()
-    {
-        print __FUNCTION__;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437.phpt
deleted file mode 100644
index c3b2e25..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-GH-1437: Risky test messages mask failures
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue1437Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1437/Issue1437Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue1437Test::testFailure
-Failed asserting that false is true.
-
-%sIssue1437Test.php:%i
-
-FAILURES!
-Tests: 1, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437/Issue1437Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437/Issue1437Test.php
deleted file mode 100644
index bff4b20..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437/Issue1437Test.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-class Issue1437Test extends PHPUnit_Framework_TestCase
-{
-    public function testFailure()
-    {
-        ob_start();
-        $this->assertTrue(false);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1468.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1468.phpt
deleted file mode 100644
index 23c410b..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1468.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-GH-1468: Incomplete and @todo annotated tests are counted twice
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--disallow-todo-tests';
-$_SERVER['argv'][3] = 'Issue1468Test';
-$_SERVER['argv'][4] = __DIR__ . '/1468/Issue1468Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-I
-
-Time: %s, Memory: %sMb
-
-OK, but incomplete, skipped, or risky tests!
-Tests: 1, Assertions: 0, Incomplete: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1468/Issue1468Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1468/Issue1468Test.php
deleted file mode 100644
index 535b25b..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1468/Issue1468Test.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class Issue1468Test extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @todo Implement this test
-     */
-    public function testFailure()
-    {
-        $this->markTestIncomplete();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1471.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1471.phpt
deleted file mode 100644
index 631d6e6..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1471.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-GH-1471: Output made while test is running is printed although expectOutputString() is used when an assertion fails
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue1471Test';
-$_SERVER['argv'][3] = __DIR__ . '/1471/Issue1471Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue1471Test::testFailure
-Failed asserting that false is true.
-
-%s/Issue1471Test.php:10
-
-FAILURES!
-Tests: 1, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1471/Issue1471Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1471/Issue1471Test.php
deleted file mode 100644
index 6a09416..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1471/Issue1471Test.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class Issue1471Test extends PHPUnit_Framework_TestCase
-{
-    public function testFailure()
-    {
-        $this->expectOutputString('*');
-
-        print "*";
-
-        $this->assertTrue(false);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1472.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1472.phpt
deleted file mode 100644
index 3e605b4..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1472.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-GH-1472: assertEqualXMLStructure modifies the tested elements
---SKIPIF--
-<?php
-// See: https://github.com/facebook/hhvm/issues/4669
-if (defined('HHVM_VERSION')) {
-    print 'skip: HHVM does not support cloning DOM nodes';
-}
-?>
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue1472Test';
-$_SERVER['argv'][3] = dirname(__FILE__) . '/1472/Issue1472Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 4 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1472/Issue1472Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1472/Issue1472Test.php
deleted file mode 100644
index a392773..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1472/Issue1472Test.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-class Issue1472Test extends PHPUnit_Framework_TestCase
-{
-    public function testAssertEqualXMLStructure()
-    {
-        $doc = new DOMDocument;
-        $doc->loadXML('<root><label>text content</label></root>');
-
-        $xpath = new DOMXPath($doc);
-
-        $labelElement = $doc->getElementsByTagName('label')->item(0);
-
-        $this->assertEquals(1, $xpath->evaluate('count(//label[text() = "text content"])'));
-
-        $expectedElmt = $doc->createElement('label', 'text content');
-        $this->assertEqualXMLStructure($expectedElmt, $labelElement);
-
-        // the following assertion fails, even though it passed before - which is due to the assertEqualXMLStructure() has modified the $labelElement
-        $this->assertEquals(1, $xpath->evaluate('count(//label[text() = "text content"])'));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1570.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1570.phpt
deleted file mode 100644
index a94b961..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1570.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-GH-1570: Test that prints output is marked as failure and not as risky when --disallow-test-output is used
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--disallow-test-output';
-$_SERVER['argv'][3] = 'Issue1570Test';
-$_SERVER['argv'][4] = dirname(__FILE__) . '/1570/Issue1570Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-R*
-
-Time: %s, Memory: %sMb
-
-OK, but incomplete, skipped, or risky tests!
-Tests: 1, Assertions: 0, Risky: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1570/Issue1570Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1570/Issue1570Test.php
deleted file mode 100644
index f310363..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1570/Issue1570Test.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Issue1570Test extends PHPUnit_Framework_TestCase
-{
-    public function testOne()
-    {
-        print "*";
-    }
-}
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/244.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/244.phpt
deleted file mode 100644
index 29be767..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/244.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-GH-244: Expected Exception should support string codes
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'Issue244Test';
-$_SERVER['argv'][4] = dirname(__FILE__).'/244/Issue244Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.FFF
-
-Time: %s, Memory: %sMb
-
-There were 3 failures:
-
-1) Issue244Test::testFails
-Failed asserting that '123StringCode' is equal to expected exception code 'OtherString'.
-
-2) Issue244Test::testFailsTooIfExpectationIsANumber
-Failed asserting that '123StringCode' is equal to expected exception code 123.
-
-3) Issue244Test::testFailsTooIfExceptionCodeIsANumber
-Failed asserting that 123 is equal to expected exception code '123String'.
-
-FAILURES!
-Tests: 4, Assertions: 8, Failures: 3.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/244/Issue244Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/244/Issue244Test.php
deleted file mode 100644
index 621c4cf..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/244/Issue244Test.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-class Issue244Test extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException Issue244Exception
-     * @expectedExceptionCode 123StringCode
-     */
-    public function testWorks()
-    {
-        throw new Issue244Exception;
-    }
-
-    /**
-     * @expectedException Issue244Exception
-     * @expectedExceptionCode OtherString
-     */
-    public function testFails()
-    {
-        throw new Issue244Exception;
-    }
-
-    /**
-     * @expectedException Issue244Exception
-     * @expectedExceptionCode 123
-     */
-    public function testFailsTooIfExpectationIsANumber()
-    {
-        throw new Issue244Exception;
-    }
-
-    /**
-     * @expectedException Issue244ExceptionIntCode
-     * @expectedExceptionCode 123String
-     */
-    public function testFailsTooIfExceptionCodeIsANumber()
-    {
-        throw new Issue244ExceptionIntCode;
-    }
-}
-
-class Issue244Exception extends Exception
-{
-    public function __construct()
-    {
-        $this->code = '123StringCode';
-    }
-}
-
-class Issue244ExceptionIntCode extends Exception
-{
-    public function __construct()
-    {
-        $this->code = 123;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322.phpt
deleted file mode 100644
index 1dfa805..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-GH-322: group commandline option should override group/exclude setting in phpunit.xml
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--configuration';
-$_SERVER['argv'][2] = dirname(__FILE__).'/322/phpunit322.xml';
-$_SERVER['argv'][3] = '--debug';
-$_SERVER['argv'][4] = '--group';
-$_SERVER['argv'][5] = 'one';
-$_SERVER['argv'][6] = 'Issue322Test';
-$_SERVER['argv'][7] = dirname(__FILE__).'/322/Issue322Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Configuration read from %s
-
-
-Starting test 'Issue322Test::testOne'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 0 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322/Issue322Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322/Issue322Test.php
deleted file mode 100644
index 618bcaa..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322/Issue322Test.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-class Issue322Test extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @group one
-     */
-    public function testOne()
-    {
-    }
-
-    /**
-     * @group two
-     */
-    public function testTwo()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322/phpunit322.xml b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322/phpunit322.xml
deleted file mode 100644
index e3b2948..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322/phpunit322.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<phpunit>
-  <testsuite name="My Test Suite">
-    <file>Test.php</file>
-  </testsuite>
-
-  <groups>
-    <exclude>
-      <group>one</group>
-    </exclude>
-  </groups>
-</phpunit>
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/433.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/433.phpt
deleted file mode 100644
index de247c4..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/433.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-GH-433: expectOutputString not completely working as expected
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue433Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/433/Issue433Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue433Test::testNotMatchingOutput
-Failed asserting that two strings are equal.
---- Expected
-+++ Actual
-@@ @@
--'foo'
-+'bar'
-
-FAILURES!
-Tests: 3, Assertions: 3, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/433/Issue433Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/433/Issue433Test.php
deleted file mode 100644
index e0a91b3..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/433/Issue433Test.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-class Issue433Test extends PHPUnit_Framework_TestCase
-{
-    public function testOutputWithExpectationBefore()
-    {
-        $this->expectOutputString('test');
-        print 'test';
-    }
-
-    public function testOutputWithExpectationAfter()
-    {
-        print 'test';
-        $this->expectOutputString('test');
-    }
-
-    public function testNotMatchingOutput()
-    {
-        print 'bar';
-        $this->expectOutputString('foo');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/445.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/445.phpt
deleted file mode 100644
index 8041d0b..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/445.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-GH-455: expectOutputString not working in strict mode
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--disallow-test-output';
-$_SERVER['argv'][3] = 'Issue445Test';
-$_SERVER['argv'][4] = dirname(__FILE__).'/445/Issue445Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue445Test::testNotMatchingOutput
-Failed asserting that two strings are equal.
---- Expected
-+++ Actual
-@@ @@
--'foo'
-+'bar'
-
-FAILURES!
-Tests: 3, Assertions: 3, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/445/Issue445Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/445/Issue445Test.php
deleted file mode 100644
index c309025..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/445/Issue445Test.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-class Issue445Test extends PHPUnit_Framework_TestCase
-{
-    public function testOutputWithExpectationBefore()
-    {
-        $this->expectOutputString('test');
-        print 'test';
-    }
-
-    public function testOutputWithExpectationAfter()
-    {
-        print 'test';
-        $this->expectOutputString('test');
-    }
-
-    public function testNotMatchingOutput()
-    {
-        print 'bar';
-        $this->expectOutputString('foo');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/498.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/498.phpt
deleted file mode 100644
index 828995f..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/498.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-GH-498: The test methods won't be run if a dataProvider throws Exception and --group is added in command line
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--group';
-$_SERVER['argv'][3] = 'trueOnly';
-$_SERVER['argv'][4] = 'Issue498Test';
-$_SERVER['argv'][5] = dirname(__FILE__).'/498/Issue498Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Warning
-The data provider specified for Issue498Test::shouldBeFalse is invalid.
-Can't create the data
-
-FAILURES!
-Tests: 1, Assertions: 0, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/498/Issue498Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/498/Issue498Test.php
deleted file mode 100644
index 2120fab..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/498/Issue498Test.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-class Issue498Test extends PHPUnit_Framework_TestCase
-{
-
-    /**
-     * @test
-     * @dataProvider shouldBeTrueDataProvider
-     * @group falseOnly
-     */
-    public function shouldBeTrue($testData)
-    {
-        $this->assertTrue(true);
-    }
-
-
-    /**
-     * @test
-     * @dataProvider shouldBeFalseDataProvider
-     * @group trueOnly
-     */
-    public function shouldBeFalse($testData)
-    {
-        $this->assertFalse(false);
-    }
-
-    public function shouldBeTrueDataProvider()
-    {
-
-        //throw new Exception("Can't create the data");
-        return array(
-            array(true),
-            array(false)
-        );
-    }
-
-    public function shouldBeFalseDataProvider()
-    {
-        throw new Exception("Can't create the data");
-        return array(
-            array(true),
-            array(false)
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/503.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/503.phpt
deleted file mode 100644
index e95506c..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/503.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-GH-503: assertEquals() Line Ending Differences Are Obscure
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue503Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/503/Issue503Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue503Test::testCompareDifferentLineEndings
-Failed asserting that two strings are identical.
---- Expected
-+++ Actual
-@@ @@
- #Warning: Strings contain different line endings!
- foo
-
-%s:%i
-
-FAILURES!
-Tests: 1, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/503/Issue503Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/503/Issue503Test.php
deleted file mode 100644
index 75ca8d4..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/503/Issue503Test.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class Issue503Test extends PHPUnit_Framework_TestCase
-{
-    public function testCompareDifferentLineEndings()
-    {
-        $this->assertSame(
-            "foo\n",
-            "foo\r\n"
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/581.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/581.phpt
deleted file mode 100644
index ba1cf85..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/581.phpt
+++ /dev/null
@@ -1,42 +0,0 @@
---TEST--
-GH-581: PHPUnit_Util_Type::export adds extra newlines in Windows
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue581Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/581/Issue581Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue581Test::testExportingObjectsDoesNotBreakWindowsLineFeeds
-Failed asserting that two objects are equal.
---- Expected
-+++ Actual
-@@ @@
- stdClass Object (
-     0 => 1
-     1 => 2
-     2 => 'Test\n'
-     3 => 4
--    4 => 5
-+    4 => 1
-     5 => 6
-     6 => 7
-     7 => 8
- )
-
-%s:%i
-
-FAILURES!
-Tests: 1, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/581/Issue581Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/581/Issue581Test.php
deleted file mode 100644
index 394a638..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/581/Issue581Test.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class Issue581Test extends PHPUnit_Framework_TestCase
-{
-    public function testExportingObjectsDoesNotBreakWindowsLineFeeds()
-    {
-        $this->assertEquals(
-            (object)array(1, 2, "Test\r\n", 4, 5, 6, 7, 8),
-            (object)array(1, 2, "Test\r\n", 4, 1, 6, 7, 8)
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74.phpt
deleted file mode 100644
index 53f4934..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-GH-74: catchable fatal error in 3.5
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'Issue74Test';
-$_SERVER['argv'][4] = dirname(__FILE__).'/74/Issue74Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-E
-
-Time: %s, Memory: %sMb
-
-There was 1 error:
-
-1) Issue74Test::testCreateAndThrowNewExceptionInProcessIsolation
-NewException: Testing GH-74
-
-%sIssue74Test.php:7
-
-FAILURES!
-Tests: 1, Assertions: 0, Errors: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74/Issue74Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74/Issue74Test.php
deleted file mode 100644
index 72f3592..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74/Issue74Test.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-class Issue74Test extends PHPUnit_Framework_TestCase
-{
-    public function testCreateAndThrowNewExceptionInProcessIsolation()
-    {
-        require_once __DIR__ . '/NewException.php';
-        throw new NewException('Testing GH-74');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74/NewException.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74/NewException.php
deleted file mode 100644
index abe2f71..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74/NewException.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-class NewException extends Exception
-{
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/765.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/765.phpt
deleted file mode 100644
index 7599661..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/765.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-GH-765: Fatal error triggered in PHPUnit when exception is thrown in data provider of a test with a dependency
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue765Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/765/Issue765Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Warning
-The data provider specified for Issue765Test::testDependent is invalid.
-
-FAILURES!
-Tests: 2, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/765/Issue765Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/765/Issue765Test.php
deleted file mode 100644
index a47474b..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/765/Issue765Test.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-class Issue765Test extends PHPUnit_Framework_TestCase
-{
-    public function testDependee()
-    {
-        $this->assertTrue(true);
-    }
-
-    /**
-     * @depends testDependee
-     * @dataProvider dependentProvider
-     */
-    public function testDependent($a)
-    {
-        $this->assertTrue(true);
-    }
-
-    public function dependentProvider()
-    {
-        throw new Exception;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797.phpt
deleted file mode 100644
index 73ba414..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-GH-797: Disabled $preserveGlobalState does not load bootstrap.php.
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][] = '--process-isolation';
-$_SERVER['argv'][] = '--bootstrap';
-$_SERVER['argv'][] = __DIR__ . '/797/bootstrap797.php';
-$_SERVER['argv'][] = __DIR__ . '/797/Issue797Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797/Issue797Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797/Issue797Test.php
deleted file mode 100644
index b1c1b8f..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797/Issue797Test.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-class Issue797Test extends PHPUnit_Framework_TestCase
-{
-    protected $preserveGlobalState = false;
-
-    public function testBootstrapPhpIsExecutedInIsolation()
-    {
-        $this->assertEquals(GITHUB_ISSUE, 797);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797/bootstrap797.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797/bootstrap797.php
deleted file mode 100644
index 03890a3..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797/bootstrap797.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-// If process isolation fails to include this file, then
-// PHPUnit_Framework_TestCase itself does not exist. :-)
-require __DIR__ . '/../../../bootstrap.php';
-
-const GITHUB_ISSUE = 797;
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/863.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/863.phpt
deleted file mode 100644
index 1e0ffbd..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/863.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-GH-863: Number of tests to run calculated incorrectly when --repeat is used
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--repeat';
-$_SERVER['argv'][3] = '50';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(dirname(dirname(__FILE__))) . '/_files/BankAccountTest.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...............................................................  63 / 150 ( 42%)
-............................................................... 126 / 150 ( 84%)
-........................
-
-Time: %s, Memory: %sMb
-
-OK (150 tests, 150 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt
deleted file mode 100644
index ca33c7f..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
---TEST--
-GH-873: PHPUnit suppresses exceptions thrown outside of test case function
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue873Test';
-$_SERVER['argv'][3] = dirname(__FILE__) . '/873/Issue873Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-
-Fatal error: Uncaught exception 'Exception' with message 'PHPUnit suppresses exceptions thrown outside of test case function' in %s:%i
-Stack trace:
-%a
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873/Issue873Test.php b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873/Issue873Test.php
deleted file mode 100644
index 70fd904..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873/Issue873Test.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-
-if (extension_loaded('xdebug')) {
-    xdebug_disable();
-}
-
-    throw new Exception(
-        'PHPUnit suppresses exceptions thrown outside of test case function'
-    );
diff --git a/core/vendor/phpunit/phpunit/tests/Runner/BaseTestRunnerTest.php b/core/vendor/phpunit/phpunit/tests/Runner/BaseTestRunnerTest.php
deleted file mode 100644
index e8336f8..0000000
--- a/core/vendor/phpunit/phpunit/tests/Runner/BaseTestRunnerTest.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.0.0
- * @covers     PHPUnit_Runner_BaseTestRunner
- */
-class Runner_BaseTestRunnerTest extends PHPUnit_Framework_TestCase
-{
-    public function testInvokeNonStaticSuite()
-    {
-        $runner = new MockRunner;
-        $runner->getTest('NonStatic');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/abstract-test-class.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/abstract-test-class.phpt
deleted file mode 100644
index 8d6c07a..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/abstract-test-class.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-phpunit AbstractTest ../_files/AbstractTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'AbstractTest';
-$_SERVER['argv'][3] = dirname(dirname(__FILE__)) . '/_files/AbstractTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Warning
-Cannot instantiate class "AbstractTest".
-
-FAILURES!
-Tests: 1, Assertions: 0, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/colors-always.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/colors-always.phpt
deleted file mode 100644
index 0beb8f2..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/colors-always.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit --colors=always BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--colors=always';
-$_SERVER['argv'][3] = __DIR__.'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-%s[30;42mOK (3 tests, 3 assertions)%s[0m
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/concrete-test-class.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/concrete-test-class.phpt
deleted file mode 100644
index f01bd79..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/concrete-test-class.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit ConcreteTest ../_files/ConcreteTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'ConcreteTest';
-$_SERVER['argv'][3] = dirname(dirname(__FILE__)) . '/_files/ConcreteTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 0 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-debug.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-debug.phpt
deleted file mode 100644
index 31ed8a4..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-debug.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-phpunit -c ../_files/configuration.custom-printer.xml --debug BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '-c';
-$_SERVER['argv'][2] = dirname(__FILE__).'/../_files/configuration.custom-printer.xml';
-$_SERVER['argv'][3] = '--debug';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Configuration read from %sconfiguration.custom-printer.xml
-
-
-Starting test 'BankAccountTest::testBalanceIsInitiallyZero'.
-.
-Starting test 'BankAccountTest::testBalanceCannotBecomeNegative'.
-.
-Starting test 'BankAccountTest::testBalanceCannotBecomeNegative2'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-verbose.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-verbose.phpt
deleted file mode 100644
index 75a2644..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-verbose.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-phpunit -c ../_files/configuration.custom-printer.xml --verbose IncompleteTest ../_files/IncompleteTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '-c';
-$_SERVER['argv'][2] = dirname(__FILE__).'/../_files/configuration.custom-printer.xml';
-$_SERVER['argv'][3] = '--verbose';
-$_SERVER['argv'][4] = 'IncompleteTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/IncompleteTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Configuration read from %sconfiguration.custom-printer.xml
-
-I
-
-Time: %s, Memory: %sMb
-
-There was 1 incomplete test:
-
-1) IncompleteTest::testIncomplete
-Test incomplete
-
-%s
-
-OK, but incomplete, skipped, or risky tests!
-Tests: 1, Assertions: 0, Incomplete: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-debug.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-debug.phpt
deleted file mode 100644
index c6cfe86..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-debug.phpt
+++ /dev/null
@@ -1,34 +0,0 @@
---TEST--
-phpunit --debug DataProviderDebugTest ../_files/DataProviderDebugTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--debug';
-$_SERVER['argv'][3] = 'DataProviderDebugTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/DataProviderDebugTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-Starting test 'DataProviderDebugTest::testProvider with data set #0 (null, true, 1, 1.0)'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #1 (1.2, resource(%d) of type (stream), '1')'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #2 (array(array(1, 2, 3), array(3, 4, 5)))'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #3 ('this\nis\na\nvery\nvery\nvery\nvery...g\ntext')'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #4 (stdClass Object (), stdClass Object (...), array(), SplObjectStorage Object (...), stdClass Object (...))'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #5 (Binary String: 0x000102030405, Binary String: 0x0e0f101112131...c1d1e1f)'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #6 (Binary String: 0x0009)'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (7 tests, 7 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml-isolation.phpt
deleted file mode 100644
index e1c4571..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml-isolation.phpt
+++ /dev/null
@@ -1,47 +0,0 @@
---TEST--
-phpunit --process-isolation --log-junit php://stdout DataProviderTest ../_files/DataProviderTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--log-junit';
-$_SERVER['argv'][4] = 'php://stdout';
-$_SERVER['argv'][5] = 'DataProviderTest';
-$_SERVER['argv'][6] = dirname(dirname(__FILE__)) . '/_files/DataProviderTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..F.<?xml version="1.0" encoding="UTF-8"?>
-<testsuites>
-  <testsuite name="DataProviderTest" file="%sDataProviderTest.php" tests="4" assertions="4" failures="1" errors="0" time="%f">
-    <testsuite name="DataProviderTest::testAdd" tests="4" assertions="4" failures="1" errors="0" time="%f">
-      <testcase name="testAdd with data set #0" assertions="1" time="%f"/>
-      <testcase name="testAdd with data set #1" assertions="1" time="%f"/>
-      <testcase name="testAdd with data set #2" assertions="1" time="%f">
-        <failure type="PHPUnit_Framework_ExpectationFailedException">DataProviderTest::testAdd with data set #2 (1, 1, 3)
-Failed asserting that 2 matches expected 3.
-
-%s:%i
-</failure>
-      </testcase>
-      <testcase name="testAdd with data set #3" assertions="1" time="%f"/>
-    </testsuite>
-  </testsuite>
-</testsuites>
-
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) DataProviderTest::testAdd with data set #2 (1, 1, 3)
-Failed asserting that 2 matches expected 3.
-
-%s:%i
-
-FAILURES!
-Tests: 4, Assertions: 4, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml.phpt
deleted file mode 100644
index a14b466..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml.phpt
+++ /dev/null
@@ -1,46 +0,0 @@
---TEST--
-phpunit --log-junit php://stdout DataProviderTest ../_files/DataProviderTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-junit';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'DataProviderTest';
-$_SERVER['argv'][5] = dirname(dirname(__FILE__)) . '/_files/DataProviderTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..F.<?xml version="1.0" encoding="UTF-8"?>
-<testsuites>
-  <testsuite name="DataProviderTest" file="%sDataProviderTest.php" tests="4" assertions="4" failures="1" errors="0" time="%f">
-    <testsuite name="DataProviderTest::testAdd" tests="4" assertions="4" failures="1" errors="0" time="%f">
-      <testcase name="testAdd with data set #0" assertions="1" time="%f"/>
-      <testcase name="testAdd with data set #1" assertions="1" time="%f"/>
-      <testcase name="testAdd with data set #2" assertions="1" time="%f">
-        <failure type="PHPUnit_Framework_ExpectationFailedException">DataProviderTest::testAdd with data set #2 (1, 1, 3)
-Failed asserting that 2 matches expected 3.
-
-%s:%i
-</failure>
-      </testcase>
-      <testcase name="testAdd with data set #3" assertions="1" time="%f"/>
-    </testsuite>
-  </testsuite>
-</testsuites>
-
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) DataProviderTest::testAdd with data set #2 (1, 1, 3)
-Failed asserting that 2 matches expected 3.
-
-%s:%i
-
-FAILURES!
-Tests: 4, Assertions: 4, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-testdox.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-testdox.phpt
deleted file mode 100644
index 75973fe..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-testdox.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
---TEST--
-phpunit --testdox DataProviderTest ../_files/DataProviderTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--testdox';
-$_SERVER['argv'][3] = 'DataProviderTest';
-$_SERVER['argv'][4] = dirname(dirname(__FILE__)) . '/_files/DataProviderTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-DataProvider
- [ ] Add
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/debug.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/debug.phpt
deleted file mode 100644
index 194961a..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/debug.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-phpunit --debug BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--debug';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-Starting test 'BankAccountTest::testBalanceIsInitiallyZero'.
-.
-Starting test 'BankAccountTest::testBalanceCannotBecomeNegative'.
-.
-Starting test 'BankAccountTest::testBalanceCannotBecomeNegative2'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/default-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/default-isolation.phpt
deleted file mode 100644
index c52156c..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/default-isolation.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-phpunit --process-isolation BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/default.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/default.phpt
deleted file mode 100644
index a5ccc38..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/default.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'BankAccountTest';
-$_SERVER['argv'][3] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dependencies-isolation.phpt
deleted file mode 100644
index eac3eb7..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies-isolation.phpt
+++ /dev/null
@@ -1,38 +0,0 @@
---TEST--
-phpunit --process-isolation --verbose DependencyTestSuite ../_files/DependencyTestSuite.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--verbose';
-$_SERVER['argv'][4] = 'DependencyTestSuite';
-$_SERVER['argv'][5] = dirname(dirname(__FILE__)) . '/_files/DependencyTestSuite.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...FSS
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) DependencyFailureTest::testOne
-
-%s:%i
-
---
-
-There were 2 skipped tests:
-
-1) DependencyFailureTest::testTwo
-This test depends on "DependencyFailureTest::testOne" to pass.
-
-2) DependencyFailureTest::testThree
-This test depends on "DependencyFailureTest::testTwo" to pass.
-
-FAILURES!
-Tests: 4, Assertions: 0, Failures: 1, Skipped: 2.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dependencies.phpt
deleted file mode 100644
index 5e60f18..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-phpunit --verbose DependencyTestSuite ../_files/DependencyTestSuite.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--verbose';
-$_SERVER['argv'][3] = 'DependencyTestSuite';
-$_SERVER['argv'][4] = dirname(dirname(__FILE__)) . '/_files/DependencyTestSuite.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...FSS
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) DependencyFailureTest::testOne
-
-%s:%i
-
---
-
-There were 2 skipped tests:
-
-1) DependencyFailureTest::testTwo
-This test depends on "DependencyFailureTest::testOne" to pass.
-
-2) DependencyFailureTest::testThree
-This test depends on "DependencyFailureTest::testTwo" to pass.
-
-FAILURES!
-Tests: 4, Assertions: 0, Failures: 1, Skipped: 2.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies2-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dependencies2-isolation.phpt
deleted file mode 100644
index bd88351..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies2-isolation.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-phpunit --process-isolation StackTest ../_files/StackTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'StackTest';
-$_SERVER['argv'][4] = dirname(dirname(__FILE__)) . '/_files/StackTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 5 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies2.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dependencies2.phpt
deleted file mode 100644
index d05b79d..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies2.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit StackTest ../_files/StackTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'StackTest';
-$_SERVER['argv'][3] = dirname(dirname(__FILE__)) . '/_files/StackTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 5 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies3-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dependencies3-isolation.phpt
deleted file mode 100644
index 37d2e63..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies3-isolation.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-phpunit --process-isolation MultiDependencyTest ../_files/MultiDependencyTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'MultiDependencyTest';
-$_SERVER['argv'][4] = dirname(dirname(__FILE__)) . '/_files/MultiDependencyTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies3.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dependencies3.phpt
deleted file mode 100644
index 6c5d3b1..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies3.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit MultiDependencyTest ../_files/MultiDependencyTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'MultiDependencyTest';
-$_SERVER['argv'][3] = dirname(dirname(__FILE__)) . '/_files/MultiDependencyTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/empty-testcase.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/empty-testcase.phpt
deleted file mode 100644
index 3de7055..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/empty-testcase.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-phpunit EmptyTestCaseTest ../_files/EmptyTestCaseTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'EmptyTestCaseTest';
-$_SERVER['argv'][3] = dirname(dirname(__FILE__)) . '/_files/EmptyTestCaseTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Warning
-No tests found in class "EmptyTestCaseTest".
-
-FAILURES!
-Tests: 1, Assertions: 0, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/exception-stack.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/exception-stack.phpt
deleted file mode 100644
index db585bf..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/exception-stack.phpt
+++ /dev/null
@@ -1,65 +0,0 @@
---TEST--
-phpunit ExceptionStackTest ../_files/ExceptionStackTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'ExceptionStackTest';
-$_SERVER['argv'][3] = dirname(dirname(__FILE__)) . '/_files/ExceptionStackTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-EE
-
-Time: %s, Memory: %sMb
-
-There were 2 errors:
-
-1) ExceptionStackTest::testPrintingChildException
-PHPUnit_Framework_Exception: Child exception
-message
-Failed asserting that two arrays are equal.
---- Expected
-+++ Actual
-@@ @@
- Array (
--    0 => 1
-+    0 => 2
- )
-
-
-%s:%i
-
-Caused by
-message
-Failed asserting that two arrays are equal.
---- Expected
-+++ Actual
-@@ @@
- Array (
--    0 => 1
-+    0 => 2
- )
-
-%s:%i
-
-2) ExceptionStackTest::testNestedExceptions
-Exception: One
-
-%s:%i
-
-Caused by
-InvalidArgumentException: Two
-
-%s:%i
-
-Caused by
-Exception: Three
-
-%s:%i
-
-FAILURES!
-Tests: 2, Assertions: 1, Errors: 2.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group-isolation.phpt
deleted file mode 100644
index eee3776..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --exclude-group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--exclude-group';
-$_SERVER['argv'][4] = 'balanceIsInitiallyZero';
-$_SERVER['argv'][5] = 'BankAccountTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group.phpt
deleted file mode 100644
index 4be3400..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --exclude-group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--exclude-group';
-$_SERVER['argv'][3] = 'balanceIsInitiallyZero';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/failure-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/failure-isolation.phpt
deleted file mode 100644
index 7df4f10..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/failure-isolation.phpt
+++ /dev/null
@@ -1,142 +0,0 @@
---TEST--
-phpunit --process-isolation FailureTest ../_files/FailureTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'FailureTest';
-$_SERVER['argv'][4] = dirname(dirname(__FILE__)) . '/_files/FailureTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-FFFFFFFFFFFFF
-
-Time: %s, Memory: %sMb
-
-There were 13 failures:
-
-1) FailureTest::testAssertArrayEqualsArray
-message
-Failed asserting that two arrays are equal.
---- Expected
-+++ Actual
-@@ @@
- Array (
--    0 => 1
-+    0 => 2
- )
-
-%s:%i
-
-2) FailureTest::testAssertIntegerEqualsInteger
-message
-Failed asserting that 2 matches expected 1.
-
-%s:%i
-
-3) FailureTest::testAssertObjectEqualsObject
-message
-Failed asserting that two objects are equal.
---- Expected
-+++ Actual
-@@ @@
- stdClass Object (
--    'foo' => 'bar'
-+    'bar' => 'foo'
- )
-
-%s:%i
-
-4) FailureTest::testAssertNullEqualsString
-message
-Failed asserting that 'bar' matches expected null.
-
-%s:%i
-
-5) FailureTest::testAssertStringEqualsString
-message
-Failed asserting that two strings are equal.
---- Expected
-+++ Actual
-@@ @@
--'foo'
-+'bar'
-
-%s:%i
-
-6) FailureTest::testAssertTextEqualsText
-message
-Failed asserting that two strings are equal.
---- Expected
-+++ Actual
-@@ @@
- 'foo
--bar
-+baz
- '
-
-%s:%i
-
-7) FailureTest::testAssertStringMatchesFormat
-message
-Failed asserting that format description matches text.
---- Expected
-+++ Actual
-@@ @@
--*%s*
-+**
-
-%s:%i
-
-8) FailureTest::testAssertNumericEqualsNumeric
-message
-Failed asserting that 2 matches expected 1.
-
-%s:%i
-
-9) FailureTest::testAssertTextSameText
-message
-Failed asserting that two strings are identical.
---- Expected
-+++ Actual
-@@ @@
--foo
-+bar
-
-%s:%i
-
-10) FailureTest::testAssertObjectSameObject
-message
-Failed asserting that two variables reference the same object.
-
-%s:%i
-
-11) FailureTest::testAssertObjectSameNull
-message
-Failed asserting that null is identical to an object of class "stdClass".
-
-%s:%i
-
-12) FailureTest::testAssertFloatSameFloat
-message
-Failed asserting that 1.5 is identical to 1.0.
-
-%s:%i
-
-13) FailureTest::testAssertStringMatchesFormatFile
-Failed asserting that format description matches text.
---- Expected
-+++ Actual
-@@ @@
--FOO
--
-+...BAR...
-
-%s:%i
-
-FAILURES!
-Tests: 13, Assertions: 14, Failures: 13.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/failure.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/failure.phpt
deleted file mode 100644
index 23415e9..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/failure.phpt
+++ /dev/null
@@ -1,141 +0,0 @@
---TEST--
-phpunit FailureTest ../_files/FailureTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'FailureTest';
-$_SERVER['argv'][3] = dirname(dirname(__FILE__)) . '/_files/FailureTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-FFFFFFFFFFFFF
-
-Time: %s, Memory: %sMb
-
-There were 13 failures:
-
-1) FailureTest::testAssertArrayEqualsArray
-message
-Failed asserting that two arrays are equal.
---- Expected
-+++ Actual
-@@ @@
- Array (
--    0 => 1
-+    0 => 2
- )
-
-%s:%i
-
-2) FailureTest::testAssertIntegerEqualsInteger
-message
-Failed asserting that 2 matches expected 1.
-
-%s:%i
-
-3) FailureTest::testAssertObjectEqualsObject
-message
-Failed asserting that two objects are equal.
---- Expected
-+++ Actual
-@@ @@
- stdClass Object (
--    'foo' => 'bar'
-+    'bar' => 'foo'
- )
-
-%s:%i
-
-4) FailureTest::testAssertNullEqualsString
-message
-Failed asserting that 'bar' matches expected null.
-
-%s:%i
-
-5) FailureTest::testAssertStringEqualsString
-message
-Failed asserting that two strings are equal.
---- Expected
-+++ Actual
-@@ @@
--'foo'
-+'bar'
-
-%s:%i
-
-6) FailureTest::testAssertTextEqualsText
-message
-Failed asserting that two strings are equal.
---- Expected
-+++ Actual
-@@ @@
- 'foo
--bar
-+baz
- '
-
-%s:%i
-
-7) FailureTest::testAssertStringMatchesFormat
-message
-Failed asserting that format description matches text.
---- Expected
-+++ Actual
-@@ @@
--*%s*
-+**
-
-%s:%i
-
-8) FailureTest::testAssertNumericEqualsNumeric
-message
-Failed asserting that 2 matches expected 1.
-
-%s:%i
-
-9) FailureTest::testAssertTextSameText
-message
-Failed asserting that two strings are identical.
---- Expected
-+++ Actual
-@@ @@
--foo
-+bar
-
-%s:%i
-
-10) FailureTest::testAssertObjectSameObject
-message
-Failed asserting that two variables reference the same object.
-
-%s:%i
-
-11) FailureTest::testAssertObjectSameNull
-message
-Failed asserting that null is identical to an object of class "stdClass".
-
-%s:%i
-
-12) FailureTest::testAssertFloatSameFloat
-message
-Failed asserting that 1.5 is identical to 1.0.
-
-%s:%i
-
-13) FailureTest::testAssertStringMatchesFormatFile
-Failed asserting that format description matches text.
---- Expected
-+++ Actual
-@@ @@
--FOO
--
-+...BAR...
-
-%s:%i
-
-FAILURES!
-Tests: 13, Assertions: 14, Failures: 13.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/fatal-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/fatal-isolation.phpt
deleted file mode 100644
index b6a4d3c..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/fatal-isolation.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-phpunit FatalTest ../_files/FatalTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'FatalTest';
-$_SERVER['argv'][4] = dirname(dirname(__FILE__)) . '/_files/FatalTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-E
-
-Time: %s, Memory: %sMb
-
-There was 1 error:
-
-1) FatalTest::testFatalError
-%s
-
-FAILURES!
-Tests: 1, Assertions: 0, Errors: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/fatal.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/fatal.phpt
deleted file mode 100644
index e265ea7..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/fatal.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
---TEST--
-phpunit FatalTest ../_files/FatalTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'FatalTest';
-$_SERVER['argv'][3] = dirname(dirname(__FILE__)) . '/_files/FatalTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-Fatal error: Call to undefined function non_existing_function() in %s
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-class-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-class-isolation.phpt
deleted file mode 100644
index 3cf4119..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-class-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter BankAccountTest BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = 'BankAccountTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-class.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-class.phpt
deleted file mode 100644
index c5e2e60..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-class.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter BankAccountTest BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt
deleted file mode 100644
index f3cf561..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter DataProviderFilterTest#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'DataProviderFilterTest#1-3';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt
deleted file mode 100644
index f19eb12..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter DataProviderFilterTest#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'DataProviderFilterTest#1-3';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt
deleted file mode 100644
index 9db7c7e..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testTrue#3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testTrue#3';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt
deleted file mode 100644
index 16b7288..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter testTrue#3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'testTrue#3';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt
deleted file mode 100644
index cefb087..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter \#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = '#1-3';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt
deleted file mode 100644
index c96a89f..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter \#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = '#1-3';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt
deleted file mode 100644
index 192637a..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter @false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = '@false.*';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt
deleted file mode 100644
index 0a546ae..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter @false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = '@false.*';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt
deleted file mode 100644
index 16f0332..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter @false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = '@false test';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt
deleted file mode 100644
index 919fb82..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter @false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = '@false test';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt
deleted file mode 100644
index 846475a..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testTrue#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testTrue#1-3';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt
deleted file mode 100644
index ee8f629..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter testTrue#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'testTrue#1-3';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt
deleted file mode 100644
index 1987e2c..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testFalse@false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testFalse@false.*';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt
deleted file mode 100644
index b4482c5..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter testFalse@false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'testFalse@false.*';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt
deleted file mode 100644
index 3bed821..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testFalse@false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testFalse@false test';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt
deleted file mode 100644
index a823881..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter testFalse@false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'testFalse@false test';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-insensitive.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-insensitive.phpt
deleted file mode 100644
index cb61922..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-insensitive.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter /balanceIsInitiallyZero/i BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = '/balanceIsInitiallyZero/i';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt
deleted file mode 100644
index bf1a974..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = '/balanceIsInitiallyZero/';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-
-Time: %s, Memory: %sMb
-
-No tests executed!
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-isolation.phpt
deleted file mode 100644
index 4009065..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testBalanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testBalanceIsInitiallyZero';
-$_SERVER['argv'][5] = 'BankAccountTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-method.phpt
deleted file mode 100644
index c5cb650..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter testBalanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'testBalanceIsInitiallyZero';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-no-results.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-no-results.phpt
deleted file mode 100644
index 8ead7b9..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-no-results.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter doesNotExist BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'doesNotExist';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-
-Time: %s, Memory: %sMb
-
-No tests executed!
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/group-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/group-isolation.phpt
deleted file mode 100644
index 4e68d65..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/group-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--group';
-$_SERVER['argv'][4] = 'balanceIsInitiallyZero';
-$_SERVER['argv'][5] = 'BankAccountTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/group.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/group.phpt
deleted file mode 100644
index f0c0735..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/group.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--group';
-$_SERVER['argv'][3] = 'balanceIsInitiallyZero';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/help.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/help.phpt
deleted file mode 100644
index 4c1d945..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/help.phpt
+++ /dev/null
@@ -1,86 +0,0 @@
---TEST--
-phpunit
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Usage: phpunit [options] UnitTest [UnitTest.php]
-       phpunit [options] <directory>
-
-Code Coverage Options:
-
-  --coverage-clover <file>  Generate code coverage report in Clover XML format.
-  --coverage-crap4j <file>  Generate code coverage report in Crap4J XML format.
-  --coverage-html <dir>     Generate code coverage report in HTML format.
-  --coverage-php <file>     Export PHP_CodeCoverage object to file.
-  --coverage-text=<file>    Generate code coverage report in text format.
-                            Default: Standard output.
-  --coverage-xml <dir>      Generate code coverage report in PHPUnit XML format.
-
-Logging Options:
-
-  --log-junit <file>        Log test execution in JUnit XML format to file.
-  --log-tap <file>          Log test execution in TAP format to file.
-  --log-json <file>         Log test execution in JSON format.
-  --testdox-html <file>     Write agile documentation in HTML format to file.
-  --testdox-text <file>     Write agile documentation in Text format to file.
-
-Test Selection Options:
-
-  --filter <pattern>        Filter which tests to run.
-  --testsuite <pattern>     Filter which testsuite to run.
-  --group ...               Only runs tests from the specified group(s).
-  --exclude-group ...       Exclude tests from the specified group(s).
-  --list-groups             List available test groups.
-  --test-suffix ...         Only search for test in files with specified
-                            suffix(es). Default: Test.php,.phpt
-
-Test Execution Options:
-
-  --report-useless-tests    Be strict about tests that do not test anything.
-  --strict-coverage         Be strict about unintentionally covered code.
-  --strict-global-state     Be strict about changes to global state
-  --disallow-test-output    Be strict about output during tests.
-  --enforce-time-limit      Enforce time limit based on test size.
-  --disallow-todo-tests     Disallow @todo-annotated tests.
-
-  --process-isolation       Run each test in a separate PHP process.
-  --no-globals-backup       Do not backup and restore $GLOBALS for each test.
-  --static-backup           Backup and restore static attributes for each test.
-
-  --colors=<flag>           Use colors in output ("never", "auto" or "always").
-  --columns <n>             Number of columns to use for progress output.
-  --columns max             Use maximum number of columns for progress output.
-  --stderr                  Write to STDERR instead of STDOUT.
-  --stop-on-error           Stop execution upon first error.
-  --stop-on-failure         Stop execution upon first error or failure.
-  --stop-on-risky           Stop execution upon first risky test.
-  --stop-on-skipped         Stop execution upon first skipped test.
-  --stop-on-incomplete      Stop execution upon first incomplete test.
-  -v|--verbose              Output more verbose information.
-  --debug                   Display debugging information during test execution.
-
-  --loader <loader>         TestSuiteLoader implementation to use.
-  --repeat <times>          Runs the test(s) repeatedly.
-  --tap                     Report test execution progress in TAP format.
-  --testdox                 Report test execution progress in TestDox format.
-  --printer <printer>       TestListener implementation to use.
-
-Configuration Options:
-
-  --bootstrap <file>        A "bootstrap" PHP file that is run before the tests.
-  -c|--configuration <file> Read configuration from XML file.
-  --no-configuration        Ignore default configuration file (phpunit.xml).
-  --include-path <path(s)>  Prepend PHP's include_path with given path(s).
-  -d key[=value]            Sets a php.ini value.
-
-Miscellaneous Options:
-
-  -h|--help                 Prints this usage information.
-  --version                 Prints the version and exits.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/help2.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/help2.phpt
deleted file mode 100644
index 7134862..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/help2.phpt
+++ /dev/null
@@ -1,87 +0,0 @@
---TEST--
-phpunit --help
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--help';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Usage: phpunit [options] UnitTest [UnitTest.php]
-       phpunit [options] <directory>
-
-Code Coverage Options:
-
-  --coverage-clover <file>  Generate code coverage report in Clover XML format.
-  --coverage-crap4j <file>  Generate code coverage report in Crap4J XML format.
-  --coverage-html <dir>     Generate code coverage report in HTML format.
-  --coverage-php <file>     Export PHP_CodeCoverage object to file.
-  --coverage-text=<file>    Generate code coverage report in text format.
-                            Default: Standard output.
-  --coverage-xml <dir>      Generate code coverage report in PHPUnit XML format.
-
-Logging Options:
-
-  --log-junit <file>        Log test execution in JUnit XML format to file.
-  --log-tap <file>          Log test execution in TAP format to file.
-  --log-json <file>         Log test execution in JSON format.
-  --testdox-html <file>     Write agile documentation in HTML format to file.
-  --testdox-text <file>     Write agile documentation in Text format to file.
-
-Test Selection Options:
-
-  --filter <pattern>        Filter which tests to run.
-  --testsuite <pattern>     Filter which testsuite to run.
-  --group ...               Only runs tests from the specified group(s).
-  --exclude-group ...       Exclude tests from the specified group(s).
-  --list-groups             List available test groups.
-  --test-suffix ...         Only search for test in files with specified
-                            suffix(es). Default: Test.php,.phpt
-
-Test Execution Options:
-
-  --report-useless-tests    Be strict about tests that do not test anything.
-  --strict-coverage         Be strict about unintentionally covered code.
-  --strict-global-state     Be strict about changes to global state
-  --disallow-test-output    Be strict about output during tests.
-  --enforce-time-limit      Enforce time limit based on test size.
-  --disallow-todo-tests     Disallow @todo-annotated tests.
-
-  --process-isolation       Run each test in a separate PHP process.
-  --no-globals-backup       Do not backup and restore $GLOBALS for each test.
-  --static-backup           Backup and restore static attributes for each test.
-
-  --colors=<flag>           Use colors in output ("never", "auto" or "always").
-  --columns <n>             Number of columns to use for progress output.
-  --columns max             Use maximum number of columns for progress output.
-  --stderr                  Write to STDERR instead of STDOUT.
-  --stop-on-error           Stop execution upon first error.
-  --stop-on-failure         Stop execution upon first error or failure.
-  --stop-on-risky           Stop execution upon first risky test.
-  --stop-on-skipped         Stop execution upon first skipped test.
-  --stop-on-incomplete      Stop execution upon first incomplete test.
-  -v|--verbose              Output more verbose information.
-  --debug                   Display debugging information during test execution.
-
-  --loader <loader>         TestSuiteLoader implementation to use.
-  --repeat <times>          Runs the test(s) repeatedly.
-  --tap                     Report test execution progress in TAP format.
-  --testdox                 Report test execution progress in TestDox format.
-  --printer <printer>       TestListener implementation to use.
-
-Configuration Options:
-
-  --bootstrap <file>        A "bootstrap" PHP file that is run before the tests.
-  -c|--configuration <file> Read configuration from XML file.
-  --no-configuration        Ignore default configuration file (phpunit.xml).
-  --include-path <path(s)>  Prepend PHP's include_path with given path(s).
-  -d key[=value]            Sets a php.ini value.
-
-Miscellaneous Options:
-
-  -h|--help                 Prints this usage information.
-  --version                 Prints the version and exits.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/ini-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/ini-isolation.phpt
deleted file mode 100644
index ee002df..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/ini-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation -d default_mimetype=application/x-test IniTest ../_files/IniTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '-d';
-$_SERVER['argv'][4] = 'default_mimetype=application/x-test';
-$_SERVER['argv'][5] = 'IniTest';
-$_SERVER['argv'][6] = dirname(dirname(__FILE__)) . '/_files/IniTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/list-groups.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/list-groups.phpt
deleted file mode 100644
index 85f2906..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/list-groups.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-phpunit --list-groups BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--list-groups';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Available test group(s):
- - Sebastian Bergmann <sebastian@phpunit.de>
- - balanceCannotBecomeNegative
- - balanceIsInitiallyZero
- - specification
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-no-pretty-print.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/log-json-no-pretty-print.phpt
deleted file mode 100644
index abdbb2f..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-no-pretty-print.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-phpunit --log-json php://stdout BankAccountTest ../_files/BankAccountTest.php
---SKIPIF--
-<?php
-if (defined('JSON_PRETTY_PRINT')) {
-    print 'skip: PHP without JSON_PRETTY_PRINT is required';
-}
-?>
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-json';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-{"event":"suiteStart","suite":"BankAccountTest","tests":3}{"event":"testStart","suite":"BankAccountTest","test":"BankAccountTest::testBalanceIsInitiallyZero"}.{"event":"test","suite":"BankAccountTest","test":"BankAccountTest::testBalanceIsInitiallyZero","status":"pass","time":%f,"trace":[],"message":"","output":""}{"event":"testStart","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative"}.{"event":"test","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative","status":"pass","time":%f,"trace":[],"message":"","output":""}{"event":"testStart","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative2"}.{"event":"test","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative2","status":"pass","time":%f,"trace":[],"message":"","output":""}
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-post-66021.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/log-json-post-66021.phpt
deleted file mode 100644
index e9ab24d..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-post-66021.phpt
+++ /dev/null
@@ -1,72 +0,0 @@
---TEST--
-phpunit --log-json php://stdout BankAccountTest ../_files/BankAccountTest.php
---SKIPIF--
-<?php
-if (!defined('JSON_PRETTY_PRINT')) {
-    print "skip: JSON_PRETTY_PRINT is required";
-} else if (json_encode(array(), JSON_PRETTY_PRINT) != '[]') {
-    print "skip: Does not have PHP #66021 (Blank line inside empty JSON array/object)";
-}
-?>
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-json';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-{
-    "event": "suiteStart",
-    "suite": "BankAccountTest",
-    "tests": 3
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceIsInitiallyZero"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceIsInitiallyZero",
-    "status": "pass",
-    "time": %f,
-    "trace": [],
-    "message": "",
-    "output": ""
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative",
-    "status": "pass",
-    "time": %f,
-    "trace": [],
-    "message": "",
-    "output": ""
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative2"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative2",
-    "status": "pass",
-    "time": %f,
-    "trace": [],
-    "message": "",
-    "output": ""
-}
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-pre-66021.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/log-json-pre-66021.phpt
deleted file mode 100644
index 190c215..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-pre-66021.phpt
+++ /dev/null
@@ -1,78 +0,0 @@
---TEST--
-phpunit --log-json php://stdout BankAccountTest ../_files/BankAccountTest.php
---SKIPIF--
-<?php
-if (!defined('JSON_PRETTY_PRINT')) {
-    print "skip: JSON_PRETTY_PRINT is required";
-} else if (json_encode(array(), JSON_PRETTY_PRINT) == '[]') {
-    print "skip: Has PHP #66021 (Blank line inside empty JSON array/object)";
-}
-?>
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-json';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-{
-    "event": "suiteStart",
-    "suite": "BankAccountTest",
-    "tests": 3
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceIsInitiallyZero"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceIsInitiallyZero",
-    "status": "pass",
-    "time": %f,
-    "trace": [
-
-    ],
-    "message": "",
-    "output": ""
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative",
-    "status": "pass",
-    "time": %f,
-    "trace": [
-
-    ],
-    "message": "",
-    "output": ""
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative2"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative2",
-    "status": "pass",
-    "time": %f,
-    "trace": [
-
-    ],
-    "message": "",
-    "output": ""
-}
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/log-tap.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/log-tap.phpt
deleted file mode 100644
index 3babdb8..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/log-tap.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-phpunit --log-tap php://stdout BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-tap';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-TAP version 13
-.ok 1 - BankAccountTest::testBalanceIsInitiallyZero
-.ok 2 - BankAccountTest::testBalanceCannotBecomeNegative
-.ok 3 - BankAccountTest::testBalanceCannotBecomeNegative2
-1..3
-
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/log-xml.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/log-xml.phpt
deleted file mode 100644
index 81bcc28..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/log-xml.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-phpunit --log-junit php://stdout BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-junit';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...<?xml version="1.0" encoding="UTF-8"?>
-<testsuites>
-  <testsuite name="BankAccountTest" file="%sBankAccountTest.php" tests="3" assertions="3" failures="0" errors="0" time="%f">
-    <testcase name="testBalanceIsInitiallyZero" class="BankAccountTest" file="%sBankAccountTest.php" line="35" assertions="1" time="%f"/>
-    <testcase name="testBalanceCannotBecomeNegative" class="BankAccountTest" file="%sBankAccountTest.php" line="45" assertions="1" time="%f"/>
-    <testcase name="testBalanceCannotBecomeNegative2" class="BankAccountTest" file="%sBankAccountTest.php" line="63" assertions="1" time="%f"/>
-  </testsuite>
-</testsuites>
-
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/output-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/output-isolation.phpt
deleted file mode 100644
index 7783144..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/output-isolation.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testExpectOutputStringFooActualFoo ../_files/OutputTestCase.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testExpectOutputStringFooActualFoo';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/OutputTestCase.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/repeat.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/repeat.phpt
deleted file mode 100644
index a262f63..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/repeat.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --repeat 3 BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--repeat';
-$_SERVER['argv'][3] = '3';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.........
-
-Time: %s, Memory: %sMb
-
-OK (9 tests, 9 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-incomplete.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-incomplete.phpt
deleted file mode 100644
index 9bc4c2d..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-incomplete.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --report-useless-tests IncompleteTest ../_files/IncompleteTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--report-useless-tests';
-$_SERVER['argv'][3] = 'IncompleteTest';
-$_SERVER['argv'][4] = dirname(dirname(__FILE__)) . '/_files/IncompleteTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-I
-
-Time: %s, Memory: %sMb
-
-OK, but incomplete, skipped, or risky tests!
-Tests: 1, Assertions: 0, Incomplete: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-isolation.phpt
deleted file mode 100644
index 9401b26..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --report-useless-tests --process-isolation IncompleteTest ../_files/IncompleteTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--report-useless-tests';
-$_SERVER['argv'][3] = '--process-isolation';
-$_SERVER['argv'][4] = 'NothingTest';
-$_SERVER['argv'][5] = dirname(dirname(__FILE__)) . '/_files/NothingTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-R
-
-Time: %s, Memory: %sMb
-
-OK, but incomplete, skipped, or risky tests!
-Tests: 1, Assertions: 0, Risky: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests.phpt
deleted file mode 100644
index 9eb22df..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --report-useless-tests NothingTest ../_files/NothingTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--report-useless-tests';
-$_SERVER['argv'][3] = 'NothingTest';
-$_SERVER['argv'][4] = dirname(dirname(__FILE__)) . '/_files/NothingTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-R
-
-Time: %s, Memory: %sMb
-
-OK, but incomplete, skipped, or risky tests!
-Tests: 1, Assertions: 0, Risky: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/tap.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/tap.phpt
deleted file mode 100644
index 88d855f..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/tap.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---TEST--
-phpunit --tap BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--tap';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-TAP version 13
-ok 1 - BankAccountTest::testBalanceIsInitiallyZero
-ok 2 - BankAccountTest::testBalanceCannotBecomeNegative
-ok 3 - BankAccountTest::testBalanceCannotBecomeNegative2
-1..3
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-multiple.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-multiple.phpt
deleted file mode 100644
index cf5d577..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-multiple.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-phpunit --test-suffix .test.php,.my.php ../_files/
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--test-suffix';
-$_SERVER['argv'][3] = '.test.php,.my.php';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.....
-
-Time: %s, Memory: %sMb
-
-OK (5 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-single.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-single.phpt
deleted file mode 100644
index 85f13be..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-single.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-phpunit --test-suffix .test.php ../_files/
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--test-suffix';
-$_SERVER['argv'][3] = '.test.php';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/testdox-html.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/testdox-html.phpt
deleted file mode 100644
index 85eaf87..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/testdox-html.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --testdox-html php://stdout BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--testdox-html';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-<html><body><h2 id="BankAccountTest">BankAccount</h2><ul>...<li>Balance is initially zero</li><li>Balance cannot become negative</li></ul></body></html>
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/testdox-text.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/testdox-text.phpt
deleted file mode 100644
index 2c09d4e..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/testdox-text.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-phpunit --testdox-text php://stdout BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--testdox-text';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-BankAccount
-... [x] Balance is initially zero
- [x] Balance cannot become negative
-
-
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/testdox.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/testdox.phpt
deleted file mode 100644
index 69fb23a..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/testdox.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit --testdox php://stdout BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--testdox';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-BankAccount
- [x] Balance is initially zero
- [x] Balance cannot become negative
-
diff --git a/core/vendor/phpunit/phpunit/tests/Util/ConfigurationTest.php b/core/vendor/phpunit/phpunit/tests/Util/ConfigurationTest.php
deleted file mode 100644
index b0ec593..0000000
--- a/core/vendor/phpunit/phpunit/tests/Util/ConfigurationTest.php
+++ /dev/null
@@ -1,508 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.0
- */
-class Util_ConfigurationTest extends PHPUnit_Framework_TestCase
-{
-    protected $configuration;
-
-    protected function setUp()
-    {
-        $this->configuration = PHPUnit_Util_Configuration::getInstance(
-            dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'configuration.xml'
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getInstance
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testExceptionIsThrownForNotExistingConfigurationFile()
-    {
-        PHPUnit_Util_Configuration::getInstance('not_existing_file.xml');
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getPHPUnitConfiguration
-     */
-    public function testShouldReadColorsWhenTrueInConfigurationfile()
-    {
-        $configurationFilename =  dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'configuration.colors.true.xml';
-        $configurationInstance = PHPUnit_Util_Configuration::getInstance($configurationFilename);
-        $configurationValues = $configurationInstance->getPHPUnitConfiguration();
-
-        $this->assertEquals(PHPUnit_TextUI_ResultPrinter::COLOR_AUTO, $configurationValues['colors']);
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getPHPUnitConfiguration
-     */
-    public function testShouldReadColorsWhenFalseInConfigurationfile()
-    {
-        $configurationFilename =  dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'configuration.colors.false.xml';
-        $configurationInstance = PHPUnit_Util_Configuration::getInstance($configurationFilename);
-        $configurationValues = $configurationInstance->getPHPUnitConfiguration();
-
-        $this->assertEquals(PHPUnit_TextUI_ResultPrinter::COLOR_NEVER, $configurationValues['colors']);
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getPHPUnitConfiguration
-     */
-    public function testShouldReadColorsWhenEmptyInConfigurationfile()
-    {
-        $configurationFilename =  dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'configuration.colors.empty.xml';
-        $configurationInstance = PHPUnit_Util_Configuration::getInstance($configurationFilename);
-        $configurationValues = $configurationInstance->getPHPUnitConfiguration();
-
-        $this->assertEquals(PHPUnit_TextUI_ResultPrinter::COLOR_NEVER, $configurationValues['colors']);
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getPHPUnitConfiguration
-     */
-    public function testShouldReadColorsWhenInvalidInConfigurationfile()
-    {
-        $configurationFilename =  dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'configuration.colors.invalid.xml';
-        $configurationInstance = PHPUnit_Util_Configuration::getInstance($configurationFilename);
-        $configurationValues = $configurationInstance->getPHPUnitConfiguration();
-
-        $this->assertEquals(PHPUnit_TextUI_ResultPrinter::COLOR_NEVER, $configurationValues['colors']);
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getFilterConfiguration
-     */
-    public function testFilterConfigurationIsReadCorrectly()
-    {
-        $this->assertEquals(
-            array(
-            'blacklist' =>
-            array(
-              'include' =>
-              array(
-                'directory' =>
-                array(
-                  0 =>
-                  array(
-                    'path' => '/path/to/files',
-                    'prefix' => '',
-                    'suffix' => '.php',
-                    'group' => 'DEFAULT'
-                  ),
-                ),
-                'file' =>
-                array(
-                  0 => '/path/to/file',
-                ),
-              ),
-              'exclude' =>
-              array(
-                'directory' =>
-                array(
-                  0 =>
-                  array(
-                    'path' => '/path/to/files',
-                    'prefix' => '',
-                    'suffix' => '.php',
-                    'group' => 'DEFAULT'
-                  ),
-                ),
-                'file' =>
-                array(
-                  0 => '/path/to/file',
-                ),
-              ),
-            ),
-            'whitelist' =>
-            array(
-              'addUncoveredFilesFromWhitelist' => true,
-              'processUncoveredFilesFromWhitelist' => false,
-              'include' =>
-              array(
-                'directory' =>
-                array(
-                  0 =>
-                  array(
-                    'path' => '/path/to/files',
-                    'prefix' => '',
-                    'suffix' => '.php',
-                    'group' => 'DEFAULT'
-                  ),
-                ),
-                'file' =>
-                array(
-                  0 => '/path/to/file',
-                ),
-              ),
-              'exclude' =>
-              array(
-                'directory' =>
-                array(
-                  0 =>
-                  array(
-                    'path' => '/path/to/files',
-                    'prefix' => '',
-                    'suffix' => '.php',
-                    'group' => 'DEFAULT'
-                  ),
-                ),
-                'file' =>
-                array(
-                  0 => '/path/to/file',
-                ),
-              ),
-            ),
-            ),
-            $this->configuration->getFilterConfiguration()
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getGroupConfiguration
-     */
-    public function testGroupConfigurationIsReadCorrectly()
-    {
-        $this->assertEquals(
-            array(
-            'include' =>
-            array(
-              0 => 'name',
-            ),
-            'exclude' =>
-            array(
-              0 => 'name',
-            ),
-            ),
-            $this->configuration->getGroupConfiguration()
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getListenerConfiguration
-     */
-    public function testListenerConfigurationIsReadCorrectly()
-    {
-        $dir = __DIR__;
-        $includePath = ini_get('include_path');
-
-        ini_set('include_path', $dir . PATH_SEPARATOR . $includePath);
-
-        $this->assertEquals(
-            array(
-            0 =>
-            array(
-              'class' => 'MyListener',
-              'file' => '/optional/path/to/MyListener.php',
-              'arguments' =>
-              array(
-                0 =>
-                array(
-                  0 => 'Sebastian',
-                ),
-                1 => 22,
-                2 => 'April',
-                3 => 19.78,
-                4 => null,
-                5 => new stdClass,
-                6 => dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'MyTestFile.php',
-                7 => dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'MyRelativePath',
-              ),
-            ),
-            array(
-              'class' => 'IncludePathListener',
-              'file' => __FILE__,
-              'arguments' => array()
-            ),
-            array(
-              'class' => 'CompactArgumentsListener',
-              'file' => '/CompactArgumentsListener.php',
-              'arguments' =>
-              array(
-                0 => 42
-              ),
-            ),
-            ),
-            $this->configuration->getListenerConfiguration()
-        );
-
-        ini_set('include_path', $includePath);
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getLoggingConfiguration
-     */
-    public function testLoggingConfigurationIsReadCorrectly()
-    {
-        $this->assertEquals(
-            array(
-            'lowUpperBound' => '50',
-            'highLowerBound' => '90',
-            'coverage-html' => '/tmp/report',
-            'coverage-clover' => '/tmp/clover.xml',
-            'json' => '/tmp/logfile.json',
-            'plain' => '/tmp/logfile.txt',
-            'tap' => '/tmp/logfile.tap',
-            'logIncompleteSkipped' => false,
-            'junit' => '/tmp/logfile.xml',
-            'testdox-html' => '/tmp/testdox.html',
-            'testdox-text' => '/tmp/testdox.txt',
-            ),
-            $this->configuration->getLoggingConfiguration()
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getPHPConfiguration
-     */
-    public function testPHPConfigurationIsReadCorrectly()
-    {
-        $this->assertEquals(
-            array(
-            'include_path' =>
-            array(
-              dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . '.',
-              '/path/to/lib'
-            ),
-            'ini'=> array('foo' => 'bar'),
-            'const'=> array('FOO' => false, 'BAR' => true),
-            'var'=> array('foo' => false),
-            'env'=> array('foo' => true),
-            'post'=> array('foo' => 'bar'),
-            'get'=> array('foo' => 'bar'),
-            'cookie'=> array('foo' => 'bar'),
-            'server'=> array('foo' => 'bar'),
-            'files'=> array('foo' => 'bar'),
-            'request'=> array('foo' => 'bar'),
-            ),
-            $this->configuration->getPHPConfiguration()
-        );
-    }
-
-    /**
-     * @backupGlobals enabled
-     * @covers PHPUnit_Util_Configuration::handlePHPConfiguration
-     */
-    public function testPHPConfigurationIsHandledCorrectly()
-    {
-        $this->configuration->handlePHPConfiguration();
-
-        $path = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . '.' . PATH_SEPARATOR . '/path/to/lib';
-        $this->assertStringStartsWith($path, ini_get('include_path'));
-        $this->assertEquals(false, FOO);
-        $this->assertEquals(true, BAR);
-        $this->assertEquals(false, $GLOBALS['foo']);
-        $this->assertEquals(true, $_ENV['foo']);
-        $this->assertEquals(true, getenv('foo'));
-        $this->assertEquals('bar', $_POST['foo']);
-        $this->assertEquals('bar', $_GET['foo']);
-        $this->assertEquals('bar', $_COOKIE['foo']);
-        $this->assertEquals('bar', $_SERVER['foo']);
-        $this->assertEquals('bar', $_FILES['foo']);
-        $this->assertEquals('bar', $_REQUEST['foo']);
-    }
-
-    /**
-     * @backupGlobals enabled
-     * @see https://github.com/sebastianbergmann/phpunit/issues/1181
-     */
-    public function testHandlePHPConfigurationDoesNotOverwrittenExistingEnvArrayVariables()
-    {
-        $_ENV['foo'] = false;
-        $this->configuration->handlePHPConfiguration();
-
-        $this->assertEquals(false, $_ENV['foo']);
-        $this->assertEquals(true, getenv('foo'));
-    }
-
-    /**
-     * @backupGlobals enabled
-     * @see https://github.com/sebastianbergmann/phpunit/issues/1181
-     */
-    public function testHandlePHPConfigurationDoesNotOverriteVariablesFromPutEnv()
-    {
-        putenv('foo=putenv');
-        $this->configuration->handlePHPConfiguration();
-
-        $this->assertEquals(true, $_ENV['foo']);
-        $this->assertEquals('putenv', getenv('foo'));
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getPHPUnitConfiguration
-     */
-    public function testPHPUnitConfigurationIsReadCorrectly()
-    {
-        $this->assertEquals(
-            array(
-            'backupGlobals' => true,
-            'backupStaticAttributes' => false,
-            'disallowChangesToGlobalState' => false,
-            'bootstrap' => '/path/to/bootstrap.php',
-            'cacheTokens' => false,
-            'columns' => 80,
-            'colors' => 'never',
-            'stderr' => false,
-            'convertErrorsToExceptions' => true,
-            'convertNoticesToExceptions' => true,
-            'convertWarningsToExceptions' => true,
-            'forceCoversAnnotation' => false,
-            'mapTestClassNameToCoveredClassName' => false,
-            'printerClass' => 'PHPUnit_TextUI_ResultPrinter',
-            'stopOnFailure' => false,
-            'reportUselessTests' => false,
-            'strictCoverage' => false,
-            'disallowTestOutput' => false,
-            'enforceTimeLimit' => false,
-            'disallowTodoAnnotatedTests' => false,
-            'testSuiteLoaderClass' => 'PHPUnit_Runner_StandardTestSuiteLoader',
-            'verbose' => false,
-            'timeoutForSmallTests' => 1,
-            'timeoutForMediumTests' => 10,
-            'timeoutForLargeTests' => 60
-            ),
-            $this->configuration->getPHPUnitConfiguration()
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getSeleniumBrowserConfiguration
-     */
-    public function testSeleniumBrowserConfigurationIsReadCorrectly()
-    {
-        $this->assertEquals(
-            array(
-            0 =>
-            array(
-              'name' => 'Firefox on Linux',
-              'browser' => '*firefox /usr/lib/firefox/firefox-bin',
-              'host' => 'my.linux.box',
-              'port' => 4444,
-              'timeout' => 30000,
-            ),
-            ),
-            $this->configuration->getSeleniumBrowserConfiguration()
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Configuration::getInstance
-     */
-    public function testXincludeInConfiguration()
-    {
-        $configurationWithXinclude = PHPUnit_Util_Configuration::getInstance(
-            dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'configuration_xinclude.xml'
-        );
-
-        $this->assertConfigurationEquals(
-            $this->configuration,
-            $configurationWithXinclude
-        );
-    }
-
-    /**
-     * @ticket 1311
-     * @covers PHPUnit_Util_Configuration::getLoggingConfiguration
-     * @covers PHPUnit_Util_Configuration::getPHPConfiguration
-     * @covers PHPUnit_Util_Configuration::getPHPUnitConfiguration
-     * @covers PHPUnit_Util_Configuration::getTestSuiteConfiguration
-     * @covers PHPUnit_Util_Configuration::getFilterConfiguration
-     * @uses   PHPUnit_Util_Configuration::getInstance
-     */
-    public function testWithEmptyConfigurations()
-    {
-        $emptyConfiguration = PHPUnit_Util_Configuration::getInstance(
-            dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'configuration_empty.xml'
-        );
-
-        $logging = $emptyConfiguration->getLoggingConfiguration();
-        $this->assertEmpty($logging);
-
-        $php = $emptyConfiguration->getPHPConfiguration();
-        $this->assertEmpty($php['include_path']);
-
-        $phpunit = $emptyConfiguration->getPHPUnitConfiguration();
-        $this->assertArrayNotHasKey('bootstrap', $phpunit);
-        $this->assertArrayNotHasKey('testSuiteLoaderFile', $phpunit);
-        $this->assertArrayNotHasKey('printerFile', $phpunit);
-
-        $suite = $emptyConfiguration->getTestSuiteConfiguration();
-        $this->assertEmpty($suite->getGroups());
-
-        $filter = $emptyConfiguration->getFilterConfiguration();
-        $this->assertEmpty($filter['blacklist']['include']['directory']);
-        $this->assertEmpty($filter['blacklist']['include']['file']);
-        $this->assertEmpty($filter['blacklist']['exclude']['directory']);
-        $this->assertEmpty($filter['blacklist']['exclude']['file']);
-        $this->assertEmpty($filter['whitelist']['include']['directory']);
-        $this->assertEmpty($filter['whitelist']['include']['file']);
-        $this->assertEmpty($filter['whitelist']['exclude']['directory']);
-        $this->assertEmpty($filter['whitelist']['exclude']['file']);
-    }
-
-    /**
-     * Asserts that the values in $actualConfiguration equal $expectedConfiguration.
-     *
-     * @param PHPUnit_Util_Configuration $expectedConfiguration
-     * @param PHPUnit_Util_Configuration $actualConfiguration
-     * @return void
-     */
-    protected function assertConfigurationEquals(PHPUnit_Util_Configuration $expectedConfiguration, PHPUnit_Util_Configuration $actualConfiguration)
-    {
-        $this->assertEquals(
-            $expectedConfiguration->getFilterConfiguration(),
-            $actualConfiguration->getFilterConfiguration()
-        );
-
-        $this->assertEquals(
-            $expectedConfiguration->getGroupConfiguration(),
-            $actualConfiguration->getGroupConfiguration()
-        );
-
-        $this->assertEquals(
-            $expectedConfiguration->getListenerConfiguration(),
-            $actualConfiguration->getListenerConfiguration()
-        );
-
-        $this->assertEquals(
-            $expectedConfiguration->getLoggingConfiguration(),
-            $actualConfiguration->getLoggingConfiguration()
-        );
-
-        $this->assertEquals(
-            $expectedConfiguration->getPHPConfiguration(),
-            $actualConfiguration->getPHPConfiguration()
-        );
-
-        $this->assertEquals(
-            $expectedConfiguration->getPHPUnitConfiguration(),
-            $actualConfiguration->getPHPUnitConfiguration()
-        );
-
-        $this->assertEquals(
-            $expectedConfiguration->getSeleniumBrowserConfiguration(),
-            $actualConfiguration->getSeleniumBrowserConfiguration()
-        );
-
-        $this->assertEquals(
-            $expectedConfiguration->getTestSuiteConfiguration(),
-            $actualConfiguration->getTestSuiteConfiguration()
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Util/GlobalStateTest.php b/core/vendor/phpunit/phpunit/tests/Util/GlobalStateTest.php
deleted file mode 100644
index 9c1b389..0000000
--- a/core/vendor/phpunit/phpunit/tests/Util/GlobalStateTest.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- */
-class Util_GlobalStateTest extends PHPUnit_Framework_TestCase
-{
-
-    /**
-     * @covers PHPUnit_Util_GlobalState::processIncludedFilesAsString
-     */
-    public function testIncludedFilesAsStringSkipsVfsProtocols()
-    {
-        $dir = __DIR__;
-        $files = array(
-            'phpunit', // The 0 index is not used
-            $dir . '/ConfigurationTest.php',
-            $dir . '/GlobalStateTest.php',
-            'vfs://' . $dir . '/RegexTest.php',
-            'phpvfs53e46260465c7://' . $dir . '/TestTest.php',
-            'file://' . $dir . '/XMLTest.php'
-        );
-
-        $this->assertEquals(
-            "require_once '" . $dir . "/ConfigurationTest.php';\n" .
-            "require_once '" . $dir . "/GlobalStateTest.php';\n" .
-            "require_once 'file://" . $dir . "/XMLTest.php';\n", PHPUnit_Util_GlobalState::processIncludedFilesAsString($files));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Util/RegexTest.php b/core/vendor/phpunit/phpunit/tests/Util/RegexTest.php
deleted file mode 100644
index bb05dba..0000000
--- a/core/vendor/phpunit/phpunit/tests/Util/RegexTest.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 4.2.0
- */
-class Util_RegexTest extends PHPUnit_Framework_TestCase
-{
-    public function validRegexpProvider()
-    {
-        return array(
-          array('#valid regexp#', 'valid regexp', 1),
-          array(';val.*xp;', 'valid regexp', 1),
-          array('/val.*xp/i', 'VALID REGEXP', 1),
-          array('/a val.*p/','valid regexp', 0),
-        );
-    }
-
-    public function invalidRegexpProvider()
-    {
-        return array(
-          array('valid regexp', 'valid regexp'),
-          array(';val.*xp', 'valid regexp'),
-          array('val.*xp/i', 'VALID REGEXP'),
-        );
-    }
-
-    /**
-     * @dataProvider validRegexpProvider
-     * @covers       PHPUnit_Util_Regex::pregMatchSafe
-     */
-    public function testValidRegex($pattern, $subject, $return)
-    {
-        $this->assertEquals($return, PHPUnit_Util_Regex::pregMatchSafe($pattern, $subject));
-    }
-
-    /**
-     * @dataProvider invalidRegexpProvider
-     * @covers       PHPUnit_Util_Regex::pregMatchSafe
-     */
-    public function testInvalidRegex($pattern, $subject)
-    {
-        $this->assertFalse(PHPUnit_Util_Regex::pregMatchSafe($pattern, $subject));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Util/TestDox/NamePrettifierTest.php b/core/vendor/phpunit/phpunit/tests/Util/TestDox/NamePrettifierTest.php
deleted file mode 100644
index 314bcec..0000000
--- a/core/vendor/phpunit/phpunit/tests/Util/TestDox/NamePrettifierTest.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.1.0
- */
-class Util_TestDox_NamePrettifierTest extends PHPUnit_Framework_TestCase
-{
-    protected $namePrettifier;
-
-    protected function setUp()
-    {
-        $this->namePrettifier = new PHPUnit_Util_TestDox_NamePrettifier;
-    }
-
-    /**
-     * @covers PHPUnit_Util_TestDox_NamePrettifier::prettifyTestClass
-     */
-    public function testTitleHasSensibleDefaults()
-    {
-        $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('FooTest'));
-        $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('TestFoo'));
-        $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('TestFooTest'));
-        $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('Test\FooTest'));
-    }
-
-    /**
-     * @covers PHPUnit_Util_TestDox_NamePrettifier::prettifyTestClass
-     */
-    public function testCaterForUserDefinedSuffix()
-    {
-        $this->namePrettifier->setSuffix('TestCase');
-        $this->namePrettifier->setPrefix(null);
-
-        $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('FooTestCase'));
-        $this->assertEquals('TestFoo', $this->namePrettifier->prettifyTestClass('TestFoo'));
-        $this->assertEquals('FooTest', $this->namePrettifier->prettifyTestClass('FooTest'));
-    }
-
-    /**
-     * @covers PHPUnit_Util_TestDox_NamePrettifier::prettifyTestClass
-     */
-    public function testCaterForUserDefinedPrefix()
-    {
-        $this->namePrettifier->setSuffix(null);
-        $this->namePrettifier->setPrefix('XXX');
-
-        $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('XXXFoo'));
-        $this->assertEquals('TestXXX', $this->namePrettifier->prettifyTestClass('TestXXX'));
-        $this->assertEquals('XXX', $this->namePrettifier->prettifyTestClass('XXXXXX'));
-    }
-
-    /**
-     * @covers PHPUnit_Util_TestDox_NamePrettifier::prettifyTestMethod
-     */
-    public function testTestNameIsConvertedToASentence()
-    {
-        $this->assertEquals('This is a test', $this->namePrettifier->prettifyTestMethod('testThisIsATest'));
-        $this->assertEquals('This is a test', $this->namePrettifier->prettifyTestMethod('testThisIsATest2'));
-        $this->assertEquals('this is a test', $this->namePrettifier->prettifyTestMethod('this_is_a_test'));
-        $this->assertEquals('Foo for bar is 0', $this->namePrettifier->prettifyTestMethod('testFooForBarIs0'));
-        $this->assertEquals('Foo for baz is 1', $this->namePrettifier->prettifyTestMethod('testFooForBazIs1'));
-    }
-
-    /**
-     * @covers PHPUnit_Util_TestDox_NamePrettifier::prettifyTestMethod
-     * @ticket 224
-     */
-    public function testTestNameIsNotGroupedWhenNotInSequence()
-    {
-        $this->assertEquals('Sets redirect header on 301', $this->namePrettifier->prettifyTestMethod('testSetsRedirectHeaderOn301'));
-        $this->assertEquals('Sets redirect header on 302', $this->namePrettifier->prettifyTestMethod('testSetsRedirectHeaderOn302'));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Util/TestTest.php b/core/vendor/phpunit/phpunit/tests/Util/TestTest.php
deleted file mode 100644
index 3047acd..0000000
--- a/core/vendor/phpunit/phpunit/tests/Util/TestTest.php
+++ /dev/null
@@ -1,560 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-if (!defined('TEST_FILES_PATH')) {
-    define(
-        'TEST_FILES_PATH',
-        dirname(__DIR__) . DIRECTORY_SEPARATOR .
-        '_files' . DIRECTORY_SEPARATOR
-    );
-}
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.6
- */
-class Util_TestTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers PHPUnit_Util_Test::getExpectedException
-     * @todo   Split up in separate tests
-     */
-    public function testGetExpectedException()
-    {
-        $this->assertArraySubset(
-          array('class' => 'FooBarBaz', 'code' => null, 'message' => ''),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testOne')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'Foo_Bar_Baz', 'code' => null, 'message' => ''),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testTwo')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'Foo\Bar\Baz', 'code' => null, 'message' => ''),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testThree')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'ほげ', 'code' => null, 'message' => ''),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testFour')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'Class', 'code' => 1234, 'message' => 'Message'),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testFive')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'Class', 'code' => 1234, 'message' => 'Message'),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testSix')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'Class', 'code' => 'ExceptionCode', 'message' => 'Message'),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testSeven')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'Class', 'code' => 0, 'message' => 'Message'),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testEight')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'Class', 'code' => ExceptionTest::ERROR_CODE, 'message' => ExceptionTest::ERROR_MESSAGE),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testNine')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'Class', 'code' => null, 'message' => ''),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testSingleLine')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'Class', 'code' => My\Space\ExceptionNamespaceTest::ERROR_CODE, 'message' => My\Space\ExceptionNamespaceTest::ERROR_MESSAGE),
-          PHPUnit_Util_Test::getExpectedException('My\Space\ExceptionNamespaceTest', 'testConstants')
-        );
-
-        // Ensure the Class::CONST expression is only evaluated when the constant really exists
-        $this->assertArraySubset(
-          array('class' => 'Class', 'code' => 'ExceptionTest::UNKNOWN_CODE_CONSTANT', 'message' => 'ExceptionTest::UNKNOWN_MESSAGE_CONSTANT'),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testUnknownConstants')
-        );
-
-        $this->assertArraySubset(
-          array('class' => 'Class', 'code' => 'My\Space\ExceptionNamespaceTest::UNKNOWN_CODE_CONSTANT', 'message' => 'My\Space\ExceptionNamespaceTest::UNKNOWN_MESSAGE_CONSTANT'),
-          PHPUnit_Util_Test::getExpectedException('My\Space\ExceptionNamespaceTest', 'testUnknownConstants')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Test::getExpectedException
-     */
-    public function testGetExpectedRegExp()
-    {
-        $this->assertArraySubset(
-          array('message_regex' => '#regex#'),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testWithRegexMessage')
-        );
-
-        $this->assertArraySubset(
-          array('message_regex' => '#regex#'),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testWithRegexMessageFromClassConstant')
-        );
-
-        $this->assertArraySubset(
-          array('message_regex' => 'ExceptionTest::UNKNOWN_MESSAGE_REGEX_CONSTANT'),
-          PHPUnit_Util_Test::getExpectedException('ExceptionTest', 'testWithUnknowRegexMessageFromClassConstant')
-        );
-    }
-
-    /**
-     * @covers       PHPUnit_Util_Test::getRequirements
-     * @dataProvider requirementsProvider
-     */
-    public function testGetRequirements($test, $result)
-    {
-        $this->assertEquals(
-            $result,
-            PHPUnit_Util_Test::getRequirements('RequirementsTest', $test)
-        );
-    }
-
-    public function requirementsProvider()
-    {
-        return array(
-            array('testOne',    array()),
-            array('testTwo',    array('PHPUnit' => '1.0')),
-            array('testThree',  array('PHP' => '2.0')),
-            array('testFour',   array('PHPUnit'=>'2.0', 'PHP' => '1.0')),
-            array('testFive',   array('PHP' => '5.4.0RC6')),
-            array('testSix',    array('PHP' => '5.4.0-alpha1')),
-            array('testSeven',  array('PHP' => '5.4.0beta2')),
-            array('testEight',  array('PHP' => '5.4-dev')),
-            array('testNine',   array('functions' => array('testFunc'))),
-            array('testTen',    array('extensions' => array('testExt'))),
-            array('testEleven', array('OS' => '/Linux/i')),
-            array(
-              'testSpace',
-              array(
-                'extensions' => array('spl'),
-                'OS' => '/.*/i'
-              )
-            ),
-            array(
-              'testAllPossibleRequirements',
-              array(
-                'PHP' => '99-dev',
-                'PHPUnit' => '9-dev',
-                'OS' => '/DOESNOTEXIST/i',
-                'functions' => array(
-                  'testFuncOne',
-                  'testFuncTwo',
-                ),
-                'extensions' => array(
-                  'testExtOne',
-                  'testExtTwo',
-                )
-              )
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Test::getRequirements
-     */
-    public function testGetRequirementsMergesClassAndMethodDocBlocks()
-    {
-        $expectedAnnotations = array(
-            'PHP' => '5.4',
-            'PHPUnit' => '3.7',
-            'OS' => '/WINNT/i',
-            'functions' => array(
-              'testFuncClass',
-              'testFuncMethod',
-            ),
-            'extensions' => array(
-              'testExtClass',
-              'testExtMethod',
-            )
-        );
-
-        $this->assertEquals(
-            $expectedAnnotations,
-            PHPUnit_Util_Test::getRequirements('RequirementsClassDocBlockTest', 'testMethod')
-        );
-    }
-
-    /**
-     * @covers       PHPUnit_Util_Test::getMissingRequirements
-     * @dataProvider missingRequirementsProvider
-     */
-    public function testGetMissingRequirements($test, $result)
-    {
-        $this->assertEquals(
-            $result,
-            PHPUnit_Util_Test::getMissingRequirements('RequirementsTest', $test)
-        );
-    }
-
-    public function missingRequirementsProvider()
-    {
-        return array(
-            array('testOne',            array()),
-            array('testNine',           array('Function testFunc is required.')),
-            array('testTen',            array('Extension testExt is required.')),
-            array('testAlwaysSkip',     array('PHPUnit 1111111 (or later) is required.')),
-            array('testAlwaysSkip2',    array('PHP 9999999 (or later) is required.')),
-            array('testAlwaysSkip3',    array('Operating system matching /DOESNOTEXIST/i is required.')),
-            array('testAllPossibleRequirements', array(
-              'PHP 99-dev (or later) is required.',
-              'PHPUnit 9-dev (or later) is required.',
-              'Operating system matching /DOESNOTEXIST/i is required.',
-              'Function testFuncOne is required.',
-              'Function testFuncTwo is required.',
-              'Extension testExtOne is required.',
-              'Extension testExtTwo is required.',
-            )),
-        );
-    }
-
-    /**
-     * @coversNothing
-     * @todo   This test does not really test functionality of PHPUnit_Util_Test
-     */
-    public function testGetProvidedDataRegEx()
-    {
-        $result = preg_match(PHPUnit_Util_Test::REGEX_DATA_PROVIDER, '@dataProvider method', $matches);
-        $this->assertEquals(1, $result);
-        $this->assertEquals('method', $matches[1]);
-
-        $result = preg_match(PHPUnit_Util_Test::REGEX_DATA_PROVIDER, '@dataProvider class::method', $matches);
-        $this->assertEquals(1, $result);
-        $this->assertEquals('class::method', $matches[1]);
-
-        $result = preg_match(PHPUnit_Util_Test::REGEX_DATA_PROVIDER, '@dataProvider namespace\class::method', $matches);
-        $this->assertEquals(1, $result);
-        $this->assertEquals('namespace\class::method', $matches[1]);
-
-        $result = preg_match(PHPUnit_Util_Test::REGEX_DATA_PROVIDER, '@dataProvider namespace\namespace\class::method', $matches);
-        $this->assertEquals(1, $result);
-        $this->assertEquals('namespace\namespace\class::method', $matches[1]);
-
-        $result = preg_match(PHPUnit_Util_Test::REGEX_DATA_PROVIDER, '@dataProvider メソッド', $matches);
-        $this->assertEquals(1, $result);
-        $this->assertEquals('メソッド', $matches[1]);
-    }
-
-    /**
-     * @covers PHPUnit_Util_Test::getDependencies
-     * @todo   Not sure what this test tests (name is misleading at least)
-     */
-    public function testParseAnnotation()
-    {
-        $this->assertEquals(
-            array('Foo', 'ほげ'),
-            PHPUnit_Util_Test::getDependencies(get_class($this), 'methodForTestParseAnnotation')
-        );
-    }
-
-    /**
-     * @depends Foo
-     * @depends ほげ
-     * @todo    Remove fixture from test class
-     */
-    public function methodForTestParseAnnotation()
-    {
-    }
-
-    /**
-     * @covers PHPUnit_Util_Test::getDependencies
-     */
-    public function testParseAnnotationThatIsOnlyOneLine()
-    {
-        $this->assertEquals(
-            array('Bar'),
-            PHPUnit_Util_Test::getDependencies(get_class($this), 'methodForTestParseAnnotationThatIsOnlyOneLine')
-        );
-    }
-
-    /** @depends Bar */
-    public function methodForTestParseAnnotationThatIsOnlyOneLine()
-    {
-        // TODO Remove fixture from test class
-    }
-
-    /**
-     * @covers       PHPUnit_Util_Test::getLinesToBeCovered
-     * @covers       PHPUnit_Util_Test::getLinesToBeCoveredOrUsed
-     * @covers       PHPUnit_Util_Test::resolveElementToReflectionObjects
-     * @dataProvider getLinesToBeCoveredProvider
-     */
-    public function testGetLinesToBeCovered($test, $lines)
-    {
-        if (strpos($test, 'Namespace') === 0) {
-            $expected = array(
-              TEST_FILES_PATH . 'NamespaceCoveredClass.php' => $lines
-            );
-        } elseif ($test === 'CoverageNoneTest') {
-            $expected = array();
-        } elseif ($test === 'CoverageNothingTest') {
-            $expected = false;
-        } elseif ($test === 'CoverageFunctionTest') {
-            $expected = array(
-              TEST_FILES_PATH . 'CoveredFunction.php' => $lines
-            );
-        } else {
-            $expected = array(TEST_FILES_PATH . 'CoveredClass.php' => $lines);
-        }
-
-        $this->assertEquals(
-            $expected,
-            PHPUnit_Util_Test::getLinesToBeCovered(
-                $test, 'testSomething'
-            )
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Util_Test::getLinesToBeCovered
-     * @covers            PHPUnit_Util_Test::getLinesToBeCoveredOrUsed
-     * @covers            PHPUnit_Util_Test::resolveElementToReflectionObjects
-     * @expectedException PHPUnit_Framework_CodeCoverageException
-     */
-    public function testGetLinesToBeCovered2()
-    {
-        PHPUnit_Util_Test::getLinesToBeCovered(
-            'NotExistingCoveredElementTest', 'testOne'
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Util_Test::getLinesToBeCovered
-     * @covers            PHPUnit_Util_Test::getLinesToBeCoveredOrUsed
-     * @covers            PHPUnit_Util_Test::resolveElementToReflectionObjects
-     * @expectedException PHPUnit_Framework_CodeCoverageException
-     */
-    public function testGetLinesToBeCovered3()
-    {
-        PHPUnit_Util_Test::getLinesToBeCovered(
-            'NotExistingCoveredElementTest', 'testTwo'
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Util_Test::getLinesToBeCovered
-     * @covers            PHPUnit_Util_Test::getLinesToBeCoveredOrUsed
-     * @covers            PHPUnit_Util_Test::resolveElementToReflectionObjects
-     * @expectedException PHPUnit_Framework_CodeCoverageException
-     */
-    public function testGetLinesToBeCovered4()
-    {
-        PHPUnit_Util_Test::getLinesToBeCovered(
-            'NotExistingCoveredElementTest', 'testThree'
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Test::getLinesToBeCovered
-     * @covers PHPUnit_Util_Test::getLinesToBeCoveredOrUsed
-     */
-    public function testGetLinesToBeCoveredSkipsNonExistentMethods()
-    {
-        $this->assertSame(
-            array(),
-            PHPUnit_Util_Test::getLinesToBeCovered(
-                'NotExistingCoveredElementTest',
-                'methodDoesNotExist'
-            )
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Util_Test::getLinesToBeCovered
-     * @covers            PHPUnit_Util_Test::getLinesToBeCoveredOrUsed
-     * @expectedException PHPUnit_Framework_CodeCoverageException
-     */
-    public function testTwoCoversDefaultClassAnnoationsAreNotAllowed()
-    {
-        PHPUnit_Util_Test::getLinesToBeCovered(
-            'CoverageTwoDefaultClassAnnotations',
-            'testSomething'
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Test::getLinesToBeCovered
-     * @covers PHPUnit_Util_Test::getLinesToBeCoveredOrUsed
-     */
-    public function testFunctionParenthesesAreAllowed()
-    {
-        $this->assertSame(
-            array(TEST_FILES_PATH . 'CoveredFunction.php' => range(2, 4)),
-            PHPUnit_Util_Test::getLinesToBeCovered(
-                'CoverageFunctionParenthesesTest',
-                'testSomething'
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Test::getLinesToBeCovered
-     * @covers PHPUnit_Util_Test::getLinesToBeCoveredOrUsed
-     */
-    public function testFunctionParenthesesAreAllowedWithWhitespace()
-    {
-        $this->assertSame(
-            array(TEST_FILES_PATH . 'CoveredFunction.php' => range(2, 4)),
-            PHPUnit_Util_Test::getLinesToBeCovered(
-                'CoverageFunctionParenthesesWhitespaceTest',
-                'testSomething'
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Test::getLinesToBeCovered
-     * @covers PHPUnit_Util_Test::getLinesToBeCoveredOrUsed
-     */
-    public function testMethodParenthesesAreAllowed()
-    {
-        $this->assertSame(
-            array(TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35)),
-            PHPUnit_Util_Test::getLinesToBeCovered(
-                'CoverageMethodParenthesesTest',
-                'testSomething'
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Util_Test::getLinesToBeCovered
-     * @covers PHPUnit_Util_Test::getLinesToBeCoveredOrUsed
-     */
-    public function testMethodParenthesesAreAllowedWithWhitespace()
-    {
-        $this->assertSame(
-            array(TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35)),
-            PHPUnit_Util_Test::getLinesToBeCovered(
-                'CoverageMethodParenthesesWhitespaceTest',
-                'testSomething'
-            )
-        );
-    }
-
-    public function getLinesToBeCoveredProvider()
-    {
-        return array(
-          array(
-            'CoverageNoneTest',
-            array()
-          ),
-          array(
-            'CoverageClassExtendedTest',
-            array_merge(range(19, 36), range(2, 17))
-          ),
-          array(
-            'CoverageClassTest',
-            range(19, 36)
-          ),
-          array(
-            'CoverageMethodTest',
-            range(31, 35)
-          ),
-          array(
-            'CoverageMethodOneLineAnnotationTest',
-            range(31, 35)
-          ),
-          array(
-            'CoverageNotPrivateTest',
-            array_merge(range(25, 29), range(31, 35))
-          ),
-          array(
-            'CoverageNotProtectedTest',
-            array_merge(range(21, 23), range(31, 35))
-          ),
-          array(
-            'CoverageNotPublicTest',
-            array_merge(range(21, 23), range(25, 29))
-          ),
-          array(
-            'CoveragePrivateTest',
-            range(21, 23)
-          ),
-          array(
-            'CoverageProtectedTest',
-            range(25, 29)
-          ),
-          array(
-            'CoveragePublicTest',
-            range(31, 35)
-          ),
-          array(
-            'CoverageFunctionTest',
-            range(2, 4)
-          ),
-          array(
-            'NamespaceCoverageClassExtendedTest',
-            array_merge(range(21, 38), range(4, 19))
-          ),
-          array(
-            'NamespaceCoverageClassTest',
-            range(21, 38)
-          ),
-          array(
-            'NamespaceCoverageMethodTest',
-            range(33, 37)
-          ),
-          array(
-            'NamespaceCoverageNotPrivateTest',
-            array_merge(range(27, 31), range(33, 37))
-          ),
-          array(
-            'NamespaceCoverageNotProtectedTest',
-            array_merge(range(23, 25), range(33, 37))
-          ),
-          array(
-            'NamespaceCoverageNotPublicTest',
-            array_merge(range(23, 25), range(27, 31))
-          ),
-          array(
-            'NamespaceCoveragePrivateTest',
-            range(23, 25)
-          ),
-          array(
-            'NamespaceCoverageProtectedTest',
-            range(27, 31)
-          ),
-          array(
-            'NamespaceCoveragePublicTest',
-            range(33, 37)
-          ),
-          array(
-            'NamespaceCoverageCoversClassTest',
-            array_merge(range(23, 25), range(27, 31), range(33, 37), range(6, 8), range(10, 13), range(15, 18))
-          ),
-          array(
-            'NamespaceCoverageCoversClassPublicTest',
-            range(33, 37)
-          ),
-          array(
-            'CoverageNothingTest',
-            false
-          )
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Util/XMLTest.php b/core/vendor/phpunit/phpunit/tests/Util/XMLTest.php
deleted file mode 100644
index b3c73d8..0000000
--- a/core/vendor/phpunit/phpunit/tests/Util/XMLTest.php
+++ /dev/null
@@ -1,327 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- *
- *
- * @package    PHPUnit
- * @author     Mike Naberezny <mike@maintainable.com>
- * @author     Derek DeVries <derek@maintainable.com>
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.3.0
- * @covers     PHPUnit_Util_XML
- */
-class Util_XMLTest extends PHPUnit_Framework_TestCase
-{
-    public function testAssertValidKeysValidKeys()
-    {
-        $options   = array('testA' => 1, 'testB' => 2, 'testC' => 3);
-        $valid     = array('testA', 'testB', 'testC');
-        $expected  = array('testA' => 1, 'testB' => 2, 'testC' => 3);
-        $validated = PHPUnit_Util_XML::assertValidKeys($options, $valid);
-
-        $this->assertEquals($expected, $validated);
-    }
-
-    public function testAssertValidKeysValidKeysEmpty()
-    {
-        $options   = array('testA' => 1, 'testB' => 2);
-        $valid     = array('testA', 'testB', 'testC');
-        $expected  = array('testA' => 1, 'testB' => 2, 'testC' => null);
-        $validated = PHPUnit_Util_XML::assertValidKeys($options, $valid);
-
-        $this->assertEquals($expected, $validated);
-    }
-
-    public function testAssertValidKeysDefaultValuesA()
-    {
-        $options   = array('testA' => 1, 'testB' => 2);
-        $valid     = array('testA' => 23, 'testB' => 24, 'testC' => 25);
-        $expected  = array('testA' => 1, 'testB' => 2, 'testC' => 25);
-        $validated = PHPUnit_Util_XML::assertValidKeys($options, $valid);
-
-        $this->assertEquals($expected, $validated);
-    }
-
-    public function testAssertValidKeysDefaultValuesB()
-    {
-        $options   = array();
-        $valid     = array('testA' => 23, 'testB' => 24, 'testC' => 25);
-        $expected  = array('testA' => 23, 'testB' => 24, 'testC' => 25);
-        $validated = PHPUnit_Util_XML::assertValidKeys($options, $valid);
-
-        $this->assertEquals($expected, $validated);
-    }
-
-    public function testAssertValidKeysInvalidKey()
-    {
-        $options = array('testA' => 1, 'testB' => 2, 'testD' => 3);
-        $valid   = array('testA', 'testB', 'testC');
-
-        try {
-            $validated = PHPUnit_Util_XML::assertValidKeys($options, $valid);
-            $this->fail();
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->assertEquals('Unknown key(s): testD', $e->getMessage());
-        }
-    }
-
-    public function testAssertValidKeysInvalidKeys()
-    {
-        $options = array('testA' => 1, 'testD' => 2, 'testE' => 3);
-        $valid   = array('testA', 'testB', 'testC');
-
-        try {
-            $validated = PHPUnit_Util_XML::assertValidKeys($options, $valid);
-            $this->fail();
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->assertEquals('Unknown key(s): testD, testE', $e->getMessage());
-        }
-    }
-
-    public function testConvertAssertSelect()
-    {
-        $selector  = 'div#folder.open a[href="http://www.xerox.com"][title="xerox"].selected.big > span + h1';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag'   => 'div',
-                           'id'    => 'folder',
-                           'class' => 'open',
-                           'descendant' => array('tag'        => 'a',
-                                                 'class'      => 'selected big',
-                                                 'attributes' => array('href'  => 'http://www.xerox.com',
-                                                                       'title' => 'xerox'),
-                                                 'child'      => array('tag' => 'span',
-                                                                       'adjacent-sibling' => array('tag' => 'h1'))));
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectElt()
-    {
-        $selector  = 'div';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag' => 'div');
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertClass()
-    {
-        $selector  = '.foo';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('class' => 'foo');
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertId()
-    {
-        $selector  = '#foo';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('id' => 'foo');
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertAttribute()
-    {
-        $selector  = '[foo="bar"]';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('attributes' => array('foo' => 'bar'));
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertAttributeSpaces()
-    {
-        $selector  = '[foo="bar baz"] div[value="foo bar"]';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('attributes' => array('foo' => 'bar baz'),
-                           'descendant' => array('tag'        => 'div',
-                                                 'attributes' => array('value' => 'foo bar')));
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertAttributeMultipleSpaces()
-    {
-        $selector = '[foo="bar baz"] div[value="foo bar baz"]';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag      = array('attributes' => array('foo' => 'bar baz'),
-                          'descendant' => array('tag' => 'div',
-                                                'attributes' => array('value' => 'foo bar baz')));
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectEltClass()
-    {
-        $selector  = 'div.foo';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag' => 'div', 'class' => 'foo');
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectEltId()
-    {
-        $selector  = 'div#foo';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag' => 'div', 'id' => 'foo');
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectEltAttrEqual()
-    {
-        $selector  = 'div[foo="bar"]';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag' => 'div', 'attributes' => array('foo' => 'bar'));
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectEltMultiAttrEqual()
-    {
-        $selector  = 'div[foo="bar"][baz="fob"]';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag' => 'div', 'attributes' => array('foo' => 'bar', 'baz' => 'fob'));
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectEltAttrHasOne()
-    {
-        $selector  = 'div[foo~="bar"]';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag' => 'div', 'attributes' => array('foo' => 'regexp:/.*\bbar\b.*/'));
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectEltAttrContains()
-    {
-        $selector  = 'div[foo*="bar"]';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag' => 'div', 'attributes' => array('foo' => 'regexp:/.*bar.*/'));
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectEltChild()
-    {
-        $selector  = 'div > a';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag' => 'div', 'child' => array('tag' => 'a'));
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectEltAdjacentSibling()
-    {
-        $selector  = 'div + a';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag' => 'div', 'adjacent-sibling' => array('tag' => 'a'));
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectEltDescendant()
-    {
-        $selector  = 'div a';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector);
-        $tag       = array('tag' => 'div', 'descendant' => array('tag' => 'a'));
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectContent()
-    {
-        $selector  = '#foo';
-        $content   = 'div contents';
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector, $content);
-        $tag       = array('id' => 'foo', 'content' => 'div contents');
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectTrue()
-    {
-        $selector  = '#foo';
-        $content   = true;
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector, $content);
-        $tag       = array('id' => 'foo');
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertSelectFalse()
-    {
-        $selector  = '#foo';
-        $content   = false;
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector, $content);
-        $tag       = array('id' => 'foo');
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertNumber()
-    {
-        $selector  = '.foo';
-        $content   = 3;
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector, $content);
-        $tag       = array('class' => 'foo');
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    public function testConvertAssertRange()
-    {
-        $selector  = '#foo';
-        $content   = array('greater_than' => 5, 'less_than' => 10);
-        $converted = PHPUnit_Util_XML::convertSelectToTag($selector, $content);
-        $tag       = array('id' => 'foo');
-
-        $this->assertEquals($tag, $converted);
-    }
-
-    /**
-     * @dataProvider charProvider
-     */
-    public function testPrepareString($char)
-    {
-        $e = null;
-
-        $escapedString = PHPUnit_Util_XML::prepareString($char);
-        $xml = "<?xml version='1.0' encoding='UTF-8' ?><tag>$escapedString</tag>";
-        $dom = new DomDocument('1.0', 'UTF-8');
-
-        try {
-            $dom->loadXML($xml);
-        } catch (Exception $e) {
-        }
-
-        $this->assertNull($e, sprintf(
-            'PHPUnit_Util_XML::prepareString("\x%02x") should not crash DomDocument',
-            ord($char)
-        ));
-    }
-
-    public function charProvider()
-    {
-        $data = array();
-
-        for ($i = 0; $i < 256; $i++) {
-            $data[] = array(chr($i));
-        }
-
-        return $data;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/AbstractTest.php b/core/vendor/phpunit/phpunit/tests/_files/AbstractTest.php
deleted file mode 100644
index 556e7db..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/AbstractTest.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-abstract class AbstractTest extends PHPUnit_Framework_TestCase
-{
-    public function testOne()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Author.php b/core/vendor/phpunit/phpunit/tests/_files/Author.php
deleted file mode 100644
index c628ff8..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/Author.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An author.
- *
- * @package    PHPUnit
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.6.0
- */
-class Author
-{
-    // the order of properties is important for testing the cycle!
-    public $books = array();
-
-    private $name = '';
-
-    public function __construct($name)
-    {
-        $this->name = $name;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BankAccount.php b/core/vendor/phpunit/phpunit/tests/_files/BankAccount.php
deleted file mode 100644
index c8fb5a5..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/BankAccount.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class BankAccountException extends RuntimeException
-{
-}
-
-/**
- * A bank account.
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.3.0
- */
-class BankAccount
-{
-    /**
-     * The bank account's balance.
-     *
-     * @var    float
-     */
-    protected $balance = 0;
-
-    /**
-     * Returns the bank account's balance.
-     *
-     * @return float
-     */
-    public function getBalance()
-    {
-        return $this->balance;
-    }
-
-    /**
-     * Sets the bank account's balance.
-     *
-     * @param  float $balance
-     * @throws BankAccountException
-     */
-    protected function setBalance($balance)
-    {
-        if ($balance >= 0) {
-            $this->balance = $balance;
-        } else {
-            throw new BankAccountException;
-        }
-    }
-
-    /**
-     * Deposits an amount of money to the bank account.
-     *
-     * @param  float $balance
-     * @throws BankAccountException
-     */
-    public function depositMoney($balance)
-    {
-        $this->setBalance($this->getBalance() + $balance);
-
-        return $this->getBalance();
-    }
-
-    /**
-     * Withdraws an amount of money from the bank account.
-     *
-     * @param  float $balance
-     * @throws BankAccountException
-     */
-    public function withdrawMoney($balance)
-    {
-        $this->setBalance($this->getBalance() - $balance);
-
-        return $this->getBalance();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BankAccountTest.php b/core/vendor/phpunit/phpunit/tests/_files/BankAccountTest.php
deleted file mode 100644
index 7237253..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/BankAccountTest.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the BankAccount class.
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.3.0
- */
-class BankAccountTest extends PHPUnit_Framework_TestCase
-{
-    protected $ba;
-
-    protected function setUp()
-    {
-        $this->ba = new BankAccount;
-    }
-
-    /**
-     * @covers BankAccount::getBalance
-     * @group balanceIsInitiallyZero
-     * @group specification
-     */
-    public function testBalanceIsInitiallyZero()
-    {
-        $this->assertEquals(0, $this->ba->getBalance());
-    }
-
-    /**
-     * @covers BankAccount::withdrawMoney
-     * @group balanceCannotBecomeNegative
-     * @group specification
-     */
-    public function testBalanceCannotBecomeNegative()
-    {
-        try {
-            $this->ba->withdrawMoney(1);
-        } catch (BankAccountException $e) {
-            $this->assertEquals(0, $this->ba->getBalance());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers BankAccount::depositMoney
-     * @group balanceCannotBecomeNegative
-     * @group specification
-     */
-    public function testBalanceCannotBecomeNegative2()
-    {
-        try {
-            $this->ba->depositMoney(-1);
-        } catch (BankAccountException $e) {
-            $this->assertEquals(0, $this->ba->getBalance());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers BankAccount::getBalance
-     * @covers BankAccount::depositMoney
-     * @covers BankAccount::withdrawMoney
-     * @group balanceCannotBecomeNegative
-     */
-    /*
-    public function testDepositingAndWithdrawingMoneyWorks()
-    {
-        $this->assertEquals(0, $this->ba->getBalance());
-        $this->ba->depositMoney(1);
-        $this->assertEquals(1, $this->ba->getBalance());
-        $this->ba->withdrawMoney(1);
-        $this->assertEquals(0, $this->ba->getBalance());
-    }
-    */
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php b/core/vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php
deleted file mode 100644
index 1bdf7c4..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the BankAccount class.
- *
- * @package    PHPUnit
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 2.3.0
- */
-class BankAccountWithCustomExtensionTest extends PHPUnit_Framework_TestCase
-{
-    protected $ba;
-
-    protected function setUp()
-    {
-        $this->ba = new BankAccount;
-    }
-
-    /**
-     * @covers BankAccount::getBalance
-     * @group balanceIsInitiallyZero
-     * @group specification
-     */
-    public function testBalanceIsInitiallyZero()
-    {
-        $this->assertEquals(0, $this->ba->getBalance());
-    }
-
-    /**
-     * @covers BankAccount::withdrawMoney
-     * @group balanceCannotBecomeNegative
-     * @group specification
-     */
-    public function testBalanceCannotBecomeNegative()
-    {
-        try {
-            $this->ba->withdrawMoney(1);
-        } catch (BankAccountException $e) {
-            $this->assertEquals(0, $this->ba->getBalance());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers BankAccount::depositMoney
-     * @group balanceCannotBecomeNegative
-     * @group specification
-     */
-    public function testBalanceCannotBecomeNegative2()
-    {
-        try {
-            $this->ba->depositMoney(-1);
-        } catch (BankAccountException $e) {
-            $this->assertEquals(0, $this->ba->getBalance());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers BankAccount::getBalance
-     * @covers BankAccount::depositMoney
-     * @covers BankAccount::withdrawMoney
-     * @group balanceCannotBecomeNegative
-     */
-    /*
-    public function testDepositingAndWithdrawingMoneyWorks()
-    {
-        $this->assertEquals(0, $this->ba->getBalance());
-        $this->ba->depositMoney(1);
-        $this->assertEquals(1, $this->ba->getBalance());
-        $this->ba->withdrawMoney(1);
-        $this->assertEquals(0, $this->ba->getBalance());
-    }
-    */
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BaseTestListenerSample.php b/core/vendor/phpunit/phpunit/tests/_files/BaseTestListenerSample.php
deleted file mode 100644
index 7753b28..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/BaseTestListenerSample.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-class BaseTestListenerSample extends PHPUnit_Framework_BaseTestListener
-{
-    public $endCount = 0;
-
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        $this->endCount++;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php b/core/vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php
deleted file mode 100644
index a837ae8..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-class BeforeAndAfterTest extends PHPUnit_Framework_TestCase
-{
-    public static $beforeWasRun;
-    public static $afterWasRun;
-
-    public static function resetProperties()
-    {
-        self::$beforeWasRun = 0;
-        self::$afterWasRun = 0;
-    }
-
-    /**
-     * @before
-     */
-    public function initialSetup()
-    {
-        self::$beforeWasRun++;
-    }
-
-    /**
-     * @after
-     */
-    public function finalTeardown()
-    {
-        self::$afterWasRun++;
-    }
-
-    public function test1()
-    {
-    }
-    public function test2()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php b/core/vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php
deleted file mode 100644
index f3af8ac..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-class BeforeClassAndAfterClassTest extends PHPUnit_Framework_TestCase
-{
-    public static $beforeClassWasRun = 0;
-    public static $afterClassWasRun = 0;
-
-    public static function resetProperties()
-    {
-        self::$beforeClassWasRun = 0;
-        self::$afterClassWasRun = 0;
-    }
-
-    /**
-     * @beforeClass
-     */
-    public static function initialClassSetup()
-    {
-        self::$beforeClassWasRun++;
-    }
-
-    /**
-     * @afterClass
-     */
-    public static function finalClassTeardown()
-    {
-        self::$afterClassWasRun++;
-    }
-
-    public function test1()
-    {
-    }
-    public function test2()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Book.php b/core/vendor/phpunit/phpunit/tests/_files/Book.php
deleted file mode 100644
index 77d3256..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/Book.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A book.
- *
- * @package    PHPUnit
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.6.0
- */
-class Book
-{
-    // the order of properties is important for testing the cycle!
-    public $author = null;
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Calculator.php b/core/vendor/phpunit/phpunit/tests/_files/Calculator.php
deleted file mode 100644
index e269bd6..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/Calculator.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-class Calculator
-{
-    /**
-     * @assert (0, 0) == 0
-     * @assert (0, 1) == 1
-     * @assert (1, 0) == 1
-     * @assert (1, 1) == 2
-     */
-    public function add($a, $b)
-    {
-        return $a + $b;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php b/core/vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php
deleted file mode 100644
index 70fab0b..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-class ChangeCurrentWorkingDirectoryTest extends PHPUnit_Framework_TestCase
-{
-    public function testSomethingThatChangesTheCwd()
-    {
-        chdir('../');
-        $this->assertTrue(true);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php b/core/vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php
deleted file mode 100644
index bb979e7..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-class ParentClassWithPrivateAttributes
-{
-    private static $privateStaticParentAttribute = 'foo';
-    private $privateParentAttribute = 'bar';
-}
-
-class ParentClassWithProtectedAttributes extends ParentClassWithPrivateAttributes
-{
-    protected static $protectedStaticParentAttribute = 'foo';
-    protected $protectedParentAttribute = 'bar';
-}
-
-class ClassWithNonPublicAttributes extends ParentClassWithProtectedAttributes
-{
-    public static $publicStaticAttribute = 'foo';
-    protected static $protectedStaticAttribute = 'bar';
-    protected static $privateStaticAttribute = 'baz';
-
-    public $publicAttribute = 'foo';
-    public $foo = 1;
-    public $bar = 2;
-    protected $protectedAttribute = 'bar';
-    protected $privateAttribute = 'baz';
-
-    public $publicArray = array('foo');
-    protected $protectedArray = array('bar');
-    protected $privateArray = array('baz');
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ClassWithToString.php b/core/vendor/phpunit/phpunit/tests/_files/ClassWithToString.php
deleted file mode 100644
index 5672741..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ClassWithToString.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A class with a __toString() method.
- *
- * @package    PHPUnit
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.phpunit.de/
- * @since      Class available since Release 3.6.0
- */
-class ClassWithToString
-{
-    public function __toString()
-    {
-        return 'string representation';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php b/core/vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php
deleted file mode 100644
index fe01cee..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class ConcreteWithMyCustomExtensionTest extends AbstractTest
-{
-    public function testTwo()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ConcreteTest.php b/core/vendor/phpunit/phpunit/tests/_files/ConcreteTest.php
deleted file mode 100644
index 4f51a18..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ConcreteTest.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class ConcreteTest extends AbstractTest
-{
-    public function testTwo()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php
deleted file mode 100644
index df12d34..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageClassExtendedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass<extended>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php
deleted file mode 100644
index 7f569ae..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageClassTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php
deleted file mode 100644
index 33b5fe3..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class CoverageFunctionParenthesesTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers ::globalFunction()
-     */
-    public function testSomething()
-    {
-        globalFunction();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php
deleted file mode 100644
index becc6c8..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class CoverageFunctionParenthesesWhitespaceTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers ::globalFunction ( )
-     */
-    public function testSomething()
-    {
-        globalFunction();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php
deleted file mode 100644
index c621fd2..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class CoverageFunctionTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers ::globalFunction
-     */
-    public function testSomething()
-    {
-        globalFunction();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php
deleted file mode 100644
index 55d7f57..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-class CoverageMethodOneLineAnnotationTest extends PHPUnit_Framework_TestCase
-{
-    /** @covers CoveredClass::publicMethod */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php
deleted file mode 100644
index 4223004..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageMethodParenthesesTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::publicMethod()
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php
deleted file mode 100644
index d1be1c6..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageMethodParenthesesWhitespaceTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::publicMethod ( )
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php
deleted file mode 100644
index 167b3db..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageMethodTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::publicMethod
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php
deleted file mode 100644
index 0b414c2..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-class CoverageNoneTest extends PHPUnit_Framework_TestCase
-{
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php
deleted file mode 100644
index 12b56e8..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageNotPrivateTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<!private>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php
deleted file mode 100644
index c69d261..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageNotProtectedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<!protected>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php
deleted file mode 100644
index aebfe4b..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageNotPublicTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<!public>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageNothingTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageNothingTest.php
deleted file mode 100644
index 5d5680d..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageNothingTest.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-class CoverageNothingTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::publicMethod
-     * @coversNothing
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php
deleted file mode 100644
index f09560d..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoveragePrivateTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<private>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php
deleted file mode 100644
index 9b3acbf..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoverageProtectedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<protected>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php b/core/vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php
deleted file mode 100644
index 480a522..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class CoveragePublicTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers CoveredClass::<public>
-     */
-    public function testSomething()
-    {
-        $o = new CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php b/core/vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php
deleted file mode 100644
index 4f1ed65..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/**
- * @coversDefaultClass \NamespaceOne
- * @coversDefaultClass \AnotherDefault\Name\Space\Does\Not\Work
- */
-class CoverageTwoDefaultClassAnnotations
-{
-
-    /**
-     * @covers Foo\CoveredClass::<public>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoveredClass.php b/core/vendor/phpunit/phpunit/tests/_files/CoveredClass.php
deleted file mode 100644
index f382ce9..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoveredClass.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-class CoveredParentClass
-{
-    private function privateMethod()
-    {
-    }
-
-    protected function protectedMethod()
-    {
-        $this->privateMethod();
-    }
-
-    public function publicMethod()
-    {
-        $this->protectedMethod();
-    }
-}
-
-class CoveredClass extends CoveredParentClass
-{
-    private function privateMethod()
-    {
-    }
-
-    protected function protectedMethod()
-    {
-        parent::protectedMethod();
-        $this->privateMethod();
-    }
-
-    public function publicMethod()
-    {
-        parent::publicMethod();
-        $this->protectedMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoveredFunction.php b/core/vendor/phpunit/phpunit/tests/_files/CoveredFunction.php
deleted file mode 100644
index 9989eb0..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CoveredFunction.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-function globalFunction()
-{
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CustomPrinter.php b/core/vendor/phpunit/phpunit/tests/_files/CustomPrinter.php
deleted file mode 100644
index 0e5ddc3..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/CustomPrinter.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-class CustomPrinter extends PHPUnit_TextUI_ResultPrinter
-{
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php b/core/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php
deleted file mode 100644
index 96cb730..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-class DataProviderDebugTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provider
-     */
-    public function testProvider()
-    {
-        $this->assertTrue(true);
-    }
-
-    public static function provider()
-    {
-        $obj2 = new \stdClass();
-        $obj2->foo = 'bar';
-
-        $obj3 = (object) array(1,2,"Test\r\n",4,5,6,7,8);
-
-        $obj = new \stdClass();
-        //@codingStandardsIgnoreStart
-        $obj->null = null;
-        //@codingStandardsIgnoreEnd
-        $obj->boolean = true;
-        $obj->integer = 1;
-        $obj->double = 1.2;
-        $obj->string = '1';
-        $obj->text = "this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext";
-        $obj->object = $obj2;
-        $obj->objectagain = $obj2;
-        $obj->array = array('foo' => 'bar');
-        $obj->self = $obj;
-
-        $storage = new \SplObjectStorage();
-        $storage->attach($obj2);
-        $storage->foo = $obj2;
-
-        return array(
-            array(null, true, 1, 1.0),
-            array(1.2, fopen('php://memory', 'r'), '1'),
-            array(array(array(1,2,3), array(3,4,5))),
-            // \n\r and \r is converted to \n
-            array("this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext"),
-            array(new \stdClass(), $obj, array(), $storage, $obj3),
-            array(chr(0) . chr(1) . chr(2) . chr(3) . chr(4) . chr(5), implode('', array_map('chr', range(0x0e, 0x1f)))),
-            array(chr(0x00) . chr(0x09))
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php b/core/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php
deleted file mode 100644
index 3254985..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-class DataProviderFilterTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider truthProvider
-     */
-    public function testTrue($truth)
-    {
-        $this->assertTrue($truth);
-    }
-
-    public static function truthProvider()
-    {
-        return array(
-           array(true),
-           array(true),
-           array(true),
-           array(true)
-        );
-    }
-
-    /**
-     * @dataProvider falseProvider
-     */
-    public function testFalse($false)
-    {
-        $this->assertFalse($false);
-    }
-
-    public static function falseProvider()
-    {
-        return array(
-          'false test'=>array(false),
-          'false test 2'=>array(false),
-          'other false test'=>array(false),
-          'other false test2'=>array(false)
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php b/core/vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php
deleted file mode 100644
index bae7e69..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-class DataProviderIncompleteTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider incompleteTestProviderMethod
-     */
-    public function testIncomplete($a, $b, $c)
-    {
-        $this->assertTrue(true);
-    }
-
-    /**
-     * @dataProvider providerMethod
-     */
-    public function testAdd($a, $b, $c)
-    {
-        $this->assertEquals($c, $a + $b);
-    }
-
-    public function incompleteTestProviderMethod()
-    {
-        $this->markTestIncomplete("incomplete");
-
-        return array(
-          array(0, 0, 0),
-          array(0, 1, 1),
-        );
-    }
-
-    public static function providerMethod()
-    {
-        return array(
-          array(0, 0, 0),
-          array(0, 1, 1),
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php b/core/vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php
deleted file mode 100644
index 9e269ab..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-class DataProviderSkippedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider skippedTestProviderMethod
-     */
-    public function testSkipped($a, $b, $c)
-    {
-        $this->assertTrue(true);
-    }
-
-    /**
-     * @dataProvider providerMethod
-     */
-    public function testAdd($a, $b, $c)
-    {
-        $this->assertEquals($c, $a + $b);
-    }
-
-    public function skippedTestProviderMethod()
-    {
-        $this->markTestSkipped("skipped");
-
-        return array(
-          array(0, 0, 0),
-          array(0, 1, 1),
-        );
-    }
-
-    public static function providerMethod()
-    {
-        return array(
-          array(0, 0, 0),
-          array(0, 1, 1),
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php b/core/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php
deleted file mode 100644
index d940a05..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-class DataProviderTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider providerMethod
-     */
-    public function testAdd($a, $b, $c)
-    {
-        $this->assertEquals($c, $a + $b);
-    }
-
-    public static function providerMethod()
-    {
-        return array(
-          array(0, 0, 0),
-          array(0, 1, 1),
-          array(1, 1, 3),
-          array(1, 0, 1)
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php b/core/vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php
deleted file mode 100644
index d83aecd..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-class DependencyFailureTest extends PHPUnit_Framework_TestCase
-{
-    public function testOne()
-    {
-        $this->fail();
-    }
-
-    /**
-     * @depends testOne
-     */
-    public function testTwo()
-    {
-    }
-
-    /**
-     * @depends testTwo
-     */
-    public function testThree()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php b/core/vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php
deleted file mode 100644
index 0e4b5dd..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-class DependencySuccessTest extends PHPUnit_Framework_TestCase
-{
-    public function testOne()
-    {
-    }
-
-    /**
-     * @depends testOne
-     */
-    public function testTwo()
-    {
-    }
-
-    /**
-     * @depends DependencySuccessTest::testTwo
-     */
-    public function testThree()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php b/core/vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php
deleted file mode 100644
index b5babc7..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-class DependencyTestSuite
-{
-    public static function suite()
-    {
-        $suite = new PHPUnit_Framework_TestSuite('Test Dependencies');
-
-        $suite->addTestSuite('DependencySuccessTest');
-        $suite->addTestSuite('DependencyFailureTest');
-
-        return $suite;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php b/core/vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php
deleted file mode 100644
index b1f00a8..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-class DoubleTestCase implements PHPUnit_Framework_Test
-{
-    protected $testCase;
-
-    public function __construct(PHPUnit_Framework_TestCase $testCase)
-    {
-        $this->testCase = $testCase;
-    }
-
-    public function count()
-    {
-        return 2;
-    }
-
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        $result->startTest($this);
-
-        $this->testCase->runBare();
-        $this->testCase->runBare();
-
-        $result->endTest($this, 0);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DummyException.php b/core/vendor/phpunit/phpunit/tests/_files/DummyException.php
deleted file mode 100644
index 29a69b9..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/DummyException.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-class DummyException extends Exception
-{
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php b/core/vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php
deleted file mode 100644
index 2a77bb2..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-class EmptyTestCaseTest extends PHPUnit_Framework_TestCase
-{
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Error.php b/core/vendor/phpunit/phpunit/tests/_files/Error.php
deleted file mode 100644
index 9417ba6..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/Error.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Error extends PHPUnit_Framework_TestCase
-{
-    protected function runTest()
-    {
-        throw new Exception;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php b/core/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php
deleted file mode 100644
index 0f53f22..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-class ExceptionInAssertPostConditionsTest extends PHPUnit_Framework_TestCase
-{
-    public $setUp = false;
-    public $assertPreConditions = false;
-    public $assertPostConditions = false;
-    public $tearDown = false;
-    public $testSomething = false;
-
-    protected function setUp()
-    {
-        $this->setUp = true;
-    }
-
-    protected function assertPreConditions()
-    {
-        $this->assertPreConditions = true;
-    }
-
-    public function testSomething()
-    {
-        $this->testSomething = true;
-    }
-
-    protected function assertPostConditions()
-    {
-        $this->assertPostConditions = true;
-        throw new Exception;
-    }
-
-    protected function tearDown()
-    {
-        $this->tearDown = true;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php b/core/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php
deleted file mode 100644
index db08f9c..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-class ExceptionInAssertPreConditionsTest extends PHPUnit_Framework_TestCase
-{
-    public $setUp = false;
-    public $assertPreConditions = false;
-    public $assertPostConditions = false;
-    public $tearDown = false;
-    public $testSomething = false;
-
-    protected function setUp()
-    {
-        $this->setUp = true;
-    }
-
-    protected function assertPreConditions()
-    {
-        $this->assertPreConditions = true;
-        throw new Exception;
-    }
-
-    public function testSomething()
-    {
-        $this->testSomething = true;
-    }
-
-    protected function assertPostConditions()
-    {
-        $this->assertPostConditions = true;
-    }
-
-    protected function tearDown()
-    {
-        $this->tearDown = true;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php b/core/vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php
deleted file mode 100644
index 9c48030..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-class ExceptionInSetUpTest extends PHPUnit_Framework_TestCase
-{
-    public $setUp = false;
-    public $assertPreConditions = false;
-    public $assertPostConditions = false;
-    public $tearDown = false;
-    public $testSomething = false;
-
-    protected function setUp()
-    {
-        $this->setUp = true;
-        throw new Exception;
-    }
-
-    protected function assertPreConditions()
-    {
-        $this->assertPreConditions = true;
-    }
-
-    public function testSomething()
-    {
-        $this->testSomething = true;
-    }
-
-    protected function assertPostConditions()
-    {
-        $this->assertPostConditions = true;
-    }
-
-    protected function tearDown()
-    {
-        $this->tearDown = true;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php b/core/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php
deleted file mode 100644
index f5cf7e5..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-class ExceptionInTearDownTest extends PHPUnit_Framework_TestCase
-{
-    public $setUp = false;
-    public $assertPreConditions = false;
-    public $assertPostConditions = false;
-    public $tearDown = false;
-    public $testSomething = false;
-
-    protected function setUp()
-    {
-        $this->setUp = true;
-    }
-
-    protected function assertPreConditions()
-    {
-        $this->assertPreConditions = true;
-    }
-
-    public function testSomething()
-    {
-        $this->testSomething = true;
-    }
-
-    protected function assertPostConditions()
-    {
-        $this->assertPostConditions = true;
-    }
-
-    protected function tearDown()
-    {
-        $this->tearDown = true;
-        throw new Exception;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php b/core/vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php
deleted file mode 100644
index 4ca556e..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-class ExceptionInTest extends PHPUnit_Framework_TestCase
-{
-    public $setUp = false;
-    public $assertPreConditions = false;
-    public $assertPostConditions = false;
-    public $tearDown = false;
-    public $testSomething = false;
-
-    protected function setUp()
-    {
-        $this->setUp = true;
-    }
-
-    protected function assertPreConditions()
-    {
-        $this->assertPreConditions = true;
-    }
-
-    public function testSomething()
-    {
-        $this->testSomething = true;
-        throw new Exception;
-    }
-
-    protected function assertPostConditions()
-    {
-        $this->assertPostConditions = true;
-    }
-
-    protected function tearDown()
-    {
-        $this->tearDown = true;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php b/core/vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php
deleted file mode 100644
index 9644aae..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-namespace My\Space;
-
-class ExceptionNamespaceTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Exception message
-     *
-     * @var string
-     */
-    const ERROR_MESSAGE = 'Exception namespace message';
-
-    /**
-     * Exception code
-     *
-     * @var integer
-     */
-    const ERROR_CODE = 200;
-
-    /**
-     * @expectedException Class
-     * @expectedExceptionMessage My\Space\ExceptionNamespaceTest::ERROR_MESSAGE
-     * @expectedExceptionCode My\Space\ExceptionNamespaceTest::ERROR_CODE
-     */
-    public function testConstants()
-    {
-    }
-
-    /**
-     * @expectedException Class
-     * @expectedExceptionCode My\Space\ExceptionNamespaceTest::UNKNOWN_CODE_CONSTANT
-     * @expectedExceptionMessage My\Space\ExceptionNamespaceTest::UNKNOWN_MESSAGE_CONSTANT
-     */
-    public function testUnknownConstants()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php b/core/vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php
deleted file mode 100644
index cd067b0..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-class ExceptionStackTest extends PHPUnit_Framework_TestCase
-{
-    public function testPrintingChildException()
-    {
-        try {
-            $this->assertEquals(array(1), array(2), 'message');
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $message = $e->getMessage() . $e->getComparisonFailure()->getDiff();
-            throw new PHPUnit_Framework_Exception("Child exception\n$message", 101, $e);
-        }
-    }
-
-    public function testNestedExceptions()
-    {
-        $exceptionThree = new Exception('Three');
-        $exceptionTwo = new InvalidArgumentException('Two', 0, $exceptionThree);
-        $exceptionOne = new Exception('One', 0, $exceptionTwo);
-        throw $exceptionOne;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionTest.php b/core/vendor/phpunit/phpunit/tests/_files/ExceptionTest.php
deleted file mode 100644
index 37ce927..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ExceptionTest.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-class ExceptionTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * Exception message
-     *
-     * @var string
-     */
-    const ERROR_MESSAGE = 'Exception message';
-
-    /**
-     * Exception message
-     *
-     * @var string
-     */
-    const ERROR_MESSAGE_REGEX = '#regex#';
-
-    /**
-     * Exception code
-     *
-     * @var integer
-     */
-    const ERROR_CODE = 500;
-
-    /**
-     * @expectedException FooBarBaz
-     */
-    public function testOne()
-    {
-    }
-
-    /**
-     * @expectedException Foo_Bar_Baz
-     */
-    public function testTwo()
-    {
-    }
-
-    /**
-     * @expectedException Foo\Bar\Baz
-     */
-    public function testThree()
-    {
-    }
-
-    /**
-     * @expectedException ほげ
-     */
-    public function testFour()
-    {
-    }
-
-    /**
-     * @expectedException Class Message 1234
-     */
-    public function testFive()
-    {
-    }
-
-    /**
-     * @expectedException Class
-     * @expectedExceptionMessage Message
-     * @expectedExceptionCode 1234
-     */
-    public function testSix()
-    {
-    }
-
-    /**
-     * @expectedException Class
-     * @expectedExceptionMessage Message
-     * @expectedExceptionCode ExceptionCode
-     */
-    public function testSeven()
-    {
-    }
-
-    /**
-     * @expectedException Class
-     * @expectedExceptionMessage Message
-     * @expectedExceptionCode 0
-     */
-    public function testEight()
-    {
-    }
-
-    /**
-     * @expectedException Class
-     * @expectedExceptionMessage ExceptionTest::ERROR_MESSAGE
-     * @expectedExceptionCode ExceptionTest::ERROR_CODE
-     */
-    public function testNine()
-    {
-    }
-
-    /** @expectedException Class */
-    public function testSingleLine()
-    {
-    }
-
-    /**
-     * @expectedException Class
-     * @expectedExceptionCode ExceptionTest::UNKNOWN_CODE_CONSTANT
-     * @expectedExceptionMessage ExceptionTest::UNKNOWN_MESSAGE_CONSTANT
-     */
-    public function testUnknownConstants()
-    {
-    }
-
-    /**
-     * @expectedException Class
-     * @expectedExceptionCode 1234
-     * @expectedExceptionMessage Message
-     * @expectedExceptionMessageRegExp #regex#
-     */
-    public function testWithRegexMessage()
-    {
-    }
-
-    /**
-     * @expectedException Class
-     * @expectedExceptionCode 1234
-     * @expectedExceptionMessage Message
-     * @expectedExceptionMessageRegExp ExceptionTest::ERROR_MESSAGE_REGEX
-     */
-    public function testWithRegexMessageFromClassConstant()
-    {
-    }
-
-    /**
-     * @expectedException Class
-     * @expectedExceptionCode 1234
-     * @expectedExceptionMessage Message
-     * @expectedExceptionMessageRegExp ExceptionTest::UNKNOWN_MESSAGE_REGEX_CONSTANT
-     */
-    public function testWithUnknowRegexMessageFromClassConstant()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Failure.php b/core/vendor/phpunit/phpunit/tests/_files/Failure.php
deleted file mode 100644
index 586aa54..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/Failure.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Failure extends PHPUnit_Framework_TestCase
-{
-    protected function runTest()
-    {
-        $this->fail();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/FailureTest.php b/core/vendor/phpunit/phpunit/tests/_files/FailureTest.php
deleted file mode 100644
index 70f64e4..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/FailureTest.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-class FailureTest extends PHPUnit_Framework_TestCase
-{
-    public function testAssertArrayEqualsArray()
-    {
-        $this->assertEquals(array(1), array(2), 'message');
-    }
-
-    public function testAssertIntegerEqualsInteger()
-    {
-        $this->assertEquals(1, 2, 'message');
-    }
-
-    public function testAssertObjectEqualsObject()
-    {
-        $a = new StdClass;
-        $a->foo = 'bar';
-
-        $b = new StdClass;
-        $b->bar = 'foo';
-
-        $this->assertEquals($a, $b, 'message');
-    }
-
-    public function testAssertNullEqualsString()
-    {
-        $this->assertEquals(null, 'bar', 'message');
-    }
-
-    public function testAssertStringEqualsString()
-    {
-        $this->assertEquals('foo', 'bar', 'message');
-    }
-
-    public function testAssertTextEqualsText()
-    {
-        $this->assertEquals("foo\nbar\n", "foo\nbaz\n", 'message');
-    }
-
-    public function testAssertStringMatchesFormat()
-    {
-        $this->assertStringMatchesFormat('*%s*', '**', 'message');
-    }
-
-    public function testAssertNumericEqualsNumeric()
-    {
-        $this->assertEquals(1, 2, 'message');
-    }
-
-    public function testAssertTextSameText()
-    {
-        $this->assertSame('foo', 'bar', 'message');
-    }
-
-    public function testAssertObjectSameObject()
-    {
-        $this->assertSame(new StdClass, new StdClass, 'message');
-    }
-
-    public function testAssertObjectSameNull()
-    {
-        $this->assertSame(new StdClass, null, 'message');
-    }
-
-    public function testAssertFloatSameFloat()
-    {
-        $this->assertSame(1.0, 1.5, 'message');
-    }
-
-    // Note that due to the implementation of this assertion it counts as 2 asserts
-    public function testAssertStringMatchesFormatFile()
-    {
-        $this->assertStringMatchesFormatFile(__DIR__ . '/expectedFileFormat.txt', '...BAR...');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/FatalTest.php b/core/vendor/phpunit/phpunit/tests/_files/FatalTest.php
deleted file mode 100644
index 4e1e0b0..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/FatalTest.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-class FatalTest extends PHPUnit_Framework_TestCase
-{
-    public function testFatalError()
-    {
-        if (extension_loaded('xdebug')) {
-            xdebug_disable();
-        }
-
-        non_existing_function();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/IncompleteTest.php b/core/vendor/phpunit/phpunit/tests/_files/IncompleteTest.php
deleted file mode 100644
index 36ca8a0..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/IncompleteTest.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class IncompleteTest extends PHPUnit_Framework_TestCase
-{
-    public function testIncomplete()
-    {
-        $this->markTestIncomplete('Test incomplete');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php b/core/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php
deleted file mode 100644
index c181503..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-require_once(__DIR__.'/InheritanceB.php');
-
-class InheritanceA extends InheritanceB
-{
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php b/core/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php
deleted file mode 100644
index 24447e2..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-class InheritanceB extends PHPUnit_Framework_TestCase
-{
-    public function testSomething()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php b/core/vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php
deleted file mode 100644
index 3df7215..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class InheritedTestCase extends OneTestCase
-{
-    public function test2()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/IniTest.php b/core/vendor/phpunit/phpunit/tests/_files/IniTest.php
deleted file mode 100644
index 5846abf..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/IniTest.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class IniTest extends PHPUnit_Framework_TestCase
-{
-    public function testIni()
-    {
-        $this->assertEquals('application/x-test', ini_get('default_mimetype'));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/IsolationTest.php b/core/vendor/phpunit/phpunit/tests/_files/IsolationTest.php
deleted file mode 100644
index df95c91..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/IsolationTest.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-class IsolationTest extends PHPUnit_Framework_TestCase
-{
-    public function testIsInIsolationReturnsFalse()
-    {
-        $this->assertFalse($this->isInIsolation());
-    }
-
-    public function testIsInIsolationReturnsTrue()
-    {
-        $this->assertTrue($this->isInIsolation());
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json b/core/vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json
deleted file mode 100644
index 8a74fc5..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json
+++ /dev/null
@@ -1 +0,0 @@
-["Mascott", "Tux", "OS", "Linux"]
diff --git a/core/vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json b/core/vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json
deleted file mode 100644
index 27085be..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Mascott":"Tux"}
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/_files/MockRunner.php b/core/vendor/phpunit/phpunit/tests/_files/MockRunner.php
deleted file mode 100644
index b3bc0cc..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/MockRunner.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class MockRunner extends PHPUnit_Runner_BaseTestRunner
-{
-    protected function runFailed($message)
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php b/core/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php
deleted file mode 100644
index 886a809..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-class MultiDependencyTest extends PHPUnit_Framework_TestCase
-{
-    public function testOne()
-    {
-        return 'foo';
-    }
-
-    public function testTwo()
-    {
-        return 'bar';
-    }
-
-    /**
-     * @depends testOne
-     * @depends testTwo
-     */
-    public function testThree($a, $b)
-    {
-        $this->assertEquals('foo', $a);
-        $this->assertEquals('bar', $b);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php
deleted file mode 100644
index d0954cb..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageClassExtendedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass<extended>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php
deleted file mode 100644
index 63912c0..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageClassTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php
deleted file mode 100644
index 45f583b..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-/**
- * @coversDefaultClass \Foo\CoveredClass
- */
-class NamespaceCoverageCoversClassPublicTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers ::publicMethod
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php
deleted file mode 100644
index b336745..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-/**
- * @coversDefaultClass \Foo\CoveredClass
- */
-class NamespaceCoverageCoversClassTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers ::privateMethod
-     * @covers ::protectedMethod
-     * @covers ::publicMethod
-     * @covers \Foo\CoveredParentClass::privateMethod
-     * @covers \Foo\CoveredParentClass::protectedMethod
-     * @covers \Foo\CoveredParentClass::publicMethod
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php
deleted file mode 100644
index 35dfb8b..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageMethodTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::publicMethod
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php
deleted file mode 100644
index 552c9ec..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageNotPrivateTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<!private>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php
deleted file mode 100644
index 33fc8c7..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageNotProtectedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<!protected>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php
deleted file mode 100644
index ccbc500..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageNotPublicTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<!public>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php
deleted file mode 100644
index cce7ba9..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoveragePrivateTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<private>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php
deleted file mode 100644
index dbbcc1c..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoverageProtectedTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<protected>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php
deleted file mode 100644
index bf1bff8..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-class NamespaceCoveragePublicTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Foo\CoveredClass::<public>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php b/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php
deleted file mode 100644
index 5bd0ddf..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-namespace Foo;
-
-class CoveredParentClass
-{
-    private function privateMethod()
-    {
-    }
-
-    protected function protectedMethod()
-    {
-        $this->privateMethod();
-    }
-
-    public function publicMethod()
-    {
-        $this->protectedMethod();
-    }
-}
-
-class CoveredClass extends CoveredParentClass
-{
-    private function privateMethod()
-    {
-    }
-
-    protected function protectedMethod()
-    {
-        parent::protectedMethod();
-        $this->privateMethod();
-    }
-
-    public function publicMethod()
-    {
-        parent::publicMethod();
-        $this->protectedMethod();
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php b/core/vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php
deleted file mode 100644
index 5867ba3..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class NoArgTestCaseTest extends PHPUnit_Framework_TestCase
-{
-    public function testNothing()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php b/core/vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php
deleted file mode 100644
index d64e4e1..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-class NoTestCaseClass
-{
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NoTestCases.php b/core/vendor/phpunit/phpunit/tests/_files/NoTestCases.php
deleted file mode 100644
index ae93233..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NoTestCases.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class NoTestCases extends PHPUnit_Framework_TestCase
-{
-    public function noTestCase()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NonStatic.php b/core/vendor/phpunit/phpunit/tests/_files/NonStatic.php
deleted file mode 100644
index 48bad9a..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NonStatic.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class NonStatic
-{
-    public function suite()
-    {
-        return;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php b/core/vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php
deleted file mode 100644
index be07ef4..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-class NotExistingCoveredElementTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers NotExistingClass
-     */
-    public function testOne()
-    {
-    }
-
-    /**
-     * @covers NotExistingClass::notExistingMethod
-     */
-    public function testTwo()
-    {
-    }
-
-    /**
-     * @covers NotExistingClass::<public>
-     */
-    public function testThree()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php b/core/vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php
deleted file mode 100644
index a391010..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class NotPublicTestCase extends PHPUnit_Framework_TestCase
-{
-    public function testPublic()
-    {
-    }
-
-    protected function testNotPublic()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php b/core/vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php
deleted file mode 100644
index 19a9567..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-class NotVoidTestCase extends PHPUnit_Framework_TestCase
-{
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NothingTest.php b/core/vendor/phpunit/phpunit/tests/_files/NothingTest.php
deleted file mode 100644
index b56d7d7..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/NothingTest.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class NothingTest extends PHPUnit_Framework_TestCase
-{
-    public function testNothing()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/OneTestCase.php b/core/vendor/phpunit/phpunit/tests/_files/OneTestCase.php
deleted file mode 100644
index 15eeed9..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/OneTestCase.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-class OneTestCase extends PHPUnit_Framework_TestCase
-{
-    public function noTestCase()
-    {
-    }
-
-    public function testCase($arg = '')
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/OutputTestCase.php b/core/vendor/phpunit/phpunit/tests/_files/OutputTestCase.php
deleted file mode 100644
index ae972b5..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/OutputTestCase.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-class OutputTestCase extends PHPUnit_Framework_TestCase
-{
-    public function testExpectOutputStringFooActualFoo()
-    {
-        $this->expectOutputString('foo');
-        print 'foo';
-    }
-
-    public function testExpectOutputStringFooActualBar()
-    {
-        $this->expectOutputString('foo');
-        print 'bar';
-    }
-
-    public function testExpectOutputRegexFooActualFoo()
-    {
-        $this->expectOutputRegex('/foo/');
-        print 'foo';
-    }
-
-    public function testExpectOutputRegexFooActualBar()
-    {
-        $this->expectOutputRegex('/foo/');
-        print 'bar';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php b/core/vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php
deleted file mode 100644
index fcc276c..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class OverrideTestCase extends OneTestCase
-{
-    public function testCase($arg = '')
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php b/core/vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php
deleted file mode 100644
index e3bb6cb..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-
-/**
- * @requires extension nonExistingExtension
- */
-class RequirementsClassBeforeClassHookTest extends PHPUnit_Framework_TestCase
-{
-    public static function setUpBeforeClass()
-    {
-        throw new Exception(__METHOD__.' should not be called because of class requirements.');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php b/core/vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php
deleted file mode 100644
index 1e934c8..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/**
- * @requires PHP 5.3
- * @requires PHPUnit 4.0
- * @requires OS Linux
- * @requires function testFuncClass
- * @requires extension testExtClass
- */
-class RequirementsClassDocBlockTest
-{
-
-    /**
-     * @requires PHP 5.4
-     * @requires PHPUnit 3.7
-     * @requires OS WINNT
-     * @requires function testFuncMethod
-     * @requires extension testExtMethod
-     */
-    public function testMethod()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/RequirementsTest.php b/core/vendor/phpunit/phpunit/tests/_files/RequirementsTest.php
deleted file mode 100644
index b2c975e..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/RequirementsTest.php
+++ /dev/null
@@ -1,149 +0,0 @@
-<?php
-class RequirementsTest extends PHPUnit_Framework_TestCase
-{
-    public function testOne()
-    {
-    }
-
-    /**
-     * @requires PHPUnit 1.0
-     */
-    public function testTwo()
-    {
-    }
-
-    /**
-     * @requires PHP 2.0
-     */
-    public function testThree()
-    {
-    }
-
-    /**
-     * @requires PHPUnit 2.0
-     * @requires PHP 1.0
-     */
-    public function testFour()
-    {
-    }
-
-    /**
-     * @requires PHP 5.4.0RC6
-     */
-    public function testFive()
-    {
-    }
-
-    /**
-     * @requires PHP 5.4.0-alpha1
-     */
-    public function testSix()
-    {
-    }
-
-    /**
-     * @requires PHP 5.4.0beta2
-     */
-    public function testSeven()
-    {
-    }
-
-    /**
-     * @requires PHP 5.4-dev
-     */
-    public function testEight()
-    {
-    }
-
-
-    /**
-     * @requires function testFunc
-     */
-    public function testNine()
-    {
-    }
-
-    /**
-     * @requires extension testExt
-     */
-    public function testTen()
-    {
-    }
-
-    /**
-     * @requires OS Linux
-     */
-    public function testEleven()
-    {
-    }
-
-    /**
-     * @requires PHP 99-dev
-     * @requires PHPUnit 9-dev
-     * @requires OS DOESNOTEXIST
-     * @requires function testFuncOne
-     * @requires function testFuncTwo
-     * @requires extension testExtOne
-     * @requires extension testExtTwo
-     */
-    public function testAllPossibleRequirements()
-    {
-    }
-
-    /**
-     * @requires function array_merge
-     */
-    public function testExistingFunction()
-    {
-    }
-
-    /**
-     * @requires function ReflectionMethod::setAccessible
-     */
-    public function testExistingMethod()
-    {
-    }
-
-    /**
-     * @requires extension spl
-     */
-    public function testExistingExtension()
-    {
-    }
-
-    /**
-     * @requires OS .*
-     */
-    public function testExistingOs()
-    {
-    }
-
-    /**
-     * @requires PHPUnit 1111111
-     */
-    public function testAlwaysSkip()
-    {
-    }
-
-    /**
-     * @requires PHP 9999999
-     */
-    public function testAlwaysSkip2()
-    {
-    }
-
-    /**
-     * @requires OS DOESNOTEXIST
-     */
-    public function testAlwaysSkip3()
-    {
-    }
-
-    /**
-     * @requires	  extension	  spl
-     * @requires	  OS	  .*
-     */
-    public function testSpace()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php b/core/vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php
deleted file mode 100644
index 7f458fe..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/**
- * Sample class that implements ArrayAccess copied from
- * http://www.php.net/manual/en/class.arrayaccess.php
- * with some minor changes
- * This class required for PHPUnit_Framework_Constraint_ArrayHasKey testing
- */
-
-class SampleArrayAccess implements ArrayAccess
-{
-    private $container;
-
-    public function __construct()
-    {
-        $this->container = array();
-    }
-    public function offsetSet($offset, $value)
-    {
-        if (is_null($offset)) {
-            $this->container[] = $value;
-        } else {
-            $this->container[$offset] = $value;
-        }
-    }
-    public function offsetExists($offset)
-    {
-        return isset($this->container[$offset]);
-    }
-    public function offsetUnset($offset)
-    {
-        unset($this->container[$offset]);
-    }
-    public function offsetGet($offset)
-    {
-        return isset($this->container[$offset]) ? $this->container[$offset] : null;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/SampleClass.php b/core/vendor/phpunit/phpunit/tests/_files/SampleClass.php
deleted file mode 100644
index 06c51c5..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/SampleClass.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-class SampleClass
-{
-    public $a;
-    protected $b;
-    protected $c;
-
-    public function __construct($a, $b, $c)
-    {
-        $this->a = $a;
-        $this->b = $b;
-        $this->c = $c;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Singleton.php b/core/vendor/phpunit/phpunit/tests/_files/Singleton.php
deleted file mode 100644
index 24dd6bd..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/Singleton.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-class Singleton
-{
-    private static $uniqueInstance = null;
-
-    protected function __construct()
-    {
-    }
-
-    final private function __clone()
-    {
-    }
-
-    public static function getInstance()
-    {
-        if (self::$uniqueInstance === null) {
-            self::$uniqueInstance = new Singleton;
-        }
-
-        return self::$uniqueInstance;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/StackTest.php b/core/vendor/phpunit/phpunit/tests/_files/StackTest.php
deleted file mode 100644
index 2e29e87..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/StackTest.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-class StackTest extends PHPUnit_Framework_TestCase
-{
-    public function testPush()
-    {
-        $stack = array();
-        $this->assertEquals(0, count($stack));
-
-        array_push($stack, 'foo');
-        $this->assertEquals('foo', $stack[count($stack)-1]);
-        $this->assertEquals(1, count($stack));
-
-        return $stack;
-    }
-
-    /**
-     * @depends testPush
-     */
-    public function testPop(array $stack)
-    {
-        $this->assertEquals('foo', array_pop($stack));
-        $this->assertEquals(0, count($stack));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Struct.php b/core/vendor/phpunit/phpunit/tests/_files/Struct.php
deleted file mode 100644
index 12977a9..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/Struct.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-class Struct
-{
-    public $var;
-
-    public function __construct($var)
-    {
-        $this->var = $var;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Success.php b/core/vendor/phpunit/phpunit/tests/_files/Success.php
deleted file mode 100644
index 6d3dd61..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/Success.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class Success extends PHPUnit_Framework_TestCase
-{
-    protected function runTest()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php b/core/vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php
deleted file mode 100644
index d6b1364..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-class TemplateMethodsTest extends PHPUnit_Framework_TestCase
-{
-    public static function setUpBeforeClass()
-    {
-        print __METHOD__ . "\n";
-    }
-
-    protected function setUp()
-    {
-        print __METHOD__ . "\n";
-    }
-
-    protected function assertPreConditions()
-    {
-        print __METHOD__ . "\n";
-    }
-
-    public function testOne()
-    {
-        print __METHOD__ . "\n";
-        $this->assertTrue(true);
-    }
-
-    public function testTwo()
-    {
-        print __METHOD__ . "\n";
-        $this->assertTrue(false);
-    }
-
-    protected function assertPostConditions()
-    {
-        print __METHOD__ . "\n";
-    }
-
-    protected function tearDown()
-    {
-        print __METHOD__ . "\n";
-    }
-
-    public static function tearDownAfterClass()
-    {
-        print __METHOD__ . "\n";
-    }
-
-    protected function onNotSuccessfulTest(Exception $e)
-    {
-        print __METHOD__ . "\n";
-        throw $e;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/TestIterator.php b/core/vendor/phpunit/phpunit/tests/_files/TestIterator.php
deleted file mode 100644
index 01135e3..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/TestIterator.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-class TestIterator implements Iterator
-{
-    protected $array;
-    protected $position = 0;
-
-    public function __construct($array = array())
-    {
-        $this->array = $array;
-    }
-
-    public function rewind()
-    {
-        $this->position = 0;
-    }
-
-    public function valid()
-    {
-        return $this->position < count($this->array);
-    }
-
-    public function key()
-    {
-        return $this->position;
-    }
-
-    public function current()
-    {
-        return $this->array[$this->position];
-    }
-
-    public function next()
-    {
-        $this->position++;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/TestIterator2.php b/core/vendor/phpunit/phpunit/tests/_files/TestIterator2.php
deleted file mode 100644
index 9ed59f9..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/TestIterator2.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-class TestIterator2 implements Iterator
-{
-
-    protected $data;
-
-    public function __construct(array $array)
-    {
-        $this->data = $array;
-    }
-
-    public function current()
-    {
-        return current($this->data);
-    }
-
-    public function next()
-    {
-        next($this->data);
-    }
-
-    public function key()
-    {
-        return key($this->data);
-    }
-
-    public function valid()
-    {
-        return key($this->data) !== null;
-    }
-
-    public function rewind()
-    {
-        reset($this->data);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php b/core/vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php
deleted file mode 100644
index 1d2a769..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class ThrowExceptionTestCase extends PHPUnit_Framework_TestCase
-{
-    public function test()
-    {
-        throw new RuntimeException('A runtime error occurred');
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php b/core/vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php
deleted file mode 100644
index 76958cb..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class ThrowNoExceptionTestCase extends PHPUnit_Framework_TestCase
-{
-    public function test()
-    {
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/WasRun.php b/core/vendor/phpunit/phpunit/tests/_files/WasRun.php
deleted file mode 100644
index 4221b6d..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/WasRun.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-class WasRun extends PHPUnit_Framework_TestCase
-{
-    public $wasRun = false;
-
-    protected function runTest()
-    {
-        $this->wasRun = true;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/bar.xml b/core/vendor/phpunit/phpunit/tests/_files/bar.xml
deleted file mode 100644
index 5d3fa28..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/bar.xml
+++ /dev/null
@@ -1 +0,0 @@
-<bar/>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml b/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml
deleted file mode 100644
index 5f9e055..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml
+++ /dev/null
@@ -1 +0,0 @@
-<phpunit colors=""></phpunit>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml b/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml
deleted file mode 100644
index dcd4aa4..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml
+++ /dev/null
@@ -1 +0,0 @@
-<phpunit colors="false"></phpunit>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml b/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml
deleted file mode 100644
index c5bd699..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml
+++ /dev/null
@@ -1 +0,0 @@
-<phpunit colors="Something else"></phpunit>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml b/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml
deleted file mode 100644
index 1efe413..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml
+++ /dev/null
@@ -1 +0,0 @@
-<phpunit colors="true"></phpunit>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml b/core/vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml
deleted file mode 100644
index 7a5a1f1..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit printerFile="CustomPrinter.php" printerClass="CustomPrinter" />
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.xml b/core/vendor/phpunit/phpunit/tests/_files/configuration.xml
deleted file mode 100644
index e83bfd3..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/configuration.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-
-<phpunit backupGlobals="true"
-         backupStaticAttributes="false"
-         bootstrap="/path/to/bootstrap.php"
-         cacheTokens="false"
-         columns="80"
-         colors="false"
-         stderr="false"
-         convertErrorsToExceptions="true"
-         convertNoticesToExceptions="true"
-         convertWarningsToExceptions="true"
-         forceCoversAnnotation="false"
-         mapTestClassNameToCoveredClassName="false"
-         printerClass="PHPUnit_TextUI_ResultPrinter"
-         stopOnFailure="false"
-         testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader"
-         timeoutForSmallTests="1"
-         timeoutForMediumTests="10"
-         timeoutForLargeTests="60"
-         beStrictAboutTestsThatDoNotTestAnything="false"
-         beStrictAboutOutputDuringTests="false"
-         beStrictAboutTestSize="false"
-         beStrictAboutTodoAnnotatedTests="false"
-         checkForUnintentionallyCoveredCode="false"
-         beStrictAboutChangesToGlobalState="false"
-         verbose="false">
-  <testsuites>
-    <testsuite name="My Test Suite">
-      <directory suffix="Test.php" phpVersion="5.3.0" phpVersionOperator=">=">/path/to/files</directory>
-      <file phpVersion="5.3.0" phpVersionOperator=">=">/path/to/MyTest.php</file>
-    </testsuite>
-  </testsuites>
-
-  <groups>
-    <include>
-      <group>name</group>
-    </include>
-    <exclude>
-      <group>name</group>
-    </exclude>
-  </groups>
-
-  <filter>
-    <blacklist>
-      <directory suffix=".php">/path/to/files</directory>
-      <file>/path/to/file</file>
-      <exclude>
-        <directory suffix=".php">/path/to/files</directory>
-        <file>/path/to/file</file>
-      </exclude>
-    </blacklist>
-    <whitelist addUncoveredFilesFromWhitelist="true"
-               processUncoveredFilesFromWhitelist="false">
-      <directory suffix=".php">/path/to/files</directory>
-      <file>/path/to/file</file>
-      <exclude>
-        <directory suffix=".php">/path/to/files</directory>
-        <file>/path/to/file</file>
-      </exclude>
-    </whitelist>
-  </filter>
-
-  <listeners>
-    <listener class="MyListener" file="/optional/path/to/MyListener.php">
-      <arguments>
-        <array>
-          <element key="0">
-            <string>Sebastian</string>
-          </element>
-        </array>
-        <integer>22</integer>
-        <string>April</string>
-        <double>19.78</double>
-        <null/>
-        <object class="stdClass"/>
-        <file>MyTestFile.php</file>
-        <directory>MyRelativePath</directory>
-      </arguments>
-    </listener>
-    <listener class="IncludePathListener" file="ConfigurationTest.php" />
-    <listener class="CompactArgumentsListener" file="/CompactArgumentsListener.php"><arguments><integer>42</integer></arguments></listener>
-  </listeners>
-
-  <logging>
-    <log type="coverage-html" target="/tmp/report" lowUpperBound="50" highLowerBound="90"/>
-    <log type="coverage-clover" target="/tmp/clover.xml"/>
-    <log type="json" target="/tmp/logfile.json"/>
-    <log type="plain" target="/tmp/logfile.txt"/>
-    <log type="tap" target="/tmp/logfile.tap"/>
-    <log type="junit" target="/tmp/logfile.xml" logIncompleteSkipped="false"/>
-    <log type="testdox-html" target="/tmp/testdox.html"/>
-    <log type="testdox-text" target="/tmp/testdox.txt"/>
-  </logging>
-
-  <php>
-    <includePath>.</includePath>
-    <includePath>/path/to/lib</includePath>
-    <ini name="foo" value="bar"/>
-    <const name="FOO" value="false"/>
-    <const name="BAR" value="true"/>
-    <var name="foo" value="false"/>
-    <env name="foo" value="true"/>
-    <post name="foo" value="bar"/>
-    <get name="foo" value="bar"/>
-    <cookie name="foo" value="bar"/>
-    <server name="foo" value="bar"/>
-    <files name="foo" value="bar"/>
-    <request name="foo" value="bar"/>
-  </php>
-
-  <selenium>
-    <browser name="Firefox on Linux"
-             browser="*firefox /usr/lib/firefox/firefox-bin"
-             host="my.linux.box"
-             port="4444"
-             timeout="30000"/>
-  </selenium>
-</phpunit>
-
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration_empty.xml b/core/vendor/phpunit/phpunit/tests/_files/configuration_empty.xml
deleted file mode 100644
index 13c8b71..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/configuration_empty.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-
-<phpunit bootstrap=""
-         testSuiteLoaderFile=""
-         printerFile="">
-  <testsuites>
-    <testsuite name="My Test Suite">
-      <directory></directory>
-      <file></file>
-    </testsuite>
-  </testsuites>
-
-  <groups>
-    <include>
-      <group></group>
-    </include>
-    <exclude>
-      <group></group>
-    </exclude>
-  </groups>
-
-  <filter>
-    <blacklist>
-      <directory></directory>
-      <file></file>
-      <exclude>
-        <directory></directory>
-        <file></file>
-      </exclude>
-    </blacklist>
-    <whitelist>
-      <directory></directory>
-      <file></file>
-      <exclude>
-        <directory></directory>
-        <file></file>
-      </exclude>
-    </whitelist>
-  </filter>
-
-  <logging>
-    <log type="coverage-html" target=""/>
-    <log type="coverage-clover" target=""/>
-    <log type="json" target=""/>
-    <log type="plain" target=""/>
-    <log type="tap" target=""/>
-    <log type="junit" target="" logIncompleteSkipped="false"/>
-    <log type="testdox-html" target=""/>
-    <log type="testdox-text" target=""/>
-  </logging>
-
-  <php>
-    <includePath/>
-    <includePath></includePath>
-  </php>
-</phpunit>
-
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml b/core/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml
deleted file mode 100644
index 4307629..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-
-<phpunit backupGlobals="true"
-         backupStaticAttributes="false"
-         bootstrap="/path/to/bootstrap.php"
-         cacheTokens="false"
-         columns="80"
-         colors="false"
-         stderr="false"
-         convertErrorsToExceptions="true"
-         convertNoticesToExceptions="true"
-         convertWarningsToExceptions="true"
-         forceCoversAnnotation="false"
-         mapTestClassNameToCoveredClassName="false"
-         printerClass="PHPUnit_TextUI_ResultPrinter"
-         stopOnFailure="false"
-         testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader"
-         timeoutForSmallTests="1"
-         timeoutForMediumTests="10"
-         timeoutForLargeTests="60"
-         beStrictAboutTestsThatDoNotTestAnything="false"
-         beStrictAboutOutputDuringTests="false"
-         beStrictAboutTestSize="false"
-         beStrictAboutTodoAnnotatedTests="false"
-         checkForUnintentionallyCoveredCode="false"
-         beStrictAboutChangesToGlobalState="false"
-         verbose="false">
-         <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-             href="configuration.xml"
-             parse="xml"
-             xpointer="xpointer(/phpunit/testsuites)" />
-
-  <groups>
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-          href="configuration.xml"
-        parse="xml"
-        xpointer="xpointer(/phpunit/groups/*)" />
-  </groups>
-
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="configuration.xml"
-      parse="xml"
-      xpointer="xpointer(/phpunit/filter)" />
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="configuration.xml"
-      parse="xml"
-      xpointer="xpointer(/phpunit/listeners)" />
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="configuration.xml"
-      parse="xml"
-      xpointer="xpointer(/phpunit/logging)" />
-
-  <php>
-    <includePath>.</includePath>
-    <includePath>/path/to/lib</includePath>
-    <ini name="foo" value="bar"/>
-    <const name="FOO" value="false"/>
-    <const name="BAR" value="true"/>
-    <var name="foo" value="false"/>
-    <env name="foo" value="true"/>
-    <post name="foo" value="bar"/>
-    <get name="foo" value="bar"/>
-    <cookie name="foo" value="bar"/>
-    <server name="foo" value="bar"/>
-    <files name="foo" value="bar"/>
-    <request name="foo" value="bar"/>
-  </php>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-      href="configuration.xml"
-      parse="xml"
-      xpointer="xpointer(/phpunit/selenium)" />
-</phpunit>
-
diff --git a/core/vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt b/core/vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt
deleted file mode 100644
index b7d6715..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt
+++ /dev/null
@@ -1 +0,0 @@
-FOO
diff --git a/core/vendor/phpunit/phpunit/tests/_files/foo.xml b/core/vendor/phpunit/phpunit/tests/_files/foo.xml
deleted file mode 100644
index f1999f8..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/foo.xml
+++ /dev/null
@@ -1 +0,0 @@
-<foo/>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml b/core/vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml
deleted file mode 100644
index a5d9ab3..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<text:p xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0">
-  <draw:frame xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" svg:width="12.567708175cm" svg:height="16.848541467cm" draw:style-name="Frame">
-    <draw:text-box>
-      <draw:frame svg:width="12.567708175cm" svg:height="15.848541467cm" draw:style-name="Image">
-        <draw:image xmlns:xlink="notthesame" xlink:href="Pictures/kristian.jpg"/>
-      </draw:frame>
-      <text:p text:style-name="Text">Image <text:sequence xmlns:style="notthesame" text:ref-name="refImage1" style:num-format="1" text:formula="ooow:Image+1" text:name="Image">1</text:sequence>: Dette er en test caption</text:p>
-    </draw:text-box>
-  </draw:frame>
-</text:p>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureExpected.xml b/core/vendor/phpunit/phpunit/tests/_files/structureExpected.xml
deleted file mode 100644
index d900105..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/structureExpected.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<text:p xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0">
-  <draw:frame xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" svg:width="12.567708175cm" svg:height="16.848541467cm" draw:style-name="Frame">
-    <draw:text-box>
-      <draw:frame svg:width="12.567708175cm" svg:height="15.848541467cm" draw:style-name="Image">
-        <draw:image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="Pictures/kristian.jpg"/>
-      </draw:frame>
-      <text:p text:style-name="Text">Image <text:sequence xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" text:ref-name="refImage1" style:num-format="1" text:formula="ooow:Image+1" text:name="Image">1</text:sequence>: Dette er en test caption</text:p>
-    </draw:text-box>
-  </draw:frame>
-</text:p>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml b/core/vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml
deleted file mode 100644
index 0771b60..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<text:p xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0">
-  <draw:frame xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" svg:width="12.567708175cm" svg:height="16.848541467cm" draw:style-name="Frame">
-    <draw:text-box>
-    textnode
-      <draw:frame svg:width="12.567708175cm" svg:height="15.848541467cm" draw:style-name="Image">
-        <draw:image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="Pictures/kristian.jpg"/> textnode
-      </draw:frame>
-      textnode
-      <text:p text:style-name="Text">Image <text:sequence xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" text:ref-name="refImage1" style:num-format="1" text:formula="ooow:Image+1" text:name="Image">1</text:sequence>: Dette er en test caption</text:p>
-      textnode
-    </draw:text-box>
-  </draw:frame>
-</text:p>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml b/core/vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml
deleted file mode 100644
index 2ba21b9..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<text:p xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0">
-  <draw:frame xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" svg:width="12.567708175cm" svg:height="16.848541467cm" draw:style-name="Frame">
-    <draw:text-box>
-      <draw:frame svg:width="12.567708175cm" svg:height="15.848541467cm" draw:style-name="Image">
-        <draw:image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="Pictures/kristian.jpg"/>
-      </draw:frame>
-      <text:p text:style-name="Text">Image is not the same <text:sequence xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" text:ref-name="refImage1" style:num-format="1" text:formula="ooow:Image+1" text:name="Image">1</text:sequence>: Dette er en test caption</text:p>
-    </draw:text-box>
-  </draw:frame>
-</text:p>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml b/core/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml
deleted file mode 100644
index af9b974..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<text:p xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0">
-  <draw:frame xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" svg:width="12.567708175cm" svg:height="16.848541467cm" draw:style-name="Frame">
-    <draw:text-box>
-      <draw:frame svg:width="12.567708175cm" svg:height="15.848541467cm" draw:style-name="Image">
-        <draw:image/>
-      </draw:frame>
-      <text:p text:style-name="Text">Image <text:sequence xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" text:ref-name="refImage1" style:num-format="1" text:formula="ooow:Image+1" text:name="Image">1</text:sequence>: Dette er en test caption</text:p>
-    </draw:text-box>
-  </draw:frame>
-</text:p>
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml b/core/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml
deleted file mode 100644
index 9a394e2..0000000
--- a/core/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<text:p xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0">
-  <draw:frame xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" svg:width="12.567708175cm" svg:height="16.848541467cm" draw:style-name="Frame">
-    <draw:text-box>
-      <draw:frame svg:width="12.567708175cm" svg:height="15.848541467cm" draw:style-name="Image">
-        <draw:image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="Pictures/kristian.jpg"/>
-      </draw:frame>
-    </draw:text-box>
-  </draw:frame>
-</text:p>
diff --git a/core/vendor/phpunit/phpunit/tests/bootstrap.php b/core/vendor/phpunit/phpunit/tests/bootstrap.php
deleted file mode 100644
index cc79889..0000000
--- a/core/vendor/phpunit/phpunit/tests/bootstrap.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-// Needed for isolated tests
-require __DIR__ . '/../vendor/autoload.php';
-
-ini_set('precision', 14);
-ini_set('serialize_precision', 14);
diff --git a/core/vendor/sebastian/comparator/.gitignore b/core/vendor/sebastian/comparator/.gitignore
deleted file mode 100644
index c2990fc..0000000
--- a/core/vendor/sebastian/comparator/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-/build/coverage
-/composer.lock
-/composer.phar
-/phpunit.xml
-/.idea
-/vendor
diff --git a/core/vendor/sebastian/comparator/.travis.yml b/core/vendor/sebastian/comparator/.travis.yml
deleted file mode 100644
index 7a2b577..0000000
--- a/core/vendor/sebastian/comparator/.travis.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-language: php
-
-install:
-  - travis_retry composer install --no-interaction --prefer-source
-
-script: ./vendor/bin/phpunit --configuration ./build/travis-ci.xml
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-
-notifications:
-  email: false
-  webhooks:
-    urls:
-      - https://webhooks.gitter.im/e/6668f52f3dd4e3f81960
-    on_success: always
-    on_failure: always
-    on_start: false
diff --git a/core/vendor/sebastian/comparator/LICENSE b/core/vendor/sebastian/comparator/LICENSE
deleted file mode 100644
index 334b637..0000000
--- a/core/vendor/sebastian/comparator/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-Comparator
-
-Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/sebastian/comparator/README.md b/core/vendor/sebastian/comparator/README.md
deleted file mode 100644
index 3921493..0000000
--- a/core/vendor/sebastian/comparator/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-[![Build Status](https://travis-ci.org/sebastianbergmann/comparator.svg?branch=master)](https://travis-ci.org/sebastianbergmann/comparator)
-
-# Comparator
-
-This component provides the functionality to compare PHP values for equality.
-
-## Usage
-
-```php
-<?php
-use SebastianBergmann\Comparator\Factory;
-use SebastianBergmann\Comparator\ComparisonFailure;
-
-$date1 = new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York'));
-$date2 = new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/Chicago'));
-
-$factory = new Factory;
-$comparator = $factory->getComparatorFor($date1, $date2);
-
-try {
-    $comparator->assertEquals($date1, $date2);
-    print "Dates match";
-}
-
-catch (ComparisonFailure $failure) {
-    print "Dates don't match";
-}
-```
-
-## Installation
-
-To add Comparator as a local, per-project dependency to your project, simply add a dependency on `sebastian/comparator` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on Comparator 1.0:
-
-    {
-        "require": {
-            "sebastian/comparator": "1.0.*"
-        }
-    }
diff --git a/core/vendor/sebastian/comparator/build.xml b/core/vendor/sebastian/comparator/build.xml
deleted file mode 100644
index 552ebce..0000000
--- a/core/vendor/sebastian/comparator/build.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="comparator">
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/vendor"/>
-  <delete file="${basedir}/composer.lock"/>
- </target>
-
- <target name="composer" depends="clean" description="Install dependencies with Composer">
-  <tstamp>
-   <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
-  </tstamp>
-  <delete>
-   <fileset dir="${basedir}">
-    <include name="composer.phar" />
-    <date datetime="${thirty.days.ago}" when="before"/>
-   </fileset>
-  </delete>
-
-  <get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="install"/>
-  </exec>
- </target>
-
- <target name="phpab" description="Generate autoloader script">
-  <exec executable="phpab">
-   <arg value="--output" />
-   <arg path="tests/autoload.php" />
-   <arg path="tests" />
-  </exec>
- </target>
-</project>
diff --git a/core/vendor/sebastian/comparator/build/travis-ci.xml b/core/vendor/sebastian/comparator/build/travis-ci.xml
deleted file mode 100644
index 751a3bc..0000000
--- a/core/vendor/sebastian/comparator/build/travis-ci.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.2/phpunit.xsd"
-         bootstrap="../tests/bootstrap.php"
-         backupGlobals="false"
-         verbose="true">
-  <testsuite name="Comparator">
-    <directory suffix="Test.php">../tests</directory>
-  </testsuite>
-</phpunit>
-
diff --git a/core/vendor/sebastian/comparator/composer.json b/core/vendor/sebastian/comparator/composer.json
deleted file mode 100644
index 6e133e4..0000000
--- a/core/vendor/sebastian/comparator/composer.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
-    "name": "sebastian/comparator",
-    "description": "Provides the functionality to compare PHP values for equality",
-    "keywords": ["comparator","compare","equality"],
-    "homepage": "http://www.github.com/sebastianbergmann/comparator",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sebastian@phpunit.de"
-        },
-        {
-            "name": "Jeff Welch",
-            "email": "whatthejeff@gmail.com"
-        },
-        {
-            "name": "Volker Dusch",
-            "email": "github@wallbash.com"
-        },
-        {
-            "name": "Bernhard Schussek",
-            "email": "bschussek@2bepublished.at"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3",
-        "sebastian/diff": "~1.2",
-        "sebastian/exporter": "~1.2"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4.4"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.1.x-dev"
-        }
-    }
-}
-
diff --git a/core/vendor/sebastian/comparator/phpunit.xml.dist b/core/vendor/sebastian/comparator/phpunit.xml.dist
deleted file mode 100644
index e1eaf2c..0000000
--- a/core/vendor/sebastian/comparator/phpunit.xml.dist
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd"
-         bootstrap="tests/bootstrap.php"
-         backupGlobals="false"
-         verbose="true">
-  <testsuite name="Comparator">
-    <directory suffix="Test.php">tests</directory>
-  </testsuite>
-
-  <logging>
-    <log type="coverage-html" target="build/coverage"/>
-  </logging>
-
-  <filter>
-    <whitelist processUncoveredFilesFromWhitelist="true">
-      <directory suffix=".php">src</directory>
-    </whitelist>
-  </filter>
-</phpunit>
-
diff --git a/core/vendor/sebastian/comparator/src/ArrayComparator.php b/core/vendor/sebastian/comparator/src/ArrayComparator.php
deleted file mode 100644
index 17a3c85..0000000
--- a/core/vendor/sebastian/comparator/src/ArrayComparator.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares arrays for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ArrayComparator extends Comparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        return is_array($expected) && is_array($actual);
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @param  array $processed
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = array())
-    {
-        if ($canonicalize) {
-            sort($expected);
-            sort($actual);
-        }
-
-        $remaining = $actual;
-        $expString = $actString = "Array (\n";
-        $equal     = true;
-
-        foreach ($expected as $key => $value) {
-            unset($remaining[$key]);
-
-            if (!array_key_exists($key, $actual)) {
-                $expString .= sprintf(
-                    "    %s => %s\n",
-                    $this->exporter->export($key),
-                    $this->exporter->shortenedExport($value)
-                );
-
-                $equal = false;
-
-                continue;
-            }
-
-            try {
-                $comparator = $this->factory->getComparatorFor($value, $actual[$key]);
-                $comparator->assertEquals($value, $actual[$key], $delta, $canonicalize, $ignoreCase, $processed);
-
-                $expString .= sprintf(
-                    "    %s => %s\n",
-                    $this->exporter->export($key),
-                    $this->exporter->shortenedExport($value)
-                );
-                $actString .= sprintf(
-                    "    %s => %s\n",
-                    $this->exporter->export($key),
-                    $this->exporter->shortenedExport($actual[$key])
-                );
-            } catch (ComparisonFailure $e) {
-                $expString .= sprintf(
-                    "    %s => %s\n",
-                    $this->exporter->export($key),
-                    $e->getExpectedAsString()
-                    ? $this->indent($e->getExpectedAsString())
-                    : $this->exporter->shortenedExport($e->getExpected())
-                );
-
-                $actString .= sprintf(
-                    "    %s => %s\n",
-                    $this->exporter->export($key),
-                    $e->getActualAsString()
-                    ? $this->indent($e->getActualAsString())
-                    : $this->exporter->shortenedExport($e->getActual())
-                );
-
-                $equal = false;
-            }
-        }
-
-        foreach ($remaining as $key => $value) {
-            $actString .= sprintf(
-                "    %s => %s\n",
-                $this->exporter->export($key),
-                $this->exporter->shortenedExport($value)
-            );
-
-            $equal = false;
-        }
-
-        $expString .= ')';
-        $actString .= ')';
-
-        if (!$equal) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                $expString,
-                $actString,
-                false,
-                'Failed asserting that two arrays are equal.'
-            );
-        }
-    }
-
-    protected function indent($lines)
-    {
-        return trim(str_replace("\n", "\n    ", $lines));
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/Comparator.php b/core/vendor/sebastian/comparator/src/Comparator.php
deleted file mode 100644
index 75e8b01..0000000
--- a/core/vendor/sebastian/comparator/src/Comparator.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use SebastianBergmann\Exporter\Exporter;
-
-/**
- * Abstract base class for comparators which compare values for equality.
- *
- * @package    Comparator
- * @subpackage Framework
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-abstract class Comparator
-{
-    /**
-     * @var Factory
-     */
-    protected $factory;
-
-    /**
-     * @var Exporter
-     */
-    protected $exporter;
-
-    public function __construct()
-    {
-        $this->exporter = new Exporter;
-    }
-
-    /**
-     * @param Factory $factory
-     */
-    public function setFactory(Factory $factory)
-    {
-        $this->factory = $factory;
-    }
-
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    abstract public function accepts($expected, $actual);
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    abstract public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false);
-}
diff --git a/core/vendor/sebastian/comparator/src/ComparisonFailure.php b/core/vendor/sebastian/comparator/src/ComparisonFailure.php
deleted file mode 100644
index a75815d..0000000
--- a/core/vendor/sebastian/comparator/src/ComparisonFailure.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use SebastianBergmann\Diff\Differ;
-
-/**
- * Thrown when an assertion for string equality failed.
- *
- * @package    Comparator
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ComparisonFailure extends \RuntimeException
-{
-    /**
-     * Expected value of the retrieval which does not match $actual.
-     * @var mixed
-     */
-    protected $expected;
-
-    /**
-     * Actually retrieved value which does not match $expected.
-     * @var mixed
-     */
-    protected $actual;
-
-    /**
-     * The string representation of the expected value
-     * @var string
-     */
-    protected $expectedAsString;
-
-    /**
-     * The string representation of the actual value
-     * @var string
-     */
-    protected $actualAsString;
-
-    /**
-     * @var boolean
-     */
-    protected $identical;
-
-    /**
-     * Optional message which is placed in front of the first line
-     * returned by toString().
-     * @var string
-     */
-    protected $message;
-
-    /**
-     * Initialises with the expected value and the actual value.
-     *
-     * @param mixed $expected Expected value retrieved.
-     * @param mixed $actual Actual value retrieved.
-     * @param string $expectedAsString
-     * @param string $actualAsString
-     * @param boolean $identical
-     * @param string $message A string which is prefixed on all returned lines
-     *                        in the difference output.
-     */
-    public function __construct($expected, $actual, $expectedAsString, $actualAsString, $identical = false, $message = '')
-    {
-        $this->expected         = $expected;
-        $this->actual           = $actual;
-        $this->expectedAsString = $expectedAsString;
-        $this->actualAsString   = $actualAsString;
-        $this->message          = $message;
-    }
-
-    /**
-     * @return mixed
-     */
-    public function getActual()
-    {
-        return $this->actual;
-    }
-
-    /**
-     * @return mixed
-     */
-    public function getExpected()
-    {
-        return $this->expected;
-    }
-
-    /**
-     * @return string
-     */
-    public function getActualAsString()
-    {
-        return $this->actualAsString;
-    }
-
-    /**
-     * @return string
-     */
-    public function getExpectedAsString()
-    {
-        return $this->expectedAsString;
-    }
-
-    /**
-     * @return string
-     */
-    public function getDiff()
-    {
-        if (!$this->actualAsString && !$this->expectedAsString) {
-            return '';
-        }
-
-        $differ = new Differ("\n--- Expected\n+++ Actual\n");
-
-        return $differ->diff($this->expectedAsString, $this->actualAsString);
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->message . $this->getDiff();
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/DOMNodeComparator.php b/core/vendor/sebastian/comparator/src/DOMNodeComparator.php
deleted file mode 100644
index c76d1c7..0000000
--- a/core/vendor/sebastian/comparator/src/DOMNodeComparator.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use DOMDocument;
-use DOMNode;
-
-/**
- * Compares DOMNode instances for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class DOMNodeComparator extends ObjectComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        return $expected instanceof DOMNode && $actual instanceof DOMNode;
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        $expectedAsString = $this->nodeToText($expected, true, $ignoreCase);
-        $actualAsString   = $this->nodeToText($actual, true, $ignoreCase);
-
-        if ($expectedAsString !== $actualAsString) {
-            if ($expected instanceof DOMDocument) {
-                $type = 'documents';
-            } else {
-                $type = 'nodes';
-            }
-
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                $expectedAsString,
-                $actualAsString,
-                false,
-                sprintf("Failed asserting that two DOM %s are equal.\n", $type)
-            );
-        }
-    }
-
-    /**
-     * Returns the normalized, whitespace-cleaned, and indented textual
-     * representation of a DOMNode.
-     *
-     * @param  DOMNode $node
-     * @param  boolean $canonicalize
-     * @param  boolean $ignoreCase
-     * @return string
-     */
-    private function nodeToText(DOMNode $node, $canonicalize, $ignoreCase)
-    {
-        if ($canonicalize) {
-            $document = new DOMDocument;
-            $document->loadXML($node->C14N());
-
-            $node = $document;
-        }
-
-        if ($node instanceof DOMDocument) {
-            $document = $node;
-        } else {
-            $document = $node->ownerDocument;
-        }
-
-        $document->formatOutput = true;
-        $document->normalizeDocument();
-
-        if ($node instanceof DOMDocument) {
-            $text = $node->saveXML();
-        } else {
-            $text = $document->saveXML($node);
-        }
-
-        if ($ignoreCase) {
-            $text = strtolower($text);
-        }
-
-        return $text;
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/DateTimeComparator.php b/core/vendor/sebastian/comparator/src/DateTimeComparator.php
deleted file mode 100644
index 65a7744..0000000
--- a/core/vendor/sebastian/comparator/src/DateTimeComparator.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares DateTime instances for equality.
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class DateTimeComparator extends ObjectComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        return $expected instanceof \DateTime && $actual instanceof \DateTime;
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        $delta = new \DateInterval(sprintf('PT%sS', abs($delta)));
-
-        $expectedLower = clone $expected;
-        $expectedUpper = clone $expected;
-
-        if ($actual < $expectedLower->sub($delta) ||
-            $actual > $expectedUpper->add($delta)) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                $this->dateTimeToString($expected),
-                $this->dateTimeToString($actual),
-                false,
-                'Failed asserting that two DateTime objects are equal.'
-            );
-        }
-    }
-
-    /**
-     * Returns an ISO 8601 formatted string representation of a datetime or
-     * 'Invalid DateTime object' if the provided DateTime was not properly
-     * initialized.
-     *
-     * @param \DateTime $datetime
-     * @return string
-     */
-    protected function dateTimeToString(\DateTime $datetime)
-    {
-        $string = $datetime->format(\DateTime::ISO8601);
-
-        return $string ? $string : 'Invalid DateTime object';
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/DoubleComparator.php b/core/vendor/sebastian/comparator/src/DoubleComparator.php
deleted file mode 100644
index 76dd3a2..0000000
--- a/core/vendor/sebastian/comparator/src/DoubleComparator.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares doubles for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class DoubleComparator extends NumericComparator
-{
-    /**
-     * Smallest value available in PHP.
-     *
-     * @var float
-     */
-    const EPSILON = 0.0000000001;
-
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        return (is_double($expected) || is_double($actual)) && is_numeric($expected) && is_numeric($actual);
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        if ($delta == 0) {
-            $delta = self::EPSILON;
-        }
-
-        parent::assertEquals($expected, $actual, $delta, $canonicalize, $ignoreCase);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/ExceptionComparator.php b/core/vendor/sebastian/comparator/src/ExceptionComparator.php
deleted file mode 100644
index 9da557b..0000000
--- a/core/vendor/sebastian/comparator/src/ExceptionComparator.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares Exception instances for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ExceptionComparator extends ObjectComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        return $expected instanceof \Exception && $actual instanceof \Exception;
-    }
-
-    /**
-     * Converts an object to an array containing all of its private, protected
-     * and public properties.
-     *
-     * @param  object $object
-     * @return array
-     */
-    protected function toArray($object)
-    {
-        $array = parent::toArray($object);
-
-        unset(
-            $array['file'],
-            $array['line'],
-            $array['trace'],
-            $array['string'],
-            $array['xdebug_message']
-        );
-
-        return $array;
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/Factory.php b/core/vendor/sebastian/comparator/src/Factory.php
deleted file mode 100644
index d841ef2..0000000
--- a/core/vendor/sebastian/comparator/src/Factory.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Factory for comparators which compare values for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class Factory
-{
-    /**
-     * @var Comparator[]
-     */
-    private $comparators = array();
-
-    /**
-     * @var Factory
-     */
-    private static $instance;
-
-    /**
-     * Constructs a new factory.
-     */
-    public function __construct()
-    {
-        $this->register(new TypeComparator);
-        $this->register(new ScalarComparator);
-        $this->register(new NumericComparator);
-        $this->register(new DoubleComparator);
-        $this->register(new ArrayComparator);
-        $this->register(new ResourceComparator);
-        $this->register(new ObjectComparator);
-        $this->register(new ExceptionComparator);
-        $this->register(new SplObjectStorageComparator);
-        $this->register(new DOMNodeComparator);
-        $this->register(new MockObjectComparator);
-        $this->register(new DateTimeComparator);
-    }
-
-    /**
-     * @return Factory
-     */
-    public static function getInstance()
-    {
-        if (self::$instance === null) {
-            self::$instance = new Factory;
-        }
-
-        return self::$instance;
-    }
-
-    /**
-     * Returns the correct comparator for comparing two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return Comparator
-     */
-    public function getComparatorFor($expected, $actual)
-    {
-        foreach ($this->comparators as $comparator) {
-            if ($comparator->accepts($expected, $actual)) {
-                return $comparator;
-            }
-        }
-    }
-
-    /**
-     * Registers a new comparator.
-     *
-     * This comparator will be returned by getInstance() if its accept() method
-     * returns TRUE for the compared values. It has higher priority than the
-     * existing comparators, meaning that its accept() method will be tested
-     * before those of the other comparators.
-     *
-     * @param Comparator $comparator The registered comparator
-     */
-    public function register(Comparator $comparator)
-    {
-        array_unshift($this->comparators, $comparator);
-
-        $comparator->setFactory($this);
-    }
-
-    /**
-     * Unregisters a comparator.
-     *
-     * This comparator will no longer be returned by getInstance().
-     *
-     * @param Comparator $comparator The unregistered comparator
-     */
-    public function unregister(Comparator $comparator)
-    {
-        foreach ($this->comparators as $key => $_comparator) {
-            if ($comparator === $_comparator) {
-                unset($this->comparators[$key]);
-            }
-        }
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/MockObjectComparator.php b/core/vendor/sebastian/comparator/src/MockObjectComparator.php
deleted file mode 100644
index ecd275e..0000000
--- a/core/vendor/sebastian/comparator/src/MockObjectComparator.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares PHPUnit_Framework_MockObject_MockObject instances for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class MockObjectComparator extends ObjectComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed   $expected The first value to compare
-     * @param  mixed   $actual   The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        return $expected instanceof \PHPUnit_Framework_MockObject_MockObject && $actual instanceof \PHPUnit_Framework_MockObject_MockObject;
-    }
-
-    /**
-     * Converts an object to an array containing all of its private, protected
-     * and public properties.
-     *
-     * @param  object $object
-     * @return array
-     */
-    protected function toArray($object)
-    {
-        $array = parent::toArray($object);
-
-        unset($array['__phpunit_invocationMocker']);
-
-        return $array;
-    }
-}
\ No newline at end of file
diff --git a/core/vendor/sebastian/comparator/src/NumericComparator.php b/core/vendor/sebastian/comparator/src/NumericComparator.php
deleted file mode 100644
index a3453a9..0000000
--- a/core/vendor/sebastian/comparator/src/NumericComparator.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares numerical values for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @author     Alexander <iam.asm89@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class NumericComparator extends ScalarComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        // all numerical values, but not if one of them is a double
-        // or both of them are strings
-        return is_numeric($expected) && is_numeric($actual) &&
-               !(is_double($expected) || is_double($actual)) &&
-               !(is_string($expected) && is_string($actual));
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        if (is_infinite($actual) && is_infinite($expected)) {
-            return;
-        }
-
-        if ((is_infinite($actual) xor is_infinite($expected)) ||
-            (is_nan($actual) or is_nan($expected)) ||
-            abs($actual - $expected) > $delta) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                '',
-                '',
-                false,
-                sprintf(
-                    'Failed asserting that %s matches expected %s.',
-                    $this->exporter->export($actual),
-                    $this->exporter->export($expected)
-                )
-            );
-        }
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/ObjectComparator.php b/core/vendor/sebastian/comparator/src/ObjectComparator.php
deleted file mode 100644
index 44375d9..0000000
--- a/core/vendor/sebastian/comparator/src/ObjectComparator.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares objects for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ObjectComparator extends ArrayComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        return is_object($expected) && is_object($actual);
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @param  array $processed
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = array())
-    {
-        if (get_class($actual) !== get_class($expected)) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                $this->exporter->export($expected),
-                $this->exporter->export($actual),
-                false,
-                sprintf(
-                    '%s is not instance of expected class "%s".',
-                    $this->exporter->export($actual),
-                    get_class($expected)
-                )
-            );
-        }
-
-        // don't compare twice to allow for cyclic dependencies
-        if (in_array(array($actual, $expected), $processed, true) ||
-            in_array(array($expected, $actual), $processed, true)) {
-            return;
-        }
-
-        $processed[] = array($actual, $expected);
-
-        // don't compare objects if they are identical
-        // this helps to avoid the error "maximum function nesting level reached"
-        // CAUTION: this conditional clause is not tested
-        if ($actual !== $expected) {
-            try {
-                parent::assertEquals(
-                    $this->toArray($expected),
-                    $this->toArray($actual),
-                    $delta,
-                    $canonicalize,
-                    $ignoreCase,
-                    $processed
-                );
-            } catch (ComparisonFailure $e) {
-                throw new ComparisonFailure(
-                    $expected,
-                    $actual,
-                    // replace "Array" with "MyClass object"
-                    substr_replace($e->getExpectedAsString(), get_class($expected) . ' Object', 0, 5),
-                    substr_replace($e->getActualAsString(), get_class($actual) . ' Object', 0, 5),
-                    false,
-                    'Failed asserting that two objects are equal.'
-                );
-            }
-        }
-    }
-
-    /**
-     * Converts an object to an array containing all of its private, protected
-     * and public properties.
-     *
-     * @param  object $object
-     * @return array
-     */
-    protected function toArray($object)
-    {
-        return $this->exporter->toArray($object);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/ResourceComparator.php b/core/vendor/sebastian/comparator/src/ResourceComparator.php
deleted file mode 100644
index 043a4ce..0000000
--- a/core/vendor/sebastian/comparator/src/ResourceComparator.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares resources for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ResourceComparator extends Comparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        return is_resource($expected) && is_resource($actual);
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        if ($actual != $expected) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                $this->exporter->export($expected),
-                $this->exporter->export($actual)
-            );
-        }
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/ScalarComparator.php b/core/vendor/sebastian/comparator/src/ScalarComparator.php
deleted file mode 100644
index 7de108e..0000000
--- a/core/vendor/sebastian/comparator/src/ScalarComparator.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares scalar or NULL values for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ScalarComparator extends Comparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     * @since  Method available since Release 3.6.0
-     */
-    public function accepts($expected, $actual)
-    {
-        return ((is_scalar($expected) xor null === $expected) &&
-               (is_scalar($actual) xor null === $actual))
-               // allow comparison between strings and objects featuring __toString()
-               || (is_string($expected) && is_object($actual) && method_exists($actual, '__toString'))
-               || (is_object($expected) && method_exists($expected, '__toString') && is_string($actual));
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        $expectedToCompare = $expected;
-        $actualToCompare = $actual;
-
-        // always compare as strings to avoid strange behaviour
-        // otherwise 0 == 'Foobar'
-        if (is_string($expected) || is_string($actual)) {
-            $expectedToCompare = (string)$expectedToCompare;
-            $actualToCompare = (string)$actualToCompare;
-
-            if ($ignoreCase) {
-                $expectedToCompare = strtolower($expectedToCompare);
-                $actualToCompare = strtolower($actualToCompare);
-            }
-        }
-
-        if ($expectedToCompare != $actualToCompare) {
-            if (is_string($expected) && is_string($actual)) {
-                throw new ComparisonFailure(
-                    $expected,
-                    $actual,
-                    $this->exporter->export($expected),
-                    $this->exporter->export($actual),
-                    false,
-                    'Failed asserting that two strings are equal.'
-                );
-            }
-
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                // no diff is required
-                '',
-                '',
-                false,
-                sprintf(
-                    'Failed asserting that %s matches expected %s.',
-                    $this->exporter->export($actual),
-                    $this->exporter->export($expected)
-                )
-            );
-        }
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/SplObjectStorageComparator.php b/core/vendor/sebastian/comparator/src/SplObjectStorageComparator.php
deleted file mode 100644
index 5de7dac..0000000
--- a/core/vendor/sebastian/comparator/src/SplObjectStorageComparator.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares \SplObjectStorage instances for equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class SplObjectStorageComparator extends Comparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        return $expected instanceof \SplObjectStorage && $actual instanceof \SplObjectStorage;
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        foreach ($actual as $object) {
-            if (!$expected->contains($object)) {
-                throw new ComparisonFailure(
-                    $expected,
-                    $actual,
-                    $this->exporter->export($expected),
-                    $this->exporter->export($actual),
-                    false,
-                    'Failed asserting that two objects are equal.'
-                );
-            }
-        }
-
-        foreach ($expected as $object) {
-            if (!$actual->contains($object)) {
-                throw new ComparisonFailure(
-                    $expected,
-                    $actual,
-                    $this->exporter->export($expected),
-                    $this->exporter->export($actual),
-                    false,
-                    'Failed asserting that two objects are equal.'
-                );
-            }
-        }
-    }
-}
diff --git a/core/vendor/sebastian/comparator/src/TypeComparator.php b/core/vendor/sebastian/comparator/src/TypeComparator.php
deleted file mode 100644
index 27a9581..0000000
--- a/core/vendor/sebastian/comparator/src/TypeComparator.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares values for type equality.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class TypeComparator extends Comparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @return boolean
-     */
-    public function accepts($expected, $actual)
-    {
-        return true;
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual The second value to compare
-     * @param  float $delta The allowed numerical distance between two values to
-     *                      consider them equal
-     * @param  bool  $canonicalize If set to TRUE, arrays are sorted before
-     *                             comparison
-     * @param  bool  $ignoreCase If set to TRUE, upper- and lowercasing is
-     *                           ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                           fails. Contains information about the
-     *                           specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        if (gettype($expected) != gettype($actual)) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                // we don't need a diff
-                '',
-                '',
-                false,
-                sprintf(
-                    '%s does not match expected type "%s".',
-                    $this->exporter->shortenedExport($actual),
-                    gettype($expected)
-                )
-            );
-        }
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/ArrayComparatorTest.php b/core/vendor/sebastian/comparator/tests/ArrayComparatorTest.php
deleted file mode 100644
index 1874e71..0000000
--- a/core/vendor/sebastian/comparator/tests/ArrayComparatorTest.php
+++ /dev/null
@@ -1,168 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\ArrayComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ArrayComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new ArrayComparator;
-        $this->comparator->setFactory(new Factory);
-    }
-
-    public function acceptsFailsProvider()
-    {
-        return array(
-          array(array(), null),
-          array(null, array()),
-          array(null, null)
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        return array(
-          array(
-            array('a' => 1, 'b' => 2),
-            array('b' => 2, 'a' => 1)
-          ),
-          array(
-            array(1),
-            array('1')
-          ),
-          array(
-            array(3, 2, 1),
-            array(2, 3, 1),
-            0,
-            true
-          ),
-          array(
-            array(2.3),
-            array(2.5),
-            0.5
-          ),
-          array(
-            array(array(2.3)),
-            array(array(2.5)),
-            0.5
-          ),
-          array(
-            array(new Struct(2.3)),
-            array(new Struct(2.5)),
-            0.5
-          ),
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        return array(
-          array(
-            array(),
-            array(0 => 1)
-          ),
-          array(
-            array(0 => 1),
-            array()
-          ),
-          array(
-            array(0 => null),
-            array()
-          ),
-          array(
-            array(0 => 1, 1 => 2),
-            array(0 => 1, 1 => 3)
-          ),
-          array(
-            array('a', 'b' => array(1, 2)),
-            array('a', 'b' => array(2, 1))
-          ),
-          array(
-            array(2.3),
-            array(4.2),
-            0.5
-          ),
-          array(
-            array(array(2.3)),
-            array(array(4.2)),
-            0.5
-          ),
-          array(
-            array(new Struct(2.3)),
-            array(new Struct(4.2)),
-            0.5
-          )
-        );
-    }
-
-    /**
-     * @covers  ::accepts
-     */
-    public function testAcceptsSucceeds()
-    {
-        $this->assertTrue(
-          $this->comparator->accepts(array(), array())
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0, $canonicalize = false)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual, $delta, $canonicalize);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual,$delta = 0.0, $canonicalize = false)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\Comparator\\ComparisonFailure',
-          'Failed asserting that two arrays are equal'
-        );
-        $this->comparator->assertEquals($expected, $actual, $delta, $canonicalize);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php b/core/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php
deleted file mode 100644
index 7bad48c..0000000
--- a/core/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use DOMNode;
-use DOMDocument;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\DOMNodeComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class DOMNodeComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new DOMNodeComparator;
-    }
-
-    public function acceptsSucceedsProvider()
-    {
-        $document = new DOMDocument;
-        $node = new DOMNode;
-
-        return array(
-          array($document, $document),
-          array($node, $node),
-          array($document, $node),
-          array($node, $document)
-        );
-    }
-
-    public function acceptsFailsProvider()
-    {
-        $document = new DOMDocument;
-
-        return array(
-          array($document, null),
-          array(null, $document),
-          array(null, null)
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        return array(
-          array(
-            $this->createDOMDocument('<root></root>'),
-            $this->createDOMDocument('<root/>')
-          ),
-          array(
-            $this->createDOMDocument('<root attr="bar"></root>'),
-            $this->createDOMDocument('<root attr="bar"/>')
-          ),
-          array(
-            $this->createDOMDocument('<root><foo attr="bar"></foo></root>'),
-            $this->createDOMDocument('<root><foo attr="bar"/></root>')
-          ),
-          array(
-            $this->createDOMDocument("<root>\n  <child/>\n</root>"),
-            $this->createDOMDocument('<root><child/></root>')
-          ),
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        return array(
-          array(
-            $this->createDOMDocument('<root></root>'),
-            $this->createDOMDocument('<bar/>')
-          ),
-          array(
-            $this->createDOMDocument('<foo attr1="bar"/>'),
-            $this->createDOMDocument('<foo attr1="foobar"/>')
-          ),
-          array(
-            $this->createDOMDocument('<foo> bar </foo>'),
-            $this->createDOMDocument('<foo />')
-          ),
-          array(
-            $this->createDOMDocument('<foo xmlns="urn:myns:bar"/>'),
-            $this->createDOMDocument('<foo xmlns="urn:notmyns:bar"/>')
-          ),
-          array(
-            $this->createDOMDocument('<foo> bar </foo>'),
-            $this->createDOMDocument('<foo> bir </foo>')
-          )
-        );
-    }
-
-    private function createDOMDocument($content)
-    {
-        $document = new DOMDocument;
-        $document->preserveWhiteSpace = false;
-        $document->loadXML($content);
-
-        return $document;
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsSucceedsProvider
-     */
-    public function testAcceptsSucceeds($expected, $actual)
-    {
-        $this->assertTrue(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\Comparator\\ComparisonFailure',
-          'Failed asserting that two DOM'
-        );
-        $this->comparator->assertEquals($expected, $actual);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php b/core/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php
deleted file mode 100644
index 22672ab..0000000
--- a/core/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php
+++ /dev/null
@@ -1,199 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use DateTime;
-use DateTimeZone;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\DateTimeComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class DateTimeComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new DateTimeComparator;
-    }
-
-    public function acceptsFailsProvider()
-    {
-        $datetime = new DateTime;
-
-        return array(
-          array($datetime, null),
-          array(null, $datetime),
-          array(null, null)
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        return array(
-          array(
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York'))
-          ),
-          array(
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 04:13:25', new DateTimeZone('America/New_York')),
-            10
-          ),
-          array(
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 04:14:40', new DateTimeZone('America/New_York')),
-            65
-          ),
-          array(
-            new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29', new DateTimeZone('America/New_York'))
-          ),
-          array(
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/Chicago'))
-          ),
-          array(
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 03:13:49', new DateTimeZone('America/Chicago')),
-            15
-          ),
-          array(
-            new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago'))
-          ),
-          array(
-            new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 23:01:30', new DateTimeZone('America/Chicago')),
-            100
-          ),
-          array(
-            new DateTime('@1364616000'),
-            new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago'))
-          ),
-          array(
-            new DateTime('2013-03-29T05:13:35-0500'),
-            new DateTime('2013-03-29T04:13:35-0600')
-          )
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        return array(
-          array(
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York'))
-          ),
-          array(
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')),
-            3500
-          ),
-          array(
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 05:13:35', new DateTimeZone('America/New_York')),
-            3500
-          ),
-          array(
-            new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-30', new DateTimeZone('America/New_York'))
-          ),
-          array(
-            new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-            43200
-          ),
-          array(
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
-          ),
-          array(
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
-            3500
-          ),
-          array(
-            new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-            new DateTime('2013-03-30', new DateTimeZone('America/Chicago'))
-          ),
-          array(
-            new DateTime('2013-03-29T05:13:35-0600'),
-            new DateTime('2013-03-29T04:13:35-0600')
-          ),
-          array(
-            new DateTime('2013-03-29T05:13:35-0600'),
-            new DateTime('2013-03-29T05:13:35-0500')
-          ),
-        );
-    }
-
-    /**
-     * @covers  ::accepts
-     */
-    public function testAcceptsSucceeds()
-    {
-        $this->assertTrue(
-          $this->comparator->accepts(
-            new DateTime,
-            new DateTime
-          )
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual, $delta);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual, $delta = 0.0)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\Comparator\\ComparisonFailure',
-          'Failed asserting that two DateTime objects are equal.'
-        );
-        $this->comparator->assertEquals($expected, $actual, $delta);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/DoubleComparatorTest.php b/core/vendor/sebastian/comparator/tests/DoubleComparatorTest.php
deleted file mode 100644
index 8c47101..0000000
--- a/core/vendor/sebastian/comparator/tests/DoubleComparatorTest.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\DoubleComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class DoubleComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new DoubleComparator;
-    }
-
-    public function acceptsSucceedsProvider()
-    {
-        return array(
-          array(0, 5.0),
-          array(5.0, 0),
-          array('5', 4.5),
-          array(1.2e3, 7E-10),
-          array(3, acos(8)),
-          array(acos(8), 3),
-          array(acos(8), acos(8))
-        );
-    }
-
-    public function acceptsFailsProvider()
-    {
-        return array(
-          array(5, 5),
-          array('4.5', 5),
-          array(0x539, 02471),
-          array(5.0, false),
-          array(null, 5.0)
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        return array(
-          array(2.3, 2.3),
-          array('2.3', 2.3),
-          array(5.0, 5),
-          array(5, 5.0),
-          array(5.0, '5'),
-          array(1.2e3, 1200),
-          array(2.3, 2.5, 0.5),
-          array(3, 3.05, 0.05),
-          array(1.2e3, 1201, 1),
-          array((string)(1/3), 1 - 2/3),
-          array(1/3, (string)(1 - 2/3))
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        return array(
-          array(2.3, 4.2),
-          array('2.3', 4.2),
-          array(5.0, '4'),
-          array(5.0, 6),
-          array(1.2e3, 1201),
-          array(2.3, 2.5, 0.2),
-          array(3, 3.05, 0.04),
-          array(3, acos(8)),
-          array(acos(8), 3),
-          array(acos(8), acos(8))
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsSucceedsProvider
-     */
-    public function testAcceptsSucceeds($expected, $actual)
-    {
-        $this->assertTrue(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual, $delta);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual, $delta = 0.0)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\Comparator\\ComparisonFailure', 'matches expected'
-        );
-        $this->comparator->assertEquals($expected, $actual, $delta);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php b/core/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php
deleted file mode 100644
index 7150285..0000000
--- a/core/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use \Exception;
-use \RuntimeException;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\ExceptionComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ExceptionComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new ExceptionComparator;
-        $this->comparator->setFactory(new Factory);
-    }
-
-    public function acceptsSucceedsProvider()
-    {
-        return array(
-          array(new Exception, new Exception),
-          array(new RuntimeException, new RuntimeException),
-          array(new Exception, new RuntimeException)
-        );
-    }
-
-    public function acceptsFailsProvider()
-    {
-        return array(
-          array(new Exception, null),
-          array(null, new Exception),
-          array(null, null)
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        $exception1 = new Exception;
-        $exception2 = new Exception;
-
-        $exception3 = new RunTimeException('Error', 100);
-        $exception4 = new RunTimeException('Error', 100);
-
-        return array(
-          array($exception1, $exception1),
-          array($exception1, $exception2),
-          array($exception3, $exception3),
-          array($exception3, $exception4)
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        $typeMessage = 'not instance of expected class';
-        $equalMessage = 'Failed asserting that two objects are equal.';
-
-        $exception1 = new Exception('Error', 100);
-        $exception2 = new Exception('Error', 101);
-        $exception3 = new Exception('Errors', 101);
-
-        $exception4 = new RunTimeException('Error', 100);
-        $exception5 = new RunTimeException('Error', 101);
-
-        return array(
-          array($exception1, $exception2, $equalMessage),
-          array($exception1, $exception3, $equalMessage),
-          array($exception1, $exception4, $typeMessage),
-          array($exception2, $exception3, $equalMessage),
-          array($exception4, $exception5, $equalMessage)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsSucceedsProvider
-     */
-    public function testAcceptsSucceeds($expected, $actual)
-    {
-        $this->assertTrue(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual, $message)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\Comparator\\ComparisonFailure', $message
-        );
-        $this->comparator->assertEquals($expected, $actual);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/FactoryTest.php b/core/vendor/sebastian/comparator/tests/FactoryTest.php
deleted file mode 100644
index 0964067..0000000
--- a/core/vendor/sebastian/comparator/tests/FactoryTest.php
+++ /dev/null
@@ -1,120 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\Factory
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class FactoryTest extends \PHPUnit_Framework_TestCase
-{
-    public function instanceProvider()
-    {
-        $tmpfile = tmpfile();
-
-        return array(
-            array(NULL, NULL, 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array(NULL, TRUE, 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array(TRUE, NULL, 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array(TRUE, TRUE, 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array(FALSE, FALSE, 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array(TRUE, FALSE, 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array(FALSE, TRUE, 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array('', '', 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array('0', '0', 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array('0', 0, 'SebastianBergmann\\Comparator\\NumericComparator'),
-            array(0, '0', 'SebastianBergmann\\Comparator\\NumericComparator'),
-            array(0, 0, 'SebastianBergmann\\Comparator\\NumericComparator'),
-            array(1.0, 0, 'SebastianBergmann\\Comparator\\DoubleComparator'),
-            array(0, 1.0, 'SebastianBergmann\\Comparator\\DoubleComparator'),
-            array(1.0, 1.0, 'SebastianBergmann\\Comparator\\DoubleComparator'),
-            array(array(1), array(1), 'SebastianBergmann\\Comparator\\ArrayComparator'),
-            array($tmpfile, $tmpfile, 'SebastianBergmann\\Comparator\\ResourceComparator'),
-            array(new \stdClass, new \stdClass, 'SebastianBergmann\\Comparator\\ObjectComparator'),
-            array(new \DateTime, new \DateTime, 'SebastianBergmann\\Comparator\\DateTimeComparator'),
-            array(new \SplObjectStorage, new \SplObjectStorage, 'SebastianBergmann\\Comparator\\SplObjectStorageComparator'),
-            array(new \Exception, new \Exception, 'SebastianBergmann\\Comparator\\ExceptionComparator'),
-            array(new \DOMDocument, new \DOMDocument, 'SebastianBergmann\\Comparator\\DOMNodeComparator'),
-            // mixed types
-            array($tmpfile, array(1), 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array(array(1), $tmpfile, 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array($tmpfile, '1', 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array('1', $tmpfile, 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array($tmpfile, new \stdClass, 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array(new \stdClass, $tmpfile, 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array(new \stdClass, array(1), 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array(array(1), new \stdClass, 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array(new \stdClass, '1', 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array('1', new \stdClass, 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array(new ClassWithToString, '1', 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array('1', new ClassWithToString, 'SebastianBergmann\\Comparator\\ScalarComparator'),
-            array(1.0, new \stdClass, 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array(new \stdClass, 1.0, 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array(1.0, array(1), 'SebastianBergmann\\Comparator\\TypeComparator'),
-            array(array(1), 1.0, 'SebastianBergmann\\Comparator\\TypeComparator'),
-        );
-    }
-
-    /**
-     * @dataProvider instanceProvider
-     * @covers       ::getComparatorFor
-     * @covers       ::__construct
-     */
-    public function testGetComparatorFor($a, $b, $expected)
-    {
-        $factory = new Factory;
-        $actual = $factory->getComparatorFor($a, $b);
-        $this->assertInstanceOf($expected, $actual);
-    }
-
-    /**
-     * @covers ::register
-     */
-    public function testRegister()
-    {
-        $comparator = new TestClassComparator;
-
-        $factory = new Factory;
-        $factory->register($comparator);
-
-        $a = new TestClass;
-        $b = new TestClass;
-        $expected = 'SebastianBergmann\\Comparator\\TestClassComparator';
-        $actual = $factory->getComparatorFor($a, $b);
-
-        $factory->unregister($comparator);
-        $this->assertInstanceOf($expected, $actual);
-    }
-
-    /**
-     * @covers ::unregister
-     */
-    public function testUnregister()
-    {
-        $comparator = new TestClassComparator;
-
-        $factory = new Factory;
-        $factory->register($comparator);
-        $factory->unregister($comparator);
-
-        $a = new TestClass;
-        $b = new TestClass;
-        $expected = 'SebastianBergmann\\Comparator\\ObjectComparator';
-        $actual = $factory->getComparatorFor($a, $b);
-
-        $this->assertInstanceOf($expected, $actual);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php b/core/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php
deleted file mode 100644
index 01e0352..0000000
--- a/core/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\MockObjectComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class MockObjectComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new MockObjectComparator;
-        $this->comparator->setFactory(new Factory);
-    }
-
-    public function acceptsSucceedsProvider()
-    {
-        $testmock = $this->getMock('SebastianBergmann\\Comparator\\TestClass');
-        $stdmock = $this->getMock('stdClass');
-
-        return array(
-          array($testmock, $testmock),
-          array($stdmock, $stdmock),
-          array($stdmock, $testmock)
-        );
-    }
-
-    public function acceptsFailsProvider()
-    {
-        $stdmock = $this->getMock('stdClass');
-
-        return array(
-          array($stdmock, null),
-          array(null, $stdmock),
-          array(null, null)
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        // cyclic dependencies
-        $book1 = $this->getMock('SebastianBergmann\\Comparator\\Book', null);
-        $book1->author = $this->getMock('SebastianBergmann\\Comparator\\Author', null, array('Terry Pratchett'));
-        $book1->author->books[] = $book1;
-        $book2 = $this->getMock('SebastianBergmann\\Comparator\\Book', null);
-        $book2->author = $this->getMock('SebastianBergmann\\Comparator\\Author', null, array('Terry Pratchett'));
-        $book2->author->books[] = $book2;
-
-        $object1 = $this->getMock('SebastianBergmann\\Comparator\\SampleClass', null, array(4, 8, 15));
-        $object2 = $this->getMock('SebastianBergmann\\Comparator\\SampleClass', null, array(4, 8, 15));
-
-        return array(
-          array($object1, $object1),
-          array($object1, $object2),
-          array($book1, $book1),
-          array($book1, $book2),
-          array(
-            $this->getMock('SebastianBergmann\\Comparator\\Struct', null, array(2.3)),
-            $this->getMock('SebastianBergmann\\Comparator\\Struct', null, array(2.5)),
-            0.5
-          )
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        $typeMessage = 'is not instance of expected class';
-        $equalMessage = 'Failed asserting that two objects are equal.';
-
-        // cyclic dependencies
-        $book1 = $this->getMock('SebastianBergmann\\Comparator\\Book', null);
-        $book1->author = $this->getMock('SebastianBergmann\\Comparator\\Author', null, array('Terry Pratchett'));
-        $book1->author->books[] = $book1;
-        $book2 = $this->getMock('SebastianBergmann\\Comparator\\Book', null);
-        $book2->author = $this->getMock('SebastianBergmann\\Comparator\\Author', null, array('Terry Pratch'));
-        $book2->author->books[] = $book2;
-
-        $book3 = $this->getMock('SebastianBergmann\\Comparator\\Book', null);
-        $book3->author = 'Terry Pratchett';
-        $book4 = $this->getMock('stdClass');
-        $book4->author = 'Terry Pratchett';
-
-        $object1 = $this->getMock('SebastianBergmann\\Comparator\\SampleClass', null, array(4, 8, 15));
-        $object2 = $this->getMock('SebastianBergmann\\Comparator\\SampleClass', null, array(16, 23, 42));
-
-        return array(
-          array(
-            $this->getMock('SebastianBergmann\\Comparator\\SampleClass', null, array(4, 8, 15)),
-            $this->getMock('SebastianBergmann\\Comparator\\SampleClass', null, array(16, 23, 42)),
-            $equalMessage
-          ),
-          array($object1, $object2, $equalMessage),
-          array($book1, $book2, $equalMessage),
-          array($book3, $book4, $typeMessage),
-          array(
-            $this->getMock('SebastianBergmann\\Comparator\\Struct', null, array(2.3)),
-            $this->getMock('SebastianBergmann\\Comparator\\Struct', null, array(4.2)),
-            $equalMessage,
-            0.5
-          )
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsSucceedsProvider
-     */
-    public function testAcceptsSucceeds($expected, $actual)
-    {
-        $this->assertTrue(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual, $delta);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual, $message, $delta = 0.0)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\Comparator\\ComparisonFailure', $message
-        );
-        $this->comparator->assertEquals($expected, $actual, $delta);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/NumericComparatorTest.php b/core/vendor/sebastian/comparator/tests/NumericComparatorTest.php
deleted file mode 100644
index cf121d4..0000000
--- a/core/vendor/sebastian/comparator/tests/NumericComparatorTest.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\NumericComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class NumericComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new NumericComparator;
-    }
-
-    public function acceptsSucceedsProvider()
-    {
-        return array(
-          array(5, 10),
-          array(8, '0'),
-          array('10', 0),
-          array(0x74c3b00c, 42),
-          array(0755, 0777)
-        );
-    }
-
-    public function acceptsFailsProvider()
-    {
-        return array(
-          array('5', '10'),
-          array(8, 5.0),
-          array(5.0, 8),
-          array(10, null),
-          array(false, 12)
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        return array(
-          array(1337, 1337),
-          array('1337', 1337),
-          array(0x539, 1337),
-          array(02471, 1337),
-          array(1337, 1338, 1),
-          array('1337', 1340, 5),
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        return array(
-          array(1337, 1338),
-          array('1338', 1337),
-          array(0x539, 1338),
-          array(1337, 1339, 1),
-          array('1337', 1340, 2),
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsSucceedsProvider
-     */
-    public function testAcceptsSucceeds($expected, $actual)
-    {
-        $this->assertTrue(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual, $delta);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual, $delta = 0.0)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\Comparator\\ComparisonFailure', 'matches expected'
-        );
-        $this->comparator->assertEquals($expected, $actual, $delta);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/ObjectComparatorTest.php b/core/vendor/sebastian/comparator/tests/ObjectComparatorTest.php
deleted file mode 100644
index b11bbe0..0000000
--- a/core/vendor/sebastian/comparator/tests/ObjectComparatorTest.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use stdClass;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\ObjectComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ObjectComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new ObjectComparator;
-        $this->comparator->setFactory(new Factory);
-    }
-
-    public function acceptsSucceedsProvider()
-    {
-        return array(
-          array(new TestClass, new TestClass),
-          array(new stdClass, new stdClass),
-          array(new stdClass, new TestClass)
-        );
-    }
-
-    public function acceptsFailsProvider()
-    {
-        return array(
-          array(new stdClass, null),
-          array(null, new stdClass),
-          array(null, null)
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        // cyclic dependencies
-        $book1 = new Book;
-        $book1->author = new Author('Terry Pratchett');
-        $book1->author->books[] = $book1;
-        $book2 = new Book;
-        $book2->author = new Author('Terry Pratchett');
-        $book2->author->books[] = $book2;
-
-        $object1 = new SampleClass(4, 8, 15);
-        $object2 = new SampleClass(4, 8, 15);
-
-        return array(
-          array($object1, $object1),
-          array($object1, $object2),
-          array($book1, $book1),
-          array($book1, $book2),
-          array(new Struct(2.3), new Struct(2.5), 0.5)
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        $typeMessage = 'is not instance of expected class';
-        $equalMessage = 'Failed asserting that two objects are equal.';
-
-        // cyclic dependencies
-        $book1 = new Book;
-        $book1->author = new Author('Terry Pratchett');
-        $book1->author->books[] = $book1;
-        $book2 = new Book;
-        $book2->author = new Author('Terry Pratch');
-        $book2->author->books[] = $book2;
-
-        $book3 = new Book;
-        $book3->author = 'Terry Pratchett';
-        $book4 = new stdClass;
-        $book4->author = 'Terry Pratchett';
-
-        $object1 = new SampleClass( 4,  8, 15);
-        $object2 = new SampleClass(16, 23, 42);
-
-        return array(
-          array(new SampleClass(4, 8, 15), new SampleClass(16, 23, 42), $equalMessage),
-          array($object1, $object2, $equalMessage),
-          array($book1, $book2, $equalMessage),
-          array($book3, $book4, $typeMessage),
-          array(new Struct(2.3), new Struct(4.2), $equalMessage, 0.5)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsSucceedsProvider
-     */
-    public function testAcceptsSucceeds($expected, $actual)
-    {
-        $this->assertTrue(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual, $delta);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual, $message, $delta = 0.0)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\Comparator\\ComparisonFailure', $message
-        );
-        $this->comparator->assertEquals($expected, $actual, $delta);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/ResourceComparatorTest.php b/core/vendor/sebastian/comparator/tests/ResourceComparatorTest.php
deleted file mode 100644
index 9aea3ee..0000000
--- a/core/vendor/sebastian/comparator/tests/ResourceComparatorTest.php
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\ResourceComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ResourceComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new ResourceComparator;
-    }
-
-    public function acceptsSucceedsProvider()
-    {
-        $tmpfile1 = tmpfile();
-        $tmpfile2 = tmpfile();
-
-        return array(
-          array($tmpfile1, $tmpfile1),
-          array($tmpfile2, $tmpfile2),
-          array($tmpfile1, $tmpfile2)
-        );
-    }
-
-    public function acceptsFailsProvider()
-    {
-        $tmpfile1 = tmpfile();
-
-        return array(
-          array($tmpfile1, null),
-          array(null, $tmpfile1),
-          array(null, null)
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        $tmpfile1 = tmpfile();
-        $tmpfile2 = tmpfile();
-
-        return array(
-          array($tmpfile1, $tmpfile1),
-          array($tmpfile2, $tmpfile2)
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        $tmpfile1 = tmpfile();
-        $tmpfile2 = tmpfile();
-
-        return array(
-          array($tmpfile1, $tmpfile2),
-          array($tmpfile2, $tmpfile1)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsSucceedsProvider
-     */
-    public function testAcceptsSucceeds($expected, $actual)
-    {
-        $this->assertTrue(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual)
-    {
-        $this->setExpectedException('SebastianBergmann\\Comparator\\ComparisonFailure');
-        $this->comparator->assertEquals($expected, $actual);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/ScalarComparatorTest.php b/core/vendor/sebastian/comparator/tests/ScalarComparatorTest.php
deleted file mode 100644
index a37e1c9..0000000
--- a/core/vendor/sebastian/comparator/tests/ScalarComparatorTest.php
+++ /dev/null
@@ -1,163 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\ScalarComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class ScalarComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new ScalarComparator;
-    }
-
-    public function acceptsSucceedsProvider()
-    {
-        return array(
-          array("string", "string"),
-          array(new ClassWithToString, "string"),
-          array("string", new ClassWithToString),
-          array("string", null),
-          array(false, "string"),
-          array(false, true),
-          array(null, false),
-          array(null, null),
-          array("10", 10),
-          array("", false),
-          array("1", true),
-          array(1, true),
-          array(0, false),
-          array(0.1, "0.1")
-        );
-    }
-
-    public function acceptsFailsProvider()
-    {
-        return array(
-          array(array(), array()),
-          array("string", array()),
-          array(new ClassWithToString, new ClassWithToString),
-          array(false, new ClassWithToString),
-          array(tmpfile(), tmpfile())
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        return array(
-          array("string", "string"),
-          array(new ClassWithToString, new ClassWithToString),
-          array("string representation", new ClassWithToString),
-          array(new ClassWithToString, "string representation"),
-          array("string", "STRING", true),
-          array("STRING", "string", true),
-          array("String Representation", new ClassWithToString, true),
-          array(new ClassWithToString, "String Representation", true),
-          array("10", 10),
-          array("", false),
-          array("1", true),
-          array(1, true),
-          array(0, false),
-          array(0.1, "0.1"),
-          array(false, null),
-          array(false, false),
-          array(true, true),
-          array(null, null)
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        $stringException = 'Failed asserting that two strings are equal.';
-        $otherException = 'matches expected';
-
-        return array(
-          array("string", "other string", $stringException),
-          array("string", "STRING", $stringException),
-          array("STRING", "string", $stringException),
-          array("string", "other string", $stringException),
-          // https://github.com/sebastianbergmann/phpunit/issues/1023
-          array('9E6666666','9E7777777', $stringException),
-          array(new ClassWithToString, "does not match", $otherException),
-          array("does not match", new ClassWithToString, $otherException),
-          array(0, 'Foobar', $otherException),
-          array('Foobar', 0, $otherException),
-          array("10", 25, $otherException),
-          array("1", false, $otherException),
-          array("", true, $otherException),
-          array(false, true, $otherException),
-          array(true, false, $otherException),
-          array(null, true, $otherException),
-          array(0, true, $otherException)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsSucceedsProvider
-     */
-    public function testAcceptsSucceeds($expected, $actual)
-    {
-        $this->assertTrue(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual, $ignoreCase = false)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual, 0.0, false, $ignoreCase);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual, $message)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\Comparator\\ComparisonFailure', $message
-        );
-        $this->comparator->assertEquals($expected, $actual);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php b/core/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php
deleted file mode 100644
index 40be43d..0000000
--- a/core/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use SplObjectStorage;
-use stdClass;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\SplObjectStorageComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class SplObjectStorageComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new SplObjectStorageComparator;
-    }
-
-    public function acceptsFailsProvider()
-    {
-        return array(
-          array(new SplObjectStorage, new stdClass),
-          array(new stdClass, new SplObjectStorage),
-          array(new stdClass, new stdClass)
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        $object1 = new stdClass();
-        $object2 = new stdClass();
-
-        $storage1 = new SplObjectStorage();
-        $storage2 = new SplObjectStorage();
-
-        $storage3 = new SplObjectStorage();
-        $storage3->attach($object1);
-        $storage3->attach($object2);
-
-        $storage4 = new SplObjectStorage();
-        $storage4->attach($object2);
-        $storage4->attach($object1);
-
-        return array(
-          array($storage1, $storage1),
-          array($storage1, $storage2),
-          array($storage3, $storage3),
-          array($storage3, $storage4)
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        $object1 = new stdClass;
-        $object2 = new stdClass;
-
-        $storage1 = new SplObjectStorage;
-
-        $storage2 = new SplObjectStorage;
-        $storage2->attach($object1);
-
-        $storage3 = new SplObjectStorage;
-        $storage3->attach($object2);
-        $storage3->attach($object1);
-
-        return array(
-          array($storage1, $storage2),
-          array($storage1, $storage3),
-          array($storage2, $storage3),
-        );
-    }
-
-    /**
-     * @covers  ::accepts
-     */
-    public function testAcceptsSucceeds()
-    {
-        $this->assertTrue(
-          $this->comparator->accepts(
-            new SplObjectStorage,
-            new SplObjectStorage
-          )
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsFailsProvider
-     */
-    public function testAcceptsFails($expected, $actual)
-    {
-        $this->assertFalse(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\Comparator\\ComparisonFailure',
-          'Failed asserting that two objects are equal.'
-        );
-        $this->comparator->assertEquals($expected, $actual);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/TypeComparatorTest.php b/core/vendor/sebastian/comparator/tests/TypeComparatorTest.php
deleted file mode 100644
index 57ff39e..0000000
--- a/core/vendor/sebastian/comparator/tests/TypeComparatorTest.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use stdClass;
-
-/**
- * @coversDefaultClass SebastianBergmann\Comparator\TypeComparator
- *
- * @package    Comparator
- * @author     Jeff Welch <whatthejeff@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class TypeComparatorTest extends \PHPUnit_Framework_TestCase
-{
-    private $comparator;
-
-    protected function setUp()
-    {
-        $this->comparator = new TypeComparator;
-    }
-
-    public function acceptsSucceedsProvider()
-    {
-        return array(
-          array(true, 1),
-          array(false, array(1)),
-          array(null, new stdClass),
-          array(1.0, 5),
-          array("", "")
-        );
-    }
-
-    public function assertEqualsSucceedsProvider()
-    {
-        return array(
-          array(true, true),
-          array(true, false),
-          array(false, false),
-          array(null, null),
-          array(new stdClass, new stdClass),
-          array(0, 0),
-          array(1.0, 2.0),
-          array("hello", "world"),
-          array("", ""),
-          array(array(), array(1,2,3))
-        );
-    }
-
-    public function assertEqualsFailsProvider()
-    {
-        return array(
-          array(true, null),
-          array(null, false),
-          array(1.0, 0),
-          array(new stdClass, array()),
-          array("1", 1)
-        );
-    }
-
-    /**
-     * @covers       ::accepts
-     * @dataProvider acceptsSucceedsProvider
-     */
-    public function testAcceptsSucceeds($expected, $actual)
-    {
-        $this->assertTrue(
-          $this->comparator->accepts($expected, $actual)
-        );
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsSucceedsProvider
-     */
-    public function testAssertEqualsSucceeds($expected, $actual)
-    {
-        $exception = null;
-
-        try {
-            $this->comparator->assertEquals($expected, $actual);
-        }
-
-        catch (ComparisonFailure $exception) {
-        }
-
-        $this->assertNull($exception, 'Unexpected ComparisonFailure');
-    }
-
-    /**
-     * @covers       ::assertEquals
-     * @dataProvider assertEqualsFailsProvider
-     */
-    public function testAssertEqualsFails($expected, $actual)
-    {
-        $this->setExpectedException('SebastianBergmann\\Comparator\\ComparisonFailure', 'does not match expected type');
-        $this->comparator->assertEquals($expected, $actual);
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/_files/Author.php b/core/vendor/sebastian/comparator/tests/_files/Author.php
deleted file mode 100644
index d516955..0000000
--- a/core/vendor/sebastian/comparator/tests/_files/Author.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * An author.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class Author
-{
-    // the order of properties is important for testing the cycle!
-    public $books = array();
-
-    private $name = '';
-
-    public function __construct($name)
-    {
-        $this->name = $name;
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/_files/Book.php b/core/vendor/sebastian/comparator/tests/_files/Book.php
deleted file mode 100644
index 91b8571..0000000
--- a/core/vendor/sebastian/comparator/tests/_files/Book.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * A book.
- *
- * @package    Comparator
- * @author     Bernhard Schussek <bschussek@2bepublished.at>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class Book
-{
-    // the order of properties is important for testing the cycle!
-    public $author = null;
-}
diff --git a/core/vendor/sebastian/comparator/tests/_files/ClassWithToString.php b/core/vendor/sebastian/comparator/tests/_files/ClassWithToString.php
deleted file mode 100644
index e8e03bc..0000000
--- a/core/vendor/sebastian/comparator/tests/_files/ClassWithToString.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-class ClassWithToString
-{
-    public function __toString()
-    {
-        return 'string representation';
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/_files/SampleClass.php b/core/vendor/sebastian/comparator/tests/_files/SampleClass.php
deleted file mode 100644
index de6476f..0000000
--- a/core/vendor/sebastian/comparator/tests/_files/SampleClass.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * A sample class.
- *
- * @package    Comparator
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class SampleClass
-{
-    public $a;
-    protected $b;
-    protected $c;
-
-    public function __construct($a, $b, $c)
-    {
-        $this->a = $a;
-        $this->b = $b;
-        $this->c = $c;
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/_files/Struct.php b/core/vendor/sebastian/comparator/tests/_files/Struct.php
deleted file mode 100644
index 05615af..0000000
--- a/core/vendor/sebastian/comparator/tests/_files/Struct.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * A struct.
- *
- * @package    Comparator
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/comparator
- */
-class Struct
-{
-    public $var;
-
-    public function __construct($var)
-    {
-        $this->var = $var;
-    }
-}
diff --git a/core/vendor/sebastian/comparator/tests/_files/TestClass.php b/core/vendor/sebastian/comparator/tests/_files/TestClass.php
deleted file mode 100644
index e4c9b78..0000000
--- a/core/vendor/sebastian/comparator/tests/_files/TestClass.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-class TestClass {
-}
diff --git a/core/vendor/sebastian/comparator/tests/_files/TestClassComparator.php b/core/vendor/sebastian/comparator/tests/_files/TestClassComparator.php
deleted file mode 100644
index 52aac3f..0000000
--- a/core/vendor/sebastian/comparator/tests/_files/TestClassComparator.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-class TestClassComparator extends ObjectComparator {
-}
diff --git a/core/vendor/sebastian/comparator/tests/autoload.php b/core/vendor/sebastian/comparator/tests/autoload.php
deleted file mode 100644
index f4d9bbc..0000000
--- a/core/vendor/sebastian/comparator/tests/autoload.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-// @codingStandardsIgnoreFile
-// @codeCoverageIgnoreStart
-// this is an autogenerated file - do not edit
-spl_autoload_register(
-    function($class) {
-        static $classes = null;
-        if ($classes === null) {
-            $classes = array(
-                'sebastianbergmann\\comparator\\arraycomparatortest' => '/ArrayComparatorTest.php',
-                'sebastianbergmann\\comparator\\author' => '/_files/Author.php',
-                'sebastianbergmann\\comparator\\book' => '/_files/Book.php',
-                'sebastianbergmann\\comparator\\classwithtostring' => '/_files/ClassWithToString.php',
-                'sebastianbergmann\\comparator\\datetimecomparatortest' => '/DateTimeComparatorTest.php',
-                'sebastianbergmann\\comparator\\domnodecomparatortest' => '/DOMNodeComparatorTest.php',
-                'sebastianbergmann\\comparator\\doublecomparatortest' => '/DoubleComparatorTest.php',
-                'sebastianbergmann\\comparator\\exceptioncomparatortest' => '/ExceptionComparatorTest.php',
-                'sebastianbergmann\\comparator\\factorytest' => '/FactoryTest.php',
-                'sebastianbergmann\\comparator\\mockobjectcomparatortest' => '/MockObjectComparatorTest.php',
-                'sebastianbergmann\\comparator\\numericcomparatortest' => '/NumericComparatorTest.php',
-                'sebastianbergmann\\comparator\\objectcomparatortest' => '/ObjectComparatorTest.php',
-                'sebastianbergmann\\comparator\\resourcecomparatortest' => '/ResourceComparatorTest.php',
-                'sebastianbergmann\\comparator\\sampleclass' => '/_files/SampleClass.php',
-                'sebastianbergmann\\comparator\\scalarcomparatortest' => '/ScalarComparatorTest.php',
-                'sebastianbergmann\\comparator\\splobjectstoragecomparatortest' => '/SplObjectStorageComparatorTest.php',
-                'sebastianbergmann\\comparator\\struct' => '/_files/Struct.php',
-                'sebastianbergmann\\comparator\\testclass' => '/_files/TestClass.php',
-                'sebastianbergmann\\comparator\\testclasscomparator' => '/_files/TestClassComparator.php',
-                'sebastianbergmann\\comparator\\typecomparatortest' => '/TypeComparatorTest.php'
-            );
-        }
-        $cn = strtolower($class);
-        if (isset($classes[$cn])) {
-            require __DIR__ . $classes[$cn];
-        }
-    }
-);
-// @codeCoverageIgnoreEnd
diff --git a/core/vendor/sebastian/comparator/tests/bootstrap.php b/core/vendor/sebastian/comparator/tests/bootstrap.php
deleted file mode 100644
index 8f1c57c..0000000
--- a/core/vendor/sebastian/comparator/tests/bootstrap.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-require __DIR__ . '/../vendor/autoload.php';
-require __DIR__ . '/autoload.php';
-
-ini_set('precision', 14);
-ini_set('serialize_precision', 14);
-
diff --git a/core/vendor/sebastian/diff/.gitignore b/core/vendor/sebastian/diff/.gitignore
deleted file mode 100644
index d571f24..0000000
--- a/core/vendor/sebastian/diff/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-.idea
-phpunit.xml
-composer.lock
-composer.phar
-vendor/
-cache.properties
-build/SebastianBergmann
-build/LICENSE
-build/README.md
-build/*.tgz
diff --git a/core/vendor/sebastian/diff/.travis.yml b/core/vendor/sebastian/diff/.travis.yml
deleted file mode 100644
index c5ea677..0000000
--- a/core/vendor/sebastian/diff/.travis.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-language: php
-
-install:
-  - travis_retry composer install --no-interaction --prefer-source
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-
-notifications:
-  email: false
-  irc: "irc.freenode.org#phpunit"
diff --git a/core/vendor/sebastian/diff/LICENSE b/core/vendor/sebastian/diff/LICENSE
deleted file mode 100644
index 0941c06..0000000
--- a/core/vendor/sebastian/diff/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-Diff
-
-Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/sebastian/diff/README.md b/core/vendor/sebastian/diff/README.md
deleted file mode 100644
index 921957b..0000000
--- a/core/vendor/sebastian/diff/README.md
+++ /dev/null
@@ -1,126 +0,0 @@
-# Diff
-
-Diff implementation for PHP, factored out of PHPUnit into a stand-alone component.
-
-## Installation
-
-To add this package as a local, per-project dependency to your project, simply add a dependency on `sebastian/diff` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on Diff:
-
-    {
-        "require": {
-            "sebastian/diff": "*"
-        }
-    }
-
-### Usage
-
-The `Differ` class can be used to generate a textual representation of the difference between two strings:
-
-```php
-use SebastianBergmann\Diff\Differ;
-
-$differ = new Differ;
-print $differ->diff('foo', 'bar');
-```
-
-The code above yields the output below:
-
-    --- Original
-    +++ New
-    @@ @@
-    -foo
-    +bar
-
-The `Parser` class can be used to parse a unified diff into an object graph:
-
-```php
-use SebastianBergmann\Diff\Parser;
-use SebastianBergmann\Git;
-
-$git = new Git('/usr/local/src/money');
-
-$diff = $git->getDiff(
-  '948a1a07768d8edd10dcefa8315c1cbeffb31833',
-  'c07a373d2399f3e686234c4f7f088d635eb9641b'
-);
-
-$parser = new Parser;
-
-print_r($parser->parse($diff));
-```
-
-The code above yields the output below:
-
-    Array
-    (
-        [0] => SebastianBergmann\Diff\Diff Object
-            (
-                [from:SebastianBergmann\Diff\Diff:private] => a/tests/MoneyTest.php
-                [to:SebastianBergmann\Diff\Diff:private] => b/tests/MoneyTest.php
-                [chunks:SebastianBergmann\Diff\Diff:private] => Array
-                    (
-                        [0] => SebastianBergmann\Diff\Chunk Object
-                            (
-                                [start:SebastianBergmann\Diff\Chunk:private] => 87
-                                [startRange:SebastianBergmann\Diff\Chunk:private] => 7
-                                [end:SebastianBergmann\Diff\Chunk:private] => 87
-                                [endRange:SebastianBergmann\Diff\Chunk:private] => 7
-                                [lines:SebastianBergmann\Diff\Chunk:private] => Array
-                                    (
-                                        [0] => SebastianBergmann\Diff\Line Object
-                                            (
-                                                [type:SebastianBergmann\Diff\Line:private] => 3
-                                                [content:SebastianBergmann\Diff\Line:private] =>      * @covers SebastianBergmann\Money\Money::add
-                                            )
-
-                                        [1] => SebastianBergmann\Diff\Line Object
-                                            (
-                                                [type:SebastianBergmann\Diff\Line:private] => 3
-                                                [content:SebastianBergmann\Diff\Line:private] =>      * @covers SebastianBergmann\Money\Money::newMoney
-                                            )
-
-                                        [2] => SebastianBergmann\Diff\Line Object
-                                            (
-                                                [type:SebastianBergmann\Diff\Line:private] => 3
-                                                [content:SebastianBergmann\Diff\Line:private] =>      */
-                                            )
-
-                                        [3] => SebastianBergmann\Diff\Line Object
-                                            (
-                                                [type:SebastianBergmann\Diff\Line:private] => 2
-                                                [content:SebastianBergmann\Diff\Line:private] =>     public function testAnotherMoneyWithSameCurrencyObjectCanBeAdded()
-                                            )
-
-                                        [4] => SebastianBergmann\Diff\Line Object
-                                            (
-                                                [type:SebastianBergmann\Diff\Line:private] => 1
-                                                [content:SebastianBergmann\Diff\Line:private] =>     public function testAnotherMoneyObjectWithSameCurrencyCanBeAdded()
-                                            )
-
-                                        [5] => SebastianBergmann\Diff\Line Object
-                                            (
-                                                [type:SebastianBergmann\Diff\Line:private] => 3
-                                                [content:SebastianBergmann\Diff\Line:private] =>     {
-                                            )
-
-                                        [6] => SebastianBergmann\Diff\Line Object
-                                            (
-                                                [type:SebastianBergmann\Diff\Line:private] => 3
-                                                [content:SebastianBergmann\Diff\Line:private] =>         $a = new Money(1, new Currency('EUR'));
-                                            )
-
-                                        [7] => SebastianBergmann\Diff\Line Object
-                                            (
-                                                [type:SebastianBergmann\Diff\Line:private] => 3
-                                                [content:SebastianBergmann\Diff\Line:private] =>         $b = new Money(2, new Currency('EUR'));
-                                            )
-
-                                    )
-
-                            )
-
-                    )
-
-            )
-
-    )
diff --git a/core/vendor/sebastian/diff/build.xml b/core/vendor/sebastian/diff/build.xml
deleted file mode 100644
index 7366087..0000000
--- a/core/vendor/sebastian/diff/build.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="diff">
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/vendor"/>
-  <delete file="${basedir}/composer.lock"/>
- </target>
-
- <target name="composer" depends="clean" description="Install dependencies with Composer">
-  <tstamp>
-   <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
-  </tstamp>
-  <delete>
-   <fileset dir="${basedir}">
-    <include name="composer.phar" />
-    <date datetime="${thirty.days.ago}" when="before"/>
-   </fileset>
-  </delete>
-
-  <get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="install"/>
-  </exec>
- </target>
-</project>
diff --git a/core/vendor/sebastian/diff/composer.json b/core/vendor/sebastian/diff/composer.json
deleted file mode 100644
index 3c04952..0000000
--- a/core/vendor/sebastian/diff/composer.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
-    "name": "sebastian/diff",
-    "description": "Diff implementation",
-    "keywords": ["diff"],
-    "homepage": "http://www.github.com/sebastianbergmann/diff",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sebastian@phpunit.de"
-        },
-        {
-            "name": "Kore Nordmann",
-            "email": "mail@kore-nordmann.de"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4.2"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.3-dev"
-        }
-    }
-}
diff --git a/core/vendor/sebastian/diff/phpunit.xml.dist b/core/vendor/sebastian/diff/phpunit.xml.dist
deleted file mode 100644
index 387a9b3..0000000
--- a/core/vendor/sebastian/diff/phpunit.xml.dist
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.2/phpunit.xsd"
-         bootstrap="vendor/autoload.php"
-         backupGlobals="false"
-         verbose="true">
-  <testsuite name="Diff">
-    <directory suffix="Test.php">tests</directory>
-  </testsuite>
-
-  <filter>
-    <whitelist processUncoveredFilesFromWhitelist="true">
-      <directory suffix=".php">src</directory>
-    </whitelist>
-  </filter>
-</phpunit>
-
diff --git a/core/vendor/sebastian/diff/src/Chunk.php b/core/vendor/sebastian/diff/src/Chunk.php
deleted file mode 100644
index 79d13fc..0000000
--- a/core/vendor/sebastian/diff/src/Chunk.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-/**
- * @package    Diff
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Kore Nordmann <mail@kore-nordmann.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/diff
- */
-class Chunk
-{
-    /**
-     * @var int
-     */
-    private $start;
-
-    /**
-     * @var int
-     */
-    private $startRange;
-
-    /**
-     * @var int
-     */
-    private $end;
-    /**
-     * @var int
-     */
-    private $endRange;
-
-    /**
-     * @var array
-     */
-    private $lines;
-
-    /**
-     * @param int   $start
-     * @param int   $startRange
-     * @param int   $end
-     * @param int   $endRange
-     * @param array $lines
-     */
-    public function __construct($start = 0, $startRange = 1, $end = 0, $endRange = 1, array $lines = array())
-    {
-        $this->start      = (int) $start;
-        $this->startRange = (int) $startRange;
-        $this->end        = (int) $end;
-        $this->endRange   = (int) $endRange;
-        $this->lines      = $lines;
-    }
-
-    /**
-     * @return int
-     */
-    public function getStart()
-    {
-        return $this->start;
-    }
-
-    /**
-     * @return int
-     */
-    public function getStartRange()
-    {
-        return $this->startRange;
-    }
-
-    /**
-     * @return int
-     */
-    public function getEnd()
-    {
-        return $this->end;
-    }
-
-    /**
-     * @return int
-     */
-    public function getEndRange()
-    {
-        return $this->endRange;
-    }
-
-    /**
-     * @return array
-     */
-    public function getLines()
-    {
-        return $this->lines;
-    }
-
-    /**
-     * @param array $lines
-     */
-    public function setLines(array $lines)
-    {
-        $this->lines = $lines;
-    }
-}
diff --git a/core/vendor/sebastian/diff/src/Diff.php b/core/vendor/sebastian/diff/src/Diff.php
deleted file mode 100644
index 45aaae6..0000000
--- a/core/vendor/sebastian/diff/src/Diff.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-/**
- * @package    Diff
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Kore Nordmann <mail@kore-nordmann.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/diff
- */
-class Diff
-{
-    /**
-     * @var string
-     */
-    private $from;
-
-    /**
-     * @var string
-     */
-    private $to;
-
-    /**
-     * @var Chunk[]
-     */
-    private $chunks;
-
-    /**
-     * @param string  $from
-     * @param string  $to
-     * @param Chunk[] $chunks
-     */
-    public function __construct($from, $to, array $chunks = array())
-    {
-        $this->from   = $from;
-        $this->to     = $to;
-        $this->chunks = $chunks;
-    }
-
-    /**
-     * @return string
-     */
-    public function getFrom()
-    {
-        return $this->from;
-    }
-
-    /**
-     * @return string
-     */
-    public function getTo()
-    {
-        return $this->to;
-    }
-
-    /**
-     * @return Chunk[]
-     */
-    public function getChunks()
-    {
-        return $this->chunks;
-    }
-
-    /**
-     * @param Chunk[] $chunks
-     */
-    public function setChunks(array $chunks)
-    {
-        $this->chunks = $chunks;
-    }
-}
diff --git a/core/vendor/sebastian/diff/src/Differ.php b/core/vendor/sebastian/diff/src/Differ.php
deleted file mode 100644
index 76630ed..0000000
--- a/core/vendor/sebastian/diff/src/Differ.php
+++ /dev/null
@@ -1,256 +0,0 @@
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-use SebastianBergmann\Diff\LCS\LongestCommonSubsequence;
-use SebastianBergmann\Diff\LCS\TimeEfficientImplementation;
-use SebastianBergmann\Diff\LCS\MemoryEfficientImplementation;
-
-/**
- * Diff implementation.
- *
- * @package    Diff
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Kore Nordmann <mail@kore-nordmann.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/diff
- */
-class Differ
-{
-    /**
-     * @var string
-     */
-    private $header;
-
-    /**
-     * @param string $header
-     */
-    public function __construct($header = "--- Original\n+++ New\n")
-    {
-        $this->header = $header;
-    }
-
-    /**
-     * Returns the diff between two arrays or strings as string.
-     *
-     * @param  array|string             $from
-     * @param  array|string             $to
-     * @param  LongestCommonSubsequence $lcs
-     * @return string
-     */
-    public function diff($from, $to, LongestCommonSubsequence $lcs = null)
-    {
-        if (!is_array($from) && !is_string($from)) {
-            $from = (string) $from;
-        }
-
-        if (!is_array($to) && !is_string($to)) {
-            $to = (string) $to;
-        }
-
-        $buffer = $this->header;
-        $diff   = $this->diffToArray($from, $to, $lcs);
-
-        $inOld = false;
-        $i     = 0;
-        $old   = array();
-
-        foreach ($diff as $line) {
-            if ($line[1] ===  0 /* OLD */) {
-                if ($inOld === false) {
-                    $inOld = $i;
-                }
-            } elseif ($inOld !== false) {
-                if (($i - $inOld) > 5) {
-                    $old[$inOld] = $i - 1;
-                }
-
-                $inOld = false;
-            }
-
-            ++$i;
-        }
-
-        $start = isset($old[0]) ? $old[0] : 0;
-        $end   = count($diff);
-
-        if ($tmp = array_search($end, $old)) {
-            $end = $tmp;
-        }
-
-        $newChunk = true;
-
-        for ($i = $start; $i < $end; $i++) {
-            if (isset($old[$i])) {
-                $buffer  .= "\n";
-                $newChunk = true;
-                $i        = $old[$i];
-            }
-
-            if ($newChunk) {
-                $buffer  .= "@@ @@\n";
-                $newChunk = false;
-            }
-
-            if ($diff[$i][1] === 1 /* ADDED */) {
-                $buffer .= '+' . $diff[$i][0] . "\n";
-            } elseif ($diff[$i][1] === 2 /* REMOVED */) {
-                $buffer .= '-' . $diff[$i][0] . "\n";
-            } else {
-                $buffer .= ' ' . $diff[$i][0] . "\n";
-            }
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * Returns the diff between two arrays or strings as array.
-     *
-     * Each array element contains two elements:
-     *   - [0] => string $token
-     *   - [1] => 2|1|0
-     *
-     * - 2: REMOVED: $token was removed from $from
-     * - 1: ADDED: $token was added to $from
-     * - 0: OLD: $token is not changed in $to
-     *
-     * @param  array|string             $from
-     * @param  array|string             $to
-     * @param  LongestCommonSubsequence $lcs
-     * @return array
-     */
-    public function diffToArray($from, $to, LongestCommonSubsequence $lcs = null)
-    {
-        preg_match_all('(\r\n|\r|\n)', $from, $fromMatches);
-        preg_match_all('(\r\n|\r|\n)', $to, $toMatches);
-
-        if (is_string($from)) {
-            $from = preg_split('(\r\n|\r|\n)', $from);
-        }
-
-        if (is_string($to)) {
-            $to = preg_split('(\r\n|\r|\n)', $to);
-        }
-
-        $start      = array();
-        $end        = array();
-        $fromLength = count($from);
-        $toLength   = count($to);
-        $length     = min($fromLength, $toLength);
-
-        for ($i = 0; $i < $length; ++$i) {
-            if ($from[$i] === $to[$i]) {
-                $start[] = $from[$i];
-                unset($from[$i], $to[$i]);
-            } else {
-                break;
-            }
-        }
-
-        $length -= $i;
-
-        for ($i = 1; $i < $length; ++$i) {
-            if ($from[$fromLength - $i] === $to[$toLength - $i]) {
-                array_unshift($end, $from[$fromLength - $i]);
-                unset($from[$fromLength - $i], $to[$toLength - $i]);
-            } else {
-                break;
-            }
-        }
-
-        if ($lcs === null) {
-            $lcs = $this->selectLcsImplementation($from, $to);
-        }
-
-        $common = $lcs->calculate(array_values($from), array_values($to));
-        $diff   = array();
-
-        if (isset($fromMatches[0]) && $toMatches[0] &&
-            count($fromMatches[0]) === count($toMatches[0]) &&
-            $fromMatches[0] !== $toMatches[0]) {
-            $diff[] = array(
-              '#Warning: Strings contain different line endings!', 0
-            );
-        }
-
-        foreach ($start as $token) {
-            $diff[] = array($token, 0 /* OLD */);
-        }
-
-        reset($from);
-        reset($to);
-
-        foreach ($common as $token) {
-            while ((($fromToken = reset($from)) !== $token)) {
-                $diff[] = array(array_shift($from), 2 /* REMOVED */);
-            }
-
-            while ((($toToken = reset($to)) !== $token)) {
-                $diff[] = array(array_shift($to), 1 /* ADDED */);
-            }
-
-            $diff[] = array($token, 0 /* OLD */);
-
-            array_shift($from);
-            array_shift($to);
-        }
-
-        while (($token = array_shift($from)) !== null) {
-            $diff[] = array($token, 2 /* REMOVED */);
-        }
-
-        while (($token = array_shift($to)) !== null) {
-            $diff[] = array($token, 1 /* ADDED */);
-        }
-
-        foreach ($end as $token) {
-            $diff[] = array($token, 0 /* OLD */);
-        }
-
-        return $diff;
-    }
-
-    /**
-     * @param  array $from
-     * @param  array $to
-     * @return LongestCommonSubsequence
-     */
-    private function selectLcsImplementation(array $from, array $to)
-    {
-        // We do not want to use the time-efficient implementation if its memory
-        // footprint will probably exceed this value. Note that the footprint
-        // calculation is only an estimation for the matrix and the LCS method
-        // will typically allocate a bit more memory than this.
-        $memoryLimit = 100 * 1024 * 1024;
-
-        if ($this->calculateEstimatedFootprint($from, $to) > $memoryLimit) {
-            return new MemoryEfficientImplementation;
-        }
-
-        return new TimeEfficientImplementation;
-    }
-
-    /**
-     * Calculates the estimated memory footprint for the DP-based method.
-     *
-     * @param  array $from
-     * @param  array $to
-     * @return integer
-     */
-    private function calculateEstimatedFootprint(array $from, array $to)
-    {
-        $itemSize = PHP_INT_SIZE == 4 ? 76 : 144;
-
-        return $itemSize * pow(min(count($from), count($to)), 2);
-    }
-}
diff --git a/core/vendor/sebastian/diff/src/LCS/LongestCommonSubsequence.php b/core/vendor/sebastian/diff/src/LCS/LongestCommonSubsequence.php
deleted file mode 100644
index 8036474..0000000
--- a/core/vendor/sebastian/diff/src/LCS/LongestCommonSubsequence.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff\LCS;
-
-/**
- * Interface for implementations of longest common subsequence calculation.
- *
- * @package    Diff
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Kore Nordmann <mail@kore-nordmann.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/diff
- */
-interface LongestCommonSubsequence
-{
-    /**
-     * Calculates the longest common subsequence of two arrays.
-     *
-     * @param  array $from
-     * @param  array $to
-     * @return array
-     */
-    public function calculate(array $from, array $to);
-}
diff --git a/core/vendor/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php b/core/vendor/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php
deleted file mode 100644
index 6213607..0000000
--- a/core/vendor/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff\LCS;
-
-/**
- * Memory-efficient implementation of longest common subsequence calculation.
- *
- * @package    Diff
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Denes Lados <lados.denes@gmail.com>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/diff
- */
-class MemoryEfficientImplementation implements LongestCommonSubsequence
-{
-    /**
-     * Calculates the longest common subsequence of two arrays.
-     *
-     * @param  array $from
-     * @param  array $to
-     * @return array
-     */
-    public function calculate(array $from, array $to)
-    {
-        $cFrom = count($from);
-        $cTo   = count($to);
-
-        if ($cFrom == 0) {
-            return array();
-        } elseif ($cFrom == 1) {
-            if (in_array($from[0], $to)) {
-                return array($from[0]);
-            } else {
-                return array();
-            }
-        } else {
-            $i         = intval($cFrom / 2);
-            $fromStart = array_slice($from, 0, $i);
-            $fromEnd   = array_slice($from, $i);
-            $llB       = $this->length($fromStart, $to);
-            $llE       = $this->length(array_reverse($fromEnd), array_reverse($to));
-            $jMax      = 0;
-            $max       = 0;
-
-            for ($j = 0; $j <= $cTo; $j++) {
-                $m = $llB[$j] + $llE[$cTo - $j];
-
-                if ($m >= $max) {
-                    $max  = $m;
-                    $jMax = $j;
-                }
-            }
-
-            $toStart = array_slice($to, 0, $jMax);
-            $toEnd   = array_slice($to, $jMax);
-
-            return array_merge(
-                $this->calculate($fromStart, $toStart),
-                $this->calculate($fromEnd, $toEnd)
-            );
-        }
-    }
-
-    /**
-     * @param array $from
-     * @param array $to
-     * @return array
-     */
-    private function length(array $from, array $to)
-    {
-        $current = array_fill(0, count($to) + 1, 0);
-        $cFrom   = count($from);
-        $cTo     = count($to);
-
-        for ($i = 0; $i < $cFrom; $i++) {
-            $prev = $current;
-
-            for ($j = 0; $j < $cTo; $j++) {
-                if ($from[$i] == $to[$j]) {
-                    $current[$j + 1] = $prev[$j] + 1;
-                } else {
-                    $current[$j + 1] = max($current[$j], $prev[$j + 1]);
-                }
-            }
-        }
-
-        return $current;
-    }
-}
diff --git a/core/vendor/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php b/core/vendor/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php
deleted file mode 100644
index b569586..0000000
--- a/core/vendor/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff\LCS;
-
-/**
- * Time-efficient implementation of longest common subsequence calculation.
- *
- * @package    Diff
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Kore Nordmann <mail@kore-nordmann.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/diff
- */
-class TimeEfficientImplementation implements LongestCommonSubsequence
-{
-    /**
-     * Calculates the longest common subsequence of two arrays.
-     *
-     * @param  array $from
-     * @param  array $to
-     * @return array
-     */
-    public function calculate(array $from, array $to)
-    {
-        $common     = array();
-        $fromLength = count($from);
-        $toLength   = count($to);
-        $width      = $fromLength + 1;
-        $matrix     = new \SplFixedArray($width * ($toLength + 1));
-
-        for ($i = 0; $i <= $fromLength; ++$i) {
-            $matrix[$i] = 0;
-        }
-
-        for ($j = 0; $j <= $toLength; ++$j) {
-            $matrix[$j * $width] = 0;
-        }
-
-        for ($i = 1; $i <= $fromLength; ++$i) {
-            for ($j = 1; $j <= $toLength; ++$j) {
-                $o = ($j * $width) + $i;
-                $matrix[$o] = max(
-                    $matrix[$o - 1],
-                    $matrix[$o - $width],
-                    $from[$i - 1] === $to[$j - 1] ? $matrix[$o - $width - 1] + 1 : 0
-                );
-            }
-        }
-
-        $i = $fromLength;
-        $j = $toLength;
-
-        while ($i > 0 && $j > 0) {
-            if ($from[$i-1] === $to[$j-1]) {
-                $common[] = $from[$i-1];
-                --$i;
-                --$j;
-            } else {
-                $o = ($j * $width) + $i;
-                if ($matrix[$o - $width] > $matrix[$o - 1]) {
-                    --$j;
-                } else {
-                    --$i;
-                }
-            }
-        }
-
-        return array_reverse($common);
-    }
-}
diff --git a/core/vendor/sebastian/diff/src/Line.php b/core/vendor/sebastian/diff/src/Line.php
deleted file mode 100644
index 28c66aa..0000000
--- a/core/vendor/sebastian/diff/src/Line.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-/**
- * @package    Diff
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Kore Nordmann <mail@kore-nordmann.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/diff
- */
-class Line
-{
-    const ADDED = 1;
-    const REMOVED = 2;
-    const UNCHANGED = 3;
-
-    /**
-     * @var int
-     */
-    private $type;
-
-    /**
-     * @var string
-     */
-    private $content;
-
-    /**
-     * @param int    $type
-     * @param string $content
-     */
-    public function __construct($type = self::UNCHANGED, $content = '')
-    {
-        $this->type    = $type;
-        $this->content = $content;
-    }
-
-    /**
-     * @return string
-     */
-    public function getContent()
-    {
-        return $this->content;
-    }
-
-    /**
-     * @return int
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-}
diff --git a/core/vendor/sebastian/diff/src/Parser.php b/core/vendor/sebastian/diff/src/Parser.php
deleted file mode 100644
index 79e2413..0000000
--- a/core/vendor/sebastian/diff/src/Parser.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-/**
- * Unified diff parser.
- *
- * @package    Diff
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Kore Nordmann <mail@kore-nordmann.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/diff
- */
-class Parser
-{
-    /**
-     * @param  string $string
-     * @return Diff[]
-     */
-    public function parse($string)
-    {
-        $lines     = preg_split('(\r\n|\r|\n)', $string);
-        $lineCount = count($lines);
-        $diffs     = array();
-        $diff      = null;
-        $collected = array();
-
-        for ($i = 0; $i < $lineCount; ++$i) {
-            if (preg_match('(^---\\s+(?P<file>\\S+))', $lines[$i], $fromMatch) &&
-                preg_match('(^\\+\\+\\+\\s+(?P<file>\\S+))', $lines[$i + 1], $toMatch)) {
-                if ($diff !== null) {
-                    $this->parseFileDiff($diff, $collected);
-                    $diffs[]   = $diff;
-                    $collected = array();
-                }
-
-                $diff = new Diff($fromMatch['file'], $toMatch['file']);
-                ++$i;
-            } else {
-                if (preg_match('/^(?:diff --git |index [\da-f\.]+|[+-]{3} [ab])/', $lines[$i])) {
-                    continue;
-                }
-                $collected[] = $lines[$i];
-            }
-        }
-
-        if (count($collected) && ($diff !== null)) {
-            $this->parseFileDiff($diff, $collected);
-            $diffs[] = $diff;
-        }
-
-        return $diffs;
-    }
-
-    /**
-     * @param Diff  $diff
-     * @param array $lines
-     */
-    private function parseFileDiff(Diff $diff, array $lines)
-    {
-        $chunks = array();
-
-        foreach ($lines as $line) {
-            if (preg_match('/^@@\s+-(?P<start>\d+)(?:,\s*(?P<startrange>\d+))?\s+\+(?P<end>\d+)(?:,\s*(?P<endrange>\d+))?\s+@@/', $line, $match)) {
-                $chunk = new Chunk(
-                    $match['start'],
-                    isset($match['startrange']) ? max(1, $match['startrange']) : 1,
-                    $match['end'],
-                    isset($match['endrange']) ? max(1, $match['endrange']) : 1
-                );
-
-                $chunks[] = $chunk;
-                $diffLines = array();
-                continue;
-            }
-
-            if (preg_match('/^(?P<type>[+ -])?(?P<line>.*)/', $line, $match)) {
-                $type = Line::UNCHANGED;
-
-                if ($match['type'] == '+') {
-                    $type = Line::ADDED;
-                } elseif ($match['type'] == '-') {
-                    $type = Line::REMOVED;
-                }
-
-                $diffLines[] = new Line($type, $match['line']);
-
-                if (isset($chunk)) {
-                    $chunk->setLines($diffLines);
-                }
-            }
-        }
-
-        $diff->setChunks($chunks);
-    }
-}
diff --git a/core/vendor/sebastian/diff/tests/DifferTest.php b/core/vendor/sebastian/diff/tests/DifferTest.php
deleted file mode 100644
index a786325..0000000
Binary files a/core/vendor/sebastian/diff/tests/DifferTest.php and /dev/null differ
diff --git a/core/vendor/sebastian/diff/tests/LCS/TimeEfficientImplementationTest.php b/core/vendor/sebastian/diff/tests/LCS/TimeEfficientImplementationTest.php
deleted file mode 100644
index babc407..0000000
--- a/core/vendor/sebastian/diff/tests/LCS/TimeEfficientImplementationTest.php
+++ /dev/null
@@ -1,175 +0,0 @@
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff\LCS;
-
-use PHPUnit_Framework_TestCase;
-
-/**
- * Some of these tests are volontary stressfull, in order to give some approximative benchmark hints.
- */
-class TimeEfficientImplementationTest extends PHPUnit_Framework_TestCase
-{
-    private $implementation;
-    private $memory_limit;
-    private $stress_sizes = array(1, 2, 3, 100, 500, 1000, 2000);
-
-    protected function setUp()
-    {
-        $this->memory_limit = ini_get('memory_limit');
-        ini_set('memory_limit', '256M');
-
-        $this->implementation = new TimeEfficientImplementation;
-    }
-
-    protected function tearDown()
-    {
-        ini_set('memory_limit', $this->memory_limit);
-    }
-
-    public function testBothEmpty()
-    {
-        $from   = array();
-        $to     = array();
-        $common = $this->implementation->calculate($from, $to);
-
-        $this->assertEquals(array(), $common);
-    }
-
-    public function testIsStrictComparison()
-    {
-        $from = array(
-            false, 0, 0.0, '', null, array(),
-            true, 1, 1.0, 'foo', array('foo', 'bar'), array('foo' => 'bar')
-        );
-        $to = $from;
-        $common = $this->implementation->calculate($from, $to);
-
-        $this->assertEquals($from, $common);
-
-        $to = array(
-            false, false, false, false, false, false,
-            true, true, true, true, true, true
-        );
-        $expected = array(
-            false,
-            true,
-        );
-        $common = $this->implementation->calculate($from, $to);
-
-        $this->assertEquals($expected, $common);
-    }
-
-    public function testEqualSequences()
-    {
-        foreach ($this->stress_sizes as $size) {
-            $range  = range(1, $size);
-            $from   = $range;
-            $to     = $range;
-            $common = $this->implementation->calculate($from, $to);
-
-            $this->assertEquals($range, $common);
-        }
-    }
-
-    public function testDistinctSequences()
-    {
-        $from  = array('A');
-        $to    = array('B');
-        $common = $this->implementation->calculate($from, $to);
-        $this->assertEquals(array(), $common);
-
-        $from  = array('A', 'B', 'C');
-        $to    = array('D', 'E', 'F');
-        $common = $this->implementation->calculate($from, $to);
-        $this->assertEquals(array(), $common);
-
-        foreach ($this->stress_sizes as $size) {
-            $from  = range(1, $size);
-            $to    = range($size + 1, $size * 2);
-            $common = $this->implementation->calculate($from, $to);
-            $this->assertEquals(array(), $common);
-        }
-    }
-
-    public function testCommonSubsequence()
-    {
-        $from     = array('A',      'C',      'E', 'F', 'G'     );
-        $to       = array('A', 'B',      'D', 'E',           'H');
-        $expected = array('A',                'E'               );
-        $common   = $this->implementation->calculate($from, $to);
-        $this->assertEquals($expected, $common);
-
-        $from     = array('A',      'C',      'E', 'F', 'G'     );
-        $to       = array(     'B', 'C', 'D', 'E', 'F',      'H');
-        $expected = array('C',                'E', 'F'          );
-        $common   = $this->implementation->calculate($from, $to);
-        $this->assertEquals($expected, $common);
-
-        foreach ($this->stress_sizes as $size) {
-            $from     = $size < 2 ? array(1) : range(1, $size + 1, 2);
-            $to       = $size < 3 ? array(1) : range(1, $size + 1, 3);
-            $expected = $size < 6 ? array(1) : range(1, $size + 1, 6);
-            $common   = $this->implementation->calculate($from, $to);
-
-            $this->assertEquals($expected, $common);
-        }
-    }
-
-    public function testSingleElementSubsequenceAtStart()
-    {
-        foreach ($this->stress_sizes as $size) {
-            $from   = range(1, $size);
-            $to     = array_slice($from, 0, 1);
-            $common = $this->implementation->calculate($from, $to);
-
-            $this->assertEquals($to, $common);
-        }
-    }
-
-    public function testSingleElementSubsequenceAtMiddle()
-    {
-        foreach ($this->stress_sizes as $size) {
-            $from   = range(1, $size);
-            $to     = array_slice($from, (int) $size / 2, 1);
-            $common = $this->implementation->calculate($from, $to);
-
-            $this->assertEquals($to, $common);
-        }
-    }
-
-    public function testSingleElementSubsequenceAtEnd()
-    {
-        foreach ($this->stress_sizes as $size) {
-            $from   = range(1, $size);
-            $to     = array_slice($from, $size - 1, 1);
-            $common = $this->implementation->calculate($from, $to);
-
-            $this->assertEquals($to, $common);
-        }
-    }
-
-    public function testReversedSequences()
-    {
-        $from     = array('A', 'B');
-        $to       = array('B', 'A');
-        $expected = array('A');
-        $common   = $this->implementation->calculate($from, $to);
-        $this->assertEquals($expected, $common);
-
-        foreach ($this->stress_sizes as $size) {
-            $from   = range(1, $size);
-            $to     = array_reverse($from);
-            $common = $this->implementation->calculate($from, $to);
-
-            $this->assertEquals(array(1), $common);
-        }
-    }
-}
diff --git a/core/vendor/sebastian/diff/tests/ParserTest.php b/core/vendor/sebastian/diff/tests/ParserTest.php
deleted file mode 100644
index 3a7b972..0000000
--- a/core/vendor/sebastian/diff/tests/ParserTest.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-use PHPUnit_Framework_TestCase;
-
-class ParserTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var Parser
-     */
-    private $parser;
-
-    protected function setUp()
-    {
-        $this->parser = new Parser;
-    }
-
-    public function testParse()
-    {
-        $content = file_get_contents(__DIR__ . '/fixtures/patch.txt');
-
-        $diffs = $this->parser->parse($content);
-
-        $this->assertCount(1, $diffs);
-
-        $chunks = $diffs[0]->getChunks();
-        $this->assertCount(1, $chunks);
-
-        $this->assertEquals(20, $chunks[0]->getStart());
-
-        $this->assertCount(5, $chunks[0]->getLines());
-    }
-
-    public function testParseWithMultipleChunks()
-    {
-        $content = file_get_contents(__DIR__ . '/fixtures/patch2.txt');
-
-        $diffs = $this->parser->parse($content);
-
-        $this->assertCount(1, $diffs);
-
-        $chunks = $diffs[0]->getChunks();
-        $this->assertCount(3, $chunks);
-
-        $this->assertEquals(20, $chunks[0]->getStart());
-        $this->assertEquals(320, $chunks[1]->getStart());
-        $this->assertEquals(600, $chunks[2]->getStart());
-
-        $this->assertCount(5, $chunks[0]->getLines());
-        $this->assertCount(5, $chunks[1]->getLines());
-        $this->assertCount(5, $chunks[2]->getLines());
-    }
-}
diff --git a/core/vendor/sebastian/diff/tests/fixtures/patch.txt b/core/vendor/sebastian/diff/tests/fixtures/patch.txt
deleted file mode 100644
index 144b61d..0000000
--- a/core/vendor/sebastian/diff/tests/fixtures/patch.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git a/Foo.php b/Foo.php
-index abcdefg..abcdefh 100644
---- a/Foo.php
-+++ b/Foo.php
-@@ -20,4 +20,5 @@ class Foo
-     const ONE = 1;
-     const TWO = 2;
-+    const THREE = 3;
-     const FOUR = 4;
diff --git a/core/vendor/sebastian/diff/tests/fixtures/patch2.txt b/core/vendor/sebastian/diff/tests/fixtures/patch2.txt
deleted file mode 100644
index 41fbc95..0000000
--- a/core/vendor/sebastian/diff/tests/fixtures/patch2.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Foo.php b/Foo.php
-index abcdefg..abcdefh 100644
---- a/Foo.php
-+++ b/Foo.php
-@@ -20,4 +20,5 @@ class Foo
-     const ONE = 1;
-     const TWO = 2;
-+    const THREE = 3;
-     const FOUR = 4;
-
-@@ -320,4 +320,5 @@ class Foo
-     const A = 'A';
-     const B = 'B';
-+    const C = 'C';
-     const D = 'D';
-
-@@ -600,4 +600,5 @@ class Foo
-     public function doSomething() {
-
-+        return 'foo';
-     }
diff --git a/core/vendor/sebastian/environment/.gitignore b/core/vendor/sebastian/environment/.gitignore
deleted file mode 100644
index 5794854..0000000
--- a/core/vendor/sebastian/environment/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/.idea
-/vendor
-/composer.lock
-/composer.phar
-/phpunit.xml
diff --git a/core/vendor/sebastian/environment/.travis.yml b/core/vendor/sebastian/environment/.travis.yml
deleted file mode 100644
index 76a9bde..0000000
--- a/core/vendor/sebastian/environment/.travis.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-language: php
-
-before_script:
-  - composer self-update
-  - composer install --no-interaction --prefer-source --dev
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-
-notifications:
-  email: false
diff --git a/core/vendor/sebastian/environment/LICENSE b/core/vendor/sebastian/environment/LICENSE
deleted file mode 100644
index 08539af..0000000
--- a/core/vendor/sebastian/environment/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-Environment
-
-Copyright (c) 2014-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/sebastian/environment/README.md b/core/vendor/sebastian/environment/README.md
deleted file mode 100644
index 5f3cb3b..0000000
--- a/core/vendor/sebastian/environment/README.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# Environment
-
-This component provides functionality that helps writing PHP code that has runtime-specific (PHP / HHVM) execution paths.
-
-[![Latest Stable Version](https://poser.pugx.org/sebastian/environment/v/stable.png)](https://packagist.org/packages/sebastian/environment)
-[![Build Status](https://travis-ci.org/sebastianbergmann/environment.png?branch=master)](https://travis-ci.org/sebastianbergmann/environment)
-
-## Installation
-
-To add Environment as a local, per-project dependency to your project, simply add a dependency on `sebastian/environment` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on Environment 1.0:
-
-    {
-        "require": {
-            "sebastian/environment": "1.0.*"
-        }
-    }
-
-## Usage
-
-```php
-<?php
-use SebastianBergmann\Environment\Runtime;
-
-$runtime = new Runtime;
-
-var_dump($runtime->getNameWithVersion());
-var_dump($runtime->getName());
-var_dump($runtime->getVersion());
-var_dump($runtime->getBinary());
-var_dump($runtime->isHHVM());
-var_dump($runtime->isPHP());
-var_dump($runtime->hasXdebug());
-var_dump($runtime->canCollectCodeCoverage());
-```
-
-### Output on PHP
-
-    $ php --version
-    PHP 5.5.8 (cli) (built: Jan  9 2014 08:33:30)
-    Copyright (c) 1997-2013 The PHP Group
-    Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
-        with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
-
-
-    $ php example.php
-    string(9) "PHP 5.5.8"
-    string(3) "PHP"
-    string(5) "5.5.8"
-    string(14) "'/usr/bin/php'"
-    bool(false)
-    bool(true)
-    bool(true)
-    bool(true)
-
-### Output on HHVM
-
-    $ hhvm --version
-    HipHop VM 2.4.0-dev (rel)
-    Compiler: heads/master-0-ga98e57cabee7e7f0d14493ab17d5c7ab0157eb98
-    Repo schema: 8d6e69287c41c1f09bb4d327421720d1922cfc67
-
-
-    $ hhvm example.php
-    string(14) "HHVM 2.4.0-dev"
-    string(4) "HHVM"
-    string(9) "2.4.0-dev"
-    string(42) "'/usr/local/src/hhvm/hphp/hhvm/hhvm' --php"
-    bool(true)
-    bool(false)
-    bool(false)
-    bool(true)
-
diff --git a/core/vendor/sebastian/environment/build.xml b/core/vendor/sebastian/environment/build.xml
deleted file mode 100644
index 92fb1c5..0000000
--- a/core/vendor/sebastian/environment/build.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="environment">
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/vendor"/>
-  <delete file="${basedir}/composer.lock"/>
- </target>
-
- <target name="composer" depends="clean" description="Install dependencies with Composer">
-  <tstamp>
-   <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
-  </tstamp>
-  <delete>
-   <fileset dir="${basedir}">
-    <include name="composer.phar" />
-    <date datetime="${thirty.days.ago}" when="before"/>
-   </fileset>
-  </delete>
-
-  <get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="install"/>
-  </exec>
- </target>
-</project>
diff --git a/core/vendor/sebastian/environment/composer.json b/core/vendor/sebastian/environment/composer.json
deleted file mode 100644
index fd3ec7d..0000000
--- a/core/vendor/sebastian/environment/composer.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-    "name": "sebastian/environment",
-    "description": "Provides functionality to handle HHVM/PHP environments",
-    "keywords": ["environment","hhvm","xdebug"],
-    "homepage": "http://www.github.com/sebastianbergmann/environment",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sebastian@phpunit.de"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4.4"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.3.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/sebastian/environment/phpunit.xml.dist b/core/vendor/sebastian/environment/phpunit.xml.dist
deleted file mode 100644
index f5acecb..0000000
--- a/core/vendor/sebastian/environment/phpunit.xml.dist
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         bootstrap="vendor/autoload.php"
-         strict="true"
-         verbose="true">
- <testsuites>
-  <testsuite name="Environment">
-   <directory>tests</directory>
-  </testsuite>
- </testsuites>
- <filter>
-  <whitelist addUncoveredFilesFromWhitelist="true">
-   <directory>src</directory>
-  </whitelist>
- </filter>
-</phpunit>
diff --git a/core/vendor/sebastian/environment/src/Console.php b/core/vendor/sebastian/environment/src/Console.php
deleted file mode 100644
index 287bce1..0000000
--- a/core/vendor/sebastian/environment/src/Console.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-/*
- * This file is part of the Environment package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Environment;
-
-/**
- * @package    Environment
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/environment
- */
-class Console
-{
-    const STDIN  = 0;
-    const STDOUT = 1;
-    const STDERR = 2;
-
-    /**
-     * Returns true if STDOUT supports colorization.
-     *
-     * This code has been copied and adapted from
-     * Symfony\Component\Console\Output\OutputStream.
-     *
-     * @return boolean
-     */
-    public function hasColorSupport()
-    {
-        if (DIRECTORY_SEPARATOR == '\\') {
-            return false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI');
-        }
-
-        if (!defined('STDOUT')) {
-            return false;
-        }
-
-        return $this->isInteractive(STDOUT);
-    }
-
-    /**
-     * Returns the number of columns of the terminal.
-     *
-     * @return integer
-     */
-    public function getNumberOfColumns()
-    {
-        // Windows terminals have a fixed size of 80
-        // but one column is used for the cursor.
-        if (DIRECTORY_SEPARATOR == '\\') {
-            return 79;
-        }
-
-        if (!$this->isInteractive(self::STDIN)) {
-            return 80;
-        }
-
-        if (preg_match('#\d+ (\d+)#', shell_exec('stty size'), $match) === 1) {
-            return (int) $match[1];
-        }
-
-        if (preg_match('#columns = (\d+);#', shell_exec('stty'), $match) === 1) {
-            return (int) $match[1];
-        }
-
-        return 80;
-    }
-
-    /**
-     * Returns if the file descriptor is an interactive terminal or not.
-     *
-     * @param  int|resource $fileDescriptor
-     *
-     * @return boolean
-     */
-    public function isInteractive($fileDescriptor = self::STDOUT)
-    {
-        return function_exists('posix_isatty') && @posix_isatty($fileDescriptor);
-    }
-}
diff --git a/core/vendor/sebastian/environment/src/Runtime.php b/core/vendor/sebastian/environment/src/Runtime.php
deleted file mode 100644
index 74f6e2c..0000000
--- a/core/vendor/sebastian/environment/src/Runtime.php
+++ /dev/null
@@ -1,175 +0,0 @@
-<?php
-/*
- * This file is part of the Environment package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Environment;
-
-/**
- * Utility class for HHVM/PHP environment handling.
- *
- * @package    Environment
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/environment
- */
-class Runtime
-{
-    /**
-     * @var string
-     */
-    private static $binary;
-
-    /**
-     * Returns true when the runtime used is HHVM or
-     * the runtime used is PHP + Xdebug.
-     *
-     * @return boolean
-     */
-    public function canCollectCodeCoverage()
-    {
-        return $this->isHHVM() || $this->hasXdebug();
-    }
-
-    /**
-     * Returns the path to the binary of the current runtime.
-     * Appends ' --php' to the path when the runtime is HHVM.
-     *
-     * @return string
-     */
-    public function getBinary()
-    {
-        // HHVM
-        if (self::$binary === null && $this->isHHVM()) {
-            if ((self::$binary = getenv('PHP_BINARY')) === false) {
-                self::$binary = PHP_BINARY;
-            }
-
-            self::$binary = escapeshellarg(self::$binary) . ' --php';
-        }
-
-        // PHP >= 5.4.0
-        if (self::$binary === null && defined('PHP_BINARY')) {
-            self::$binary = escapeshellarg(PHP_BINARY);
-        }
-
-        // PHP < 5.4.0
-        if (self::$binary === null) {
-            if (PHP_SAPI == 'cli' && isset($_SERVER['_'])) {
-                if (strpos($_SERVER['_'], 'phpunit') !== false) {
-                    $file = file($_SERVER['_']);
-
-                    if (strpos($file[0], ' ') !== false) {
-                        $tmp = explode(' ', $file[0]);
-                        self::$binary = escapeshellarg(trim($tmp[1]));
-                    } else {
-                        self::$binary = escapeshellarg(ltrim(trim($file[0]), '#!'));
-                    }
-                } elseif (strpos(basename($_SERVER['_']), 'php') !== false) {
-                    self::$binary = escapeshellarg($_SERVER['_']);
-                }
-            }
-        }
-
-        if (self::$binary === null) {
-            $possibleBinaryLocations = array(
-                PHP_BINDIR . '/php',
-                PHP_BINDIR . '/php-cli.exe',
-                PHP_BINDIR . '/php.exe'
-            );
-
-            foreach ($possibleBinaryLocations as $binary) {
-                if (is_readable($binary)) {
-                    self::$binary = escapeshellarg($binary);
-                    break;
-                }
-            }
-        }
-
-        if (self::$binary === null) {
-            self::$binary = 'php';
-        }
-
-        return self::$binary;
-    }
-
-    /**
-     * @return string
-     */
-    public function getNameWithVersion()
-    {
-        return $this->getName() . ' ' . $this->getVersion();
-    }
-
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        if ($this->isHHVM()) {
-            return 'HHVM';
-        } else {
-            return 'PHP';
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function getVendorUrl()
-    {
-        if ($this->isHHVM()) {
-            return 'http://hhvm.com/';
-        } else {
-            return 'http://php.net/';
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function getVersion()
-    {
-        if ($this->isHHVM()) {
-            return HHVM_VERSION;
-        } else {
-            return PHP_VERSION;
-        }
-    }
-
-    /**
-     * Returns true when the runtime used is PHP and Xdebug is loaded.
-     *
-     * @return boolean
-     */
-    public function hasXdebug()
-    {
-        return $this->isPHP() && extension_loaded('xdebug');
-    }
-
-    /**
-     * Returns true when the runtime used is HHVM.
-     *
-     * @return boolean
-     */
-    public function isHHVM()
-    {
-        return defined('HHVM_VERSION');
-    }
-
-    /**
-     * Returns true when the runtime used is PHP.
-     *
-     * @return boolean
-     */
-    public function isPHP()
-    {
-        return !$this->isHHVM();
-    }
-}
diff --git a/core/vendor/sebastian/environment/tests/ConsoleTest.php b/core/vendor/sebastian/environment/tests/ConsoleTest.php
deleted file mode 100644
index 6b40172..0000000
--- a/core/vendor/sebastian/environment/tests/ConsoleTest.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-/*
- * This file is part of the Environment package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Environment;
-
-use PHPUnit_Framework_TestCase;
-
-class ConsoleTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \SebastianBergmann\Environment\Console
-     */
-    private $console;
-
-    protected function setUp()
-    {
-        $this->console = new Console;
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Console::isInteractive
-     */
-    public function testCanDetectIfStdoutIsInteractiveByDefault()
-    {
-        $this->assertInternalType('boolean', $this->console->isInteractive());
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Console::isInteractive
-     */
-    public function testCanDetectIfFileDescriptorIsInteractive()
-    {
-        $this->assertInternalType('boolean', $this->console->isInteractive(STDOUT));
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Console::hasColorSupport
-     * @uses   \SebastianBergmann\Environment\Console::isInteractive
-     */
-    public function testCanDetectColorSupport()
-    {
-        $this->assertInternalType('boolean', $this->console->hasColorSupport());
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Console::getNumberOfColumns
-     * @uses   \SebastianBergmann\Environment\Console::isInteractive
-     */
-    public function testCanDetectNumberOfColumns()
-    {
-        $this->assertInternalType('integer', $this->console->getNumberOfColumns());
-    }
-}
diff --git a/core/vendor/sebastian/environment/tests/RuntimeTest.php b/core/vendor/sebastian/environment/tests/RuntimeTest.php
deleted file mode 100644
index 8ea8373..0000000
--- a/core/vendor/sebastian/environment/tests/RuntimeTest.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-/*
- * This file is part of the Environment package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Environment;
-
-use PHPUnit_Framework_TestCase;
-
-class RuntimeTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \SebastianBergmann\Environment\Runtime
-     */
-    private $env;
-
-    protected function setUp()
-    {
-        $this->env = new Runtime;
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Runtime::canCollectCodeCoverage
-     * @uses   \SebastianBergmann\Environment\Runtime::hasXdebug
-     * @uses   \SebastianBergmann\Environment\Runtime::isHHVM
-     * @uses   \SebastianBergmann\Environment\Runtime::isPHP
-     */
-    public function testAbilityToCollectCodeCoverageCanBeAssessed()
-    {
-        $this->assertInternalType('boolean', $this->env->canCollectCodeCoverage());
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Runtime::getBinary
-     * @uses   \SebastianBergmann\Environment\Runtime::isHHVM
-     */
-    public function testBinaryCanBeRetrieved()
-    {
-        $this->assertInternalType('string', $this->env->getBinary());
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Runtime::isHHVM
-     */
-    public function testCanBeDetected()
-    {
-        $this->assertInternalType('boolean', $this->env->isHHVM());
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Runtime::isPHP
-     * @uses   \SebastianBergmann\Environment\Runtime::isHHVM
-     */
-    public function testCanBeDetected2()
-    {
-        $this->assertInternalType('boolean', $this->env->isPHP());
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Runtime::hasXdebug
-     * @uses   \SebastianBergmann\Environment\Runtime::isHHVM
-     * @uses   \SebastianBergmann\Environment\Runtime::isPHP
-     */
-    public function testXdebugCanBeDetected()
-    {
-        $this->assertInternalType('boolean', $this->env->hasXdebug());
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Runtime::getNameWithVersion
-     * @uses   \SebastianBergmann\Environment\Runtime::getName
-     * @uses   \SebastianBergmann\Environment\Runtime::getVersion
-     * @uses   \SebastianBergmann\Environment\Runtime::isHHVM
-     * @uses   \SebastianBergmann\Environment\Runtime::isPHP
-     */
-    public function testNameAndVersionCanBeRetrieved()
-    {
-        $this->assertInternalType('string', $this->env->getNameWithVersion());
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Runtime::getName
-     * @uses   \SebastianBergmann\Environment\Runtime::isHHVM
-     */
-    public function testNameCanBeRetrieved()
-    {
-        $this->assertInternalType('string', $this->env->getName());
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Runtime::getVersion
-     * @uses   \SebastianBergmann\Environment\Runtime::isHHVM
-     */
-    public function testVersionCanBeRetrieved()
-    {
-        $this->assertInternalType('string', $this->env->getVersion());
-    }
-
-    /**
-     * @covers \SebastianBergmann\Environment\Runtime::getVendorUrl
-     * @uses   \SebastianBergmann\Environment\Runtime::isHHVM
-     */
-    public function testVendorUrlCanBeRetrieved()
-    {
-        $this->assertInternalType('string', $this->env->getVendorUrl());
-    }
-}
diff --git a/core/vendor/sebastian/exporter/.gitignore b/core/vendor/sebastian/exporter/.gitignore
deleted file mode 100644
index 3beb10f..0000000
--- a/core/vendor/sebastian/exporter/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-.idea
-phpunit.xml
-composer.lock
-composer.phar
-vendor/
-cache.properties
-build/LICENSE
-build/README.md
-build/*.tgz
diff --git a/core/vendor/sebastian/exporter/.travis.yml b/core/vendor/sebastian/exporter/.travis.yml
deleted file mode 100644
index 657519b..0000000
--- a/core/vendor/sebastian/exporter/.travis.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-language: php
-
-before_script:
-  - composer self-update
-  - composer install --no-interaction --prefer-source --dev
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-
-notifications:
-  email: false
-  webhooks:
-    urls:
-      - https://webhooks.gitter.im/e/6668f52f3dd4e3f81960
-    on_success: always
-    on_failure: always
-    on_start: false
-
diff --git a/core/vendor/sebastian/exporter/LICENSE b/core/vendor/sebastian/exporter/LICENSE
deleted file mode 100644
index 55a13d4..0000000
--- a/core/vendor/sebastian/exporter/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-Exporter
-
-Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/sebastian/exporter/README.md b/core/vendor/sebastian/exporter/README.md
deleted file mode 100644
index 9a40a77..0000000
--- a/core/vendor/sebastian/exporter/README.md
+++ /dev/null
@@ -1,171 +0,0 @@
-Exporter
-========
-
-[![Build Status](https://secure.travis-ci.org/sebastianbergmann/exporter.png?branch=master)](https://travis-ci.org/sebastianbergmann/exporter)
-
-This component provides the functionality to export PHP variables for visualization.
-
-## Usage
-
-Exporting:
-
-```php
-<?php
-use SebastianBergmann\Exporter\Exporter;
-
-$exporter = new Exporter;
-
-/*
-Exception Object &0000000078de0f0d000000002003a261 (
-    'message' => ''
-    'string' => ''
-    'code' => 0
-    'file' => '/home/sebastianbergmann/test.php'
-    'line' => 34
-    'trace' => Array &0 ()
-    'previous' => null
-)
-*/
-
-print $exporter->export(new Exception);
-```
-
-## Data Types
-
-Exporting simple types:
-
-```php
-<?php
-use SebastianBergmann\Exporter\Exporter;
-
-$exporter = new Exporter;
-
-// 46
-print $exporter->export(46);
-
-// 4.0
-print $exporter->export(4.0);
-
-// 'hello, world!'
-print $exporter->export('hello, world!');
-
-// false
-print $exporter->export(false);
-
-// NAN
-print $exporter->export(acos(8));
-
-// -INF
-print $exporter->export(log(0));
-
-// null
-print $exporter->export(null);
-
-// resource(13) of type (stream)
-print $exporter->export(fopen('php://stderr', 'w'));
-
-// Binary String: 0x000102030405
-print $exporter->export(chr(0) . chr(1) . chr(2) . chr(3) . chr(4) . chr(5));
-```
-
-Exporting complex types:
-
-```php
-<?php
-use SebastianBergmann\Exporter\Exporter;
-
-$exporter = new Exporter;
-
-/*
-Array &0 (
-    0 => Array &1 (
-        0 => 1
-        1 => 2
-        2 => 3
-    )
-    1 => Array &2 (
-        0 => ''
-        1 => 0
-        2 => false
-    )
-)
-*/
-
-print $exporter->export(array(array(1,2,3), array("",0,FALSE)));
-
-/*
-Array &0 (
-    'self' => Array &1 (
-        'self' => Array &1
-    )
-)
-*/
-
-$array = array();
-$array['self'] = &$array;
-print $exporter->export($array);
-
-/*
-stdClass Object &0000000003a66dcc0000000025e723e2 (
-    'self' => stdClass Object &0000000003a66dcc0000000025e723e2
-)
-*/
-
-$obj = new stdClass();
-$obj->self = $obj;
-print $exporter->export($obj);
-```
-
-Compact exports:
-
-```php
-<?php
-use SebastianBergmann\Exporter\Exporter;
-
-$exporter = new Exporter;
-
-// Array ()
-print $exporter->shortenedExport(array());
-
-// Array (...)
-print $exporter->shortenedExport(array(1,2,3,4,5));
-
-// stdClass Object ()
-print $exporter->shortenedExport(new stdClass);
-
-// Exception Object (...)
-print $exporter->shortenedExport(new Exception);
-
-// this\nis\na\nsuper\nlong\nstring\nt...\nspace
-print $exporter->shortenedExport(
-<<<LONG_STRING
-this
-is
-a
-super
-long
-string
-that
-wraps
-a
-lot
-and
-eats
-up
-a
-lot
-of
-space
-LONG_STRING
-);
-```
-
-## Installation
-
-To add Exporter as a local, per-project dependency to your project, simply add a dependency on `sebastian/exporter` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on Exporter 1.0:
-
-    {
-        "require": {
-            "sebastian/exporter": "1.0.*"
-        }
-    }
diff --git a/core/vendor/sebastian/exporter/build.xml b/core/vendor/sebastian/exporter/build.xml
deleted file mode 100644
index e66a71a..0000000
--- a/core/vendor/sebastian/exporter/build.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="exporter">
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/vendor"/>
-  <delete file="${basedir}/composer.lock"/>
- </target>
-
- <target name="composer" depends="clean" description="Install dependencies with Composer">
-  <tstamp>
-   <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
-  </tstamp>
-  <delete>
-   <fileset dir="${basedir}">
-    <include name="composer.phar" />
-    <date datetime="${thirty.days.ago}" when="before"/>
-   </fileset>
-  </delete>
-
-  <get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="install"/>
-  </exec>
- </target>
-</project>
-
diff --git a/core/vendor/sebastian/exporter/composer.json b/core/vendor/sebastian/exporter/composer.json
deleted file mode 100644
index 723596e..0000000
--- a/core/vendor/sebastian/exporter/composer.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    "name": "sebastian/exporter",
-    "description": "Provides the functionality to export PHP variables for visualization",
-    "keywords": ["exporter","export"],
-    "homepage": "http://www.github.com/sebastianbergmann/exporter",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sebastian@phpunit.de"
-        },
-        {
-            "name": "Jeff Welch",
-            "email": "whatthejeff@gmail.com"
-        },
-        {
-            "name": "Volker Dusch",
-            "email": "github@wallbash.com"
-        },
-        {
-            "name": "Adam Harvey",
-            "email": "aharvey@php.net"
-        },
-        {
-            "name": "Bernhard Schussek",
-            "email": "bschussek@2bepublished.at"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3",
-        "sebastian/recursion-context": "~1.0"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4.4"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.2.x-dev"
-        }
-    }
-}
-
diff --git a/core/vendor/sebastian/exporter/phpunit.xml.dist b/core/vendor/sebastian/exporter/phpunit.xml.dist
deleted file mode 100644
index 8d85af6..0000000
--- a/core/vendor/sebastian/exporter/phpunit.xml.dist
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit backupGlobals="false"
-         bootstrap="vendor/autoload.php"
-         beStrictAboutTestsThatDoNotTestAnything="true"
-         beStrictAboutOutputDuringTests="true"
-         beStrictAboutTodoAnnotatedTests="true"
-         checkForUnintentionallyCoveredCode="true"
-         forceCoversAnnotation="true"
-         verbose="true">
- <testsuites>
-  <testsuite name="exporter">
-   <directory>tests</directory>
-  </testsuite>
- </testsuites>
- <filter>
-  <whitelist addUncoveredFilesFromWhitelist="true" processUncoveredFilesFromWhitelist="true">
-   <directory>src</directory>
-  </whitelist>
- </filter>
-</phpunit>
-
diff --git a/core/vendor/sebastian/exporter/src/Exporter.php b/core/vendor/sebastian/exporter/src/Exporter.php
deleted file mode 100644
index 47208f3..0000000
--- a/core/vendor/sebastian/exporter/src/Exporter.php
+++ /dev/null
@@ -1,302 +0,0 @@
-<?php
-/*
- * This file is part of the Exporter package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Exporter;
-
-use SebastianBergmann\RecursionContext\Context;
-
-/**
- * A nifty utility for visualizing PHP variables.
- *
- * <code>
- * <?php
- * use SebastianBergmann\Exporter\Exporter;
- *
- * $exporter = new Exporter;
- * print $exporter->export(new Exception);
- * </code>
- *
- * @package    Exporter
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       https://github.com/sebastianbergmann/exporter
- */
-class Exporter
-{
-    /**
-     * Exports a value as a string
-     *
-     * The output of this method is similar to the output of print_r(), but
-     * improved in various aspects:
-     *
-     *  - NULL is rendered as "null" (instead of "")
-     *  - TRUE is rendered as "true" (instead of "1")
-     *  - FALSE is rendered as "false" (instead of "")
-     *  - Strings are always quoted with single quotes
-     *  - Carriage returns and newlines are normalized to \n
-     *  - Recursion and repeated rendering is treated properly
-     *
-     * @param  mixed   $value
-     * @param  integer $indentation The indentation level of the 2nd+ line
-     * @return string
-     */
-    public function export($value, $indentation = 0)
-    {
-        return $this->recursiveExport($value, $indentation);
-    }
-
-    /**
-     * @param  mixed   $data
-     * @param  Context $context
-     * @return string
-     */
-    public function shortenedRecursiveExport(&$data, Context $context = null)
-    {
-        $result = array();
-        $exporter = new Exporter();
-
-        if (!$context) {
-            $context = new Context;
-        }
-
-        $context->add($data);
-
-        foreach ($data as $key => $value) {
-            if (is_array($value)) {
-                if ($context->contains($data[$key]) !== false) {
-                    $result[] = '*RECURSION*';
-                }
-
-                else {
-                    $result[] = sprintf(
-                        'array(%s)',
-                        $this->shortenedRecursiveExport($data[$key], $context)
-                    );
-                }
-            }
-
-            else {
-                $result[] = $exporter->shortenedExport($value);
-            }
-        }
-
-        return join(', ', $result);
-    }
-
-    /**
-     * Exports a value into a single-line string
-     *
-     * The output of this method is similar to the output of
-     * SebastianBergmann\Exporter\Exporter::export. This method guarantees
-     * thought that the result contains now newlines.
-     *
-     * Newlines are replaced by the visible string '\n'. Contents of arrays
-     * and objects (if any) are replaced by '...'.
-     *
-     * @param  mixed $value
-     * @return string
-     * @see    SebastianBergmann\Exporter\Exporter::export
-     */
-    public function shortenedExport($value)
-    {
-        if (is_string($value)) {
-            $string = $this->export($value);
-
-            if (strlen($string) > 40) {
-                $string = substr($string, 0, 30) . '...' . substr($string, -7);
-            }
-
-            return str_replace("\n", '\n', $string);
-        }
-
-        if (is_object($value)) {
-            return sprintf(
-                '%s Object (%s)',
-                get_class($value),
-                count($this->toArray($value)) > 0 ? '...' : ''
-            );
-        }
-
-        if (is_array($value)) {
-            return sprintf(
-                'Array (%s)',
-                count($value) > 0 ? '...' : ''
-            );
-        }
-
-        return $this->export($value);
-    }
-
-    /**
-     * Converts an object to an array containing all of its private, protected
-     * and public properties.
-     *
-     * @param  mixed $value
-     * @return array
-     */
-    public function toArray($value)
-    {
-        if (!is_object($value)) {
-            return (array)$value;
-        }
-
-        $array = array();
-
-        foreach ((array)$value as $key => $val) {
-            // properties are transformed to keys in the following way:
-            // private   $property => "\0Classname\0property"
-            // protected $property => "\0*\0property"
-            // public    $property => "property"
-            if (preg_match('/^\0.+\0(.+)$/', $key, $matches)) {
-                $key = $matches[1];
-            }
-
-            // See https://github.com/php/php-src/commit/5721132
-            if ($key === "\0gcdata") {
-                continue;
-            }
-
-            $array[$key] = $val;
-        }
-
-        // Some internal classes like SplObjectStorage don't work with the
-        // above (fast) mechanism nor with reflection in Zend.
-        // Format the output similarly to print_r() in this case
-        if ($value instanceof \SplObjectStorage) {
-            // However, the fast method does work in HHVM, and exposes the
-            // internal implementation. Hide it again.
-            if (property_exists('\SplObjectStorage', '__storage')) {
-                unset($array['__storage']);
-            } elseif (property_exists('\SplObjectStorage', 'storage')) {
-                unset($array['storage']);
-            }
-
-            if (property_exists('\SplObjectStorage', '__key')) {
-                unset($array['__key']);
-            }
-
-            foreach ($value as $key => $val) {
-                $array[spl_object_hash($val)] = array(
-                    'obj' => $val,
-                    'inf' => $value->getInfo(),
-                );
-            }
-        }
-
-        return $array;
-    }
-
-    /**
-     * Recursive implementation of export
-     *
-     * @param  mixed $value The value to export
-     * @param  integer $indentation The indentation level of the 2nd+ line
-     * @param  \SebastianBergmann\RecursionContext\Context $processed Previously processed objects
-     * @return string
-     * @see    SebastianBergmann\Exporter\Exporter::export
-     */
-    protected function recursiveExport(&$value, $indentation, $processed = null)
-    {
-        if ($value === null) {
-            return 'null';
-        }
-
-        if ($value === true) {
-            return 'true';
-        }
-
-        if ($value === false) {
-            return 'false';
-        }
-
-        if (is_float($value) && floatval(intval($value)) === $value) {
-            return "$value.0";
-        }
-
-        if (is_resource($value)) {
-            return sprintf(
-                'resource(%d) of type (%s)',
-                $value,
-                get_resource_type($value)
-            );
-        }
-
-        if (is_string($value)) {
-            // Match for most non printable chars somewhat taking multibyte chars into account
-            if (preg_match('/[^\x09-\x0d\x20-\xff]/', $value)) {
-                return 'Binary String: 0x' . bin2hex($value);
-            }
-
-            return "'" .
-            str_replace(array("\r\n", "\n\r", "\r"), array("\n", "\n", "\n"), $value) .
-            "'";
-        }
-
-        $whitespace = str_repeat(' ', 4 * $indentation);
-
-        if (!$processed) {
-            $processed = new Context;
-        }
-
-        if (is_array($value)) {
-            if (($key = $processed->contains($value)) !== false) {
-                return 'Array &' . $key;
-            }
-
-            $key    = $processed->add($value);
-            $values = '';
-
-            if (count($value) > 0) {
-                foreach ($value as $k => $v) {
-                    $values .= sprintf(
-                        '%s    %s => %s' . "\n",
-                        $whitespace,
-                        $this->recursiveExport($k, $indentation),
-                        $this->recursiveExport($value[$k], $indentation + 1, $processed)
-                    );
-                }
-
-                $values = "\n" . $values . $whitespace;
-            }
-
-            return sprintf('Array &%s (%s)', $key, $values);
-        }
-
-        if (is_object($value)) {
-            $class = get_class($value);
-
-            if ($hash = $processed->contains($value)) {
-                return sprintf('%s Object &%s', $class, $hash);
-            }
-
-            $hash   = $processed->add($value);
-            $values = '';
-            $array  = $this->toArray($value);
-
-            if (count($array) > 0) {
-                foreach ($array as $k => $v) {
-                    $values .= sprintf(
-                        '%s    %s => %s' . "\n",
-                        $whitespace,
-                        $this->recursiveExport($k, $indentation),
-                        $this->recursiveExport($v, $indentation + 1, $processed)
-                    );
-                }
-
-                $values = "\n" . $values . $whitespace;
-            }
-
-            return sprintf('%s Object &%s (%s)', $class, $hash, $values);
-        }
-
-        return var_export($value, true);
-    }
-}
diff --git a/core/vendor/sebastian/exporter/tests/ExporterTest.php b/core/vendor/sebastian/exporter/tests/ExporterTest.php
deleted file mode 100644
index 6b590bf..0000000
--- a/core/vendor/sebastian/exporter/tests/ExporterTest.php
+++ /dev/null
@@ -1,333 +0,0 @@
-<?php
-/*
- * This file is part of the Exporter package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Exporter;
-
-/**
- * @covers SebastianBergmann\Exporter\Exporter
- */
-class ExporterTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var Exporter
-     */
-    private $exporter;
-
-    protected function setUp()
-    {
-        $this->exporter = new Exporter;
-    }
-
-    public function exportProvider()
-    {
-        $obj2 = new \stdClass;
-        $obj2->foo = 'bar';
-
-        $obj3 = (object)array(1,2,"Test\r\n",4,5,6,7,8);
-
-        $obj = new \stdClass;
-        //@codingStandardsIgnoreStart
-        $obj->null = null;
-        //@codingStandardsIgnoreEnd
-        $obj->boolean = true;
-        $obj->integer = 1;
-        $obj->double = 1.2;
-        $obj->string = '1';
-        $obj->text = "this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext";
-        $obj->object = $obj2;
-        $obj->objectagain = $obj2;
-        $obj->array = array('foo' => 'bar');
-        $obj->self = $obj;
-
-        $storage = new \SplObjectStorage;
-        $storage->attach($obj2);
-        $storage->foo = $obj2;
-
-        return array(
-            array(null, 'null'),
-            array(true, 'true'),
-            array(false, 'false'),
-            array(1, '1'),
-            array(1.0, '1.0'),
-            array(1.2, '1.2'),
-            array(fopen('php://memory', 'r'), 'resource(%d) of type (stream)'),
-            array('1', "'1'"),
-            array(array(array(1,2,3), array(3,4,5)),
-        <<<EOF
-Array &0 (
-    0 => Array &1 (
-        0 => 1
-        1 => 2
-        2 => 3
-    )
-    1 => Array &2 (
-        0 => 3
-        1 => 4
-        2 => 5
-    )
-)
-EOF
-            ),
-            // \n\r and \r is converted to \n
-            array("this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext",
-            <<<EOF
-'this
-is
-a
-very
-very
-very
-very
-very
-very
-long
-text'
-EOF
-            ),
-            array(new \stdClass, 'stdClass Object &%x ()'),
-            array($obj,
-            <<<EOF
-stdClass Object &%x (
-    'null' => null
-    'boolean' => true
-    'integer' => 1
-    'double' => 1.2
-    'string' => '1'
-    'text' => 'this
-is
-a
-very
-very
-very
-very
-very
-very
-long
-text'
-    'object' => stdClass Object &%x (
-        'foo' => 'bar'
-    )
-    'objectagain' => stdClass Object &%x
-    'array' => Array &%d (
-        'foo' => 'bar'
-    )
-    'self' => stdClass Object &%x
-)
-EOF
-            ),
-            array(array(), 'Array &%d ()'),
-            array($storage,
-            <<<EOF
-SplObjectStorage Object &%x (
-    'foo' => stdClass Object &%x (
-        'foo' => 'bar'
-    )
-    '%x' => Array &0 (
-        'obj' => stdClass Object &%x
-        'inf' => null
-    )
-)
-EOF
-            ),
-            array($obj3,
-            <<<EOF
-stdClass Object &%x (
-    0 => 1
-    1 => 2
-    2 => 'Test\n'
-    3 => 4
-    4 => 5
-    5 => 6
-    6 => 7
-    7 => 8
-)
-EOF
-            ),
-            array(
-                chr(0) . chr(1) . chr(2) . chr(3) . chr(4) . chr(5),
-                'Binary String: 0x000102030405'
-            ),
-            array(
-                implode('', array_map('chr', range(0x0e, 0x1f))),
-                'Binary String: 0x0e0f101112131415161718191a1b1c1d1e1f'
-            ),
-            array(
-                chr(0x00) . chr(0x09),
-                'Binary String: 0x0009'
-            ),
-            array(
-                '',
-                "''"
-            ),
-        );
-    }
-
-    /**
-     * @dataProvider exportProvider
-     */
-    public function testExport($value, $expected)
-    {
-        $this->assertStringMatchesFormat(
-            $expected,
-            $this->trimNewline($this->exporter->export($value))
-        );
-    }
-
-    public function testExport2()
-    {
-        if (PHP_VERSION === '5.3.3') {
-            $this->markTestSkipped('Skipped due to "Nesting level too deep - recursive dependency?" fatal error');
-        }
-
-        $obj = new \stdClass;
-        $obj->foo = 'bar';
-
-        $array = array(
-            0 => 0,
-            'null' => null,
-            'boolean' => true,
-            'integer' => 1,
-            'double' => 1.2,
-            'string' => '1',
-            'text' => "this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext",
-            'object' => $obj,
-            'objectagain' => $obj,
-            'array' => array('foo' => 'bar'),
-        );
-
-        $array['self'] = &$array;
-
-        $expected = <<<EOF
-Array &%d (
-    0 => 0
-    'null' => null
-    'boolean' => true
-    'integer' => 1
-    'double' => 1.2
-    'string' => '1'
-    'text' => 'this
-is
-a
-very
-very
-very
-very
-very
-very
-long
-text'
-    'object' => stdClass Object &%x (
-        'foo' => 'bar'
-    )
-    'objectagain' => stdClass Object &%x
-    'array' => Array &%d (
-        'foo' => 'bar'
-    )
-    'self' => Array &%d (
-        0 => 0
-        'null' => null
-        'boolean' => true
-        'integer' => 1
-        'double' => 1.2
-        'string' => '1'
-        'text' => 'this
-is
-a
-very
-very
-very
-very
-very
-very
-long
-text'
-        'object' => stdClass Object &%x
-        'objectagain' => stdClass Object &%x
-        'array' => Array &%d (
-            'foo' => 'bar'
-        )
-        'self' => Array &%d
-    )
-)
-EOF;
-
-        $this->assertStringMatchesFormat(
-            $expected,
-            $this->trimNewline($this->exporter->export($array))
-        );
-    }
-
-    public function shortenedExportProvider()
-    {
-        $obj = new \stdClass;
-        $obj->foo = 'bar';
-
-        $array = array(
-            'foo' => 'bar',
-        );
-
-        return array(
-            array(null, 'null'),
-            array(true, 'true'),
-            array(1, '1'),
-            array(1.0, '1.0'),
-            array(1.2, '1.2'),
-            array('1', "'1'"),
-            // \n\r and \r is converted to \n
-            array("this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext", "'this\\nis\\na\\nvery\\nvery\\nvery\\nvery...g\\ntext'"),
-            array(new \stdClass, 'stdClass Object ()'),
-            array($obj, 'stdClass Object (...)'),
-            array(array(), 'Array ()'),
-            array($array, 'Array (...)'),
-        );
-    }
-
-    /**
-     * @dataProvider shortenedExportProvider
-     */
-    public function testShortenedExport($value, $expected)
-    {
-        $this->assertSame(
-            $expected,
-            $this->trimNewline($this->exporter->shortenedExport($value))
-        );
-    }
-
-    public function provideNonBinaryMultibyteStrings()
-    {
-        return array(
-            array(implode('', array_map('chr', range(0x09, 0x0d))), 5),
-            array(implode('', array_map('chr', range(0x20, 0x7f))), 96),
-            array(implode('', array_map('chr', range(0x80, 0xff))), 128),
-        );
-    }
-
-
-    /**
-     * @dataProvider provideNonBinaryMultibyteStrings
-     */
-    public function testNonBinaryStringExport($value, $expectedLength)
-    {
-        $this->assertRegExp(
-            "~'.{{$expectedLength}}'\$~s",
-            $this->exporter->export($value)
-        );
-    }
-
-    public function testNonObjectCanBeReturnedAsArray()
-    {
-        $this->assertEquals(array(true), $this->exporter->toArray(true));
-    }
-
-    private function trimNewline($string)
-    {
-        return preg_replace('/[ ]*\n/', "\n", $string);
-    }
-}
diff --git a/core/vendor/sebastian/global-state/.gitignore b/core/vendor/sebastian/global-state/.gitignore
deleted file mode 100644
index a288f68..0000000
--- a/core/vendor/sebastian/global-state/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.idea
-composer.lock
-composer.phar
-vendor/
-cache.properties
diff --git a/core/vendor/sebastian/global-state/.travis.yml b/core/vendor/sebastian/global-state/.travis.yml
deleted file mode 100644
index 41edae3..0000000
--- a/core/vendor/sebastian/global-state/.travis.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-language: php
-
-before_script:
-  - composer self-update
-  - composer install --no-interaction --prefer-source --dev
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-
-script: ./vendor/bin/phpunit --configuration ./build/phpunit.xml
-
-notifications:
-  email: false
-  irc: "irc.freenode.org#phpunit"
diff --git a/core/vendor/sebastian/global-state/LICENSE b/core/vendor/sebastian/global-state/LICENSE
deleted file mode 100644
index b6176e0..0000000
--- a/core/vendor/sebastian/global-state/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-GlobalState
-
-Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/sebastian/global-state/README.md b/core/vendor/sebastian/global-state/README.md
deleted file mode 100644
index 78fd117..0000000
--- a/core/vendor/sebastian/global-state/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# GlobalState
-
-Snapshotting of global state, factored out of PHPUnit into a stand-alone component.
-
-## Installation
-
-To add this package as a local, per-project dependency to your project, simply add a dependency on `sebastian/global-state` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on GlobalState:
-
-    {
-        "require": {
-            "sebastian/global-state": "1.0.*"
-        }
-    }
diff --git a/core/vendor/sebastian/global-state/build.xml b/core/vendor/sebastian/global-state/build.xml
deleted file mode 100644
index 63c5445..0000000
--- a/core/vendor/sebastian/global-state/build.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="global-state">
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/vendor"/>
-  <delete file="${basedir}/composer.lock"/>
- </target>
-
- <target name="composer" depends="clean" description="Install dependencies with Composer">
-  <tstamp>
-   <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
-  </tstamp>
-  <delete>
-   <fileset dir="${basedir}">
-    <include name="composer.phar" />
-    <date datetime="${thirty.days.ago}" when="before"/>
-   </fileset>
-  </delete>
-
-  <get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="install"/>
-  </exec>
- </target>
-
- <target name="phpunit" description="Run unit tests with PHPUnit">
-  <exec executable="${basedir}/vendor/bin/phpunit" failonerror="true">
-   <arg value="--configuration"/>
-   <arg path="${basedir}/build/phpunit.xml"/>
-  </exec>
- </target>
-</project>
diff --git a/core/vendor/sebastian/global-state/build/phpunit.xml b/core/vendor/sebastian/global-state/build/phpunit.xml
deleted file mode 100644
index 9fef0a0..0000000
--- a/core/vendor/sebastian/global-state/build/phpunit.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.2/phpunit.xsd"
-         bootstrap="../vendor/autoload.php"
-         backupGlobals="false"
-         verbose="true">
-  <testsuite name="GlobalState">
-    <directory suffix="Test.php">../tests</directory>
-  </testsuite>
-
-  <filter>
-    <whitelist processUncoveredFilesFromWhitelist="true">
-      <directory suffix=".php">../src</directory>
-    </whitelist>
-  </filter>
-</phpunit>
diff --git a/core/vendor/sebastian/global-state/composer.json b/core/vendor/sebastian/global-state/composer.json
deleted file mode 100644
index 7e8849b..0000000
--- a/core/vendor/sebastian/global-state/composer.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
-    "name": "sebastian/global-state",
-    "description": "Snapshotting of global state",
-    "keywords": ["global state"],
-    "homepage": "http://www.github.com/sebastianbergmann/global-state",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sebastian@phpunit.de"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4.2"
-    },
-    "suggest": {
-        "ext-uopz": "*"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "autoload-dev": {
-        "classmap": [
-            "tests/_fixture/"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.0-dev"
-        }
-    }
-}
diff --git a/core/vendor/sebastian/global-state/src/Blacklist.php b/core/vendor/sebastian/global-state/src/Blacklist.php
deleted file mode 100644
index 12d900f..0000000
--- a/core/vendor/sebastian/global-state/src/Blacklist.php
+++ /dev/null
@@ -1,186 +0,0 @@
-<?php
-/**
- * GlobalState
- *
- * Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-
-namespace SebastianBergmann\GlobalState;
-
-use ReflectionClass;
-
-/**
- * A blacklist for global state elements that should not be snapshotted.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-class Blacklist
-{
-    /**
-     * @var array
-     */
-    private $globalVariables = array();
-
-    /**
-     * @var array
-     */
-    private $classes = array();
-
-    /**
-     * @var array
-     */
-    private $classNamePrefixes = array();
-
-    /**
-     * @var array
-     */
-    private $parentClasses = array();
-
-    /**
-     * @var array
-     */
-    private $interfaces = array();
-
-    /**
-     * @var array
-     */
-    private $staticAttributes = array();
-
-    /**
-     * @param string $variableName
-     */
-    public function addGlobalVariable($variableName)
-    {
-        $this->globalVariables[$variableName] = true;
-    }
-
-    /**
-     * @param string $className
-     */
-    public function addClass($className)
-    {
-        $this->classes[] = $className;
-    }
-
-    /**
-     * @param string $className
-     */
-    public function addSubclassesOf($className)
-    {
-        $this->parentClasses[] = $className;
-    }
-
-    /**
-     * @param string $interfaceName
-     */
-    public function addImplementorsOf($interfaceName)
-    {
-        $this->interfaces[] = $interfaceName;
-    }
-
-    /**
-     * @param string $classNamePrefix
-     */
-    public function addClassNamePrefix($classNamePrefix)
-    {
-        $this->classNamePrefixes[] = $classNamePrefix;
-    }
-
-    /**
-     * @param string $className
-     * @param string $attributeName
-     */
-    public function addStaticAttribute($className, $attributeName)
-    {
-        if (!isset($this->staticAttributes[$className])) {
-            $this->staticAttributes[$className] = array();
-        }
-
-        $this->staticAttributes[$className][$attributeName] = true;
-    }
-
-    /**
-     * @param  string $variableName
-     * @return boolean
-     */
-    public function isGlobalVariableBlacklisted($variableName)
-    {
-        return isset($this->globalVariables[$variableName]);
-    }
-
-    /**
-     * @param  string $className
-     * @param  string $attributeName
-     * @return boolean
-     */
-    public function isStaticAttributeBlacklisted($className, $attributeName)
-    {
-        if (in_array($className, $this->classes)) {
-            return true;
-        }
-
-        foreach ($this->classNamePrefixes as $prefix) {
-            if (strpos($className, $prefix) === 0) {
-                return true;
-            }
-        }
-
-        $class = new ReflectionClass($className);
-
-        foreach ($this->parentClasses as $type) {
-            if ($class->isSubclassOf($type)) {
-                return true;
-            }
-        }
-
-        foreach ($this->interfaces as $type) {
-            if ($class->implementsInterface($type)) {
-                return true;
-            }
-        }
-
-        if (isset($this->staticAttributes[$className][$attributeName])) {
-            return true;
-        }
-
-        return false;
-    }
-}
diff --git a/core/vendor/sebastian/global-state/src/Exception.php b/core/vendor/sebastian/global-state/src/Exception.php
deleted file mode 100644
index 0436886..0000000
--- a/core/vendor/sebastian/global-state/src/Exception.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/**
- * GlobalState
- *
- * Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-
-namespace SebastianBergmann\GlobalState;
-
-/**
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-interface Exception
-{
-}
diff --git a/core/vendor/sebastian/global-state/src/Restorer.php b/core/vendor/sebastian/global-state/src/Restorer.php
deleted file mode 100644
index a5f0e55..0000000
--- a/core/vendor/sebastian/global-state/src/Restorer.php
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-/**
- * GlobalState
- *
- * Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-
-namespace SebastianBergmann\GlobalState;
-
-use ReflectionProperty;
-
-/**
- * Restorer of snapshots of global state.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-class Restorer
-{
-    /**
-     * Deletes function definitions that are not defined in a snapshot.
-     *
-     * @param  Snapshot $snapshot
-     * @throws RuntimeException when the uopz_delete() function is not available
-     * @see    https://github.com/krakjoe/uopz
-     */
-    public function restoreFunctions(Snapshot $snapshot)
-    {
-        if (!function_exists('uopz_delete')) {
-            throw new RuntimeException('The uopz_delete() function is required for this operation');
-        }
-
-        $functions = get_defined_functions();
-
-        foreach (array_diff($functions['user'], $snapshot->functions()) as $function) {
-            uopz_delete($function);
-        }
-    }
-
-    /**
-     * Restores all global and super-global variables from a snapshot.
-     *
-     * @param Snapshot $snapshot
-     */
-    public function restoreGlobalVariables(Snapshot $snapshot)
-    {
-        $superGlobalArrays = $snapshot->superGlobalArrays();
-
-        foreach ($superGlobalArrays as $superGlobalArray) {
-            $this->restoreSuperGlobalArray($snapshot, $superGlobalArray);
-        }
-
-        $globalVariables = $snapshot->globalVariables();
-
-        foreach (array_keys($GLOBALS) as $key) {
-            if ($key != 'GLOBALS' &&
-                !in_array($key, $superGlobalArrays) &&
-                !$snapshot->blacklist()->isGlobalVariableBlacklisted($key)) {
-                if (isset($globalVariables[$key])) {
-                    $GLOBALS[$key] = $globalVariables[$key];
-                } else {
-                    unset($GLOBALS[$key]);
-                }
-            }
-        }
-    }
-
-    /**
-     * Restores all static attributes in user-defined classes from this snapshot.
-     *
-     * @param Snapshot $snapshot
-     */
-    public function restoreStaticAttributes(Snapshot $snapshot)
-    {
-        foreach ($snapshot->staticAttributes() as $className => $staticAttributes) {
-            foreach ($staticAttributes as $name => $value) {
-                $reflector = new ReflectionProperty($className, $name);
-                $reflector->setAccessible(true);
-                $reflector->setValue($value);
-            }
-        }
-    }
-
-    /**
-     * Restores a super-global variable array from this snapshot.
-     *
-     * @param Snapshot $snapshot
-     * @param $superGlobalArray
-     */
-    private function restoreSuperGlobalArray(Snapshot $snapshot, $superGlobalArray)
-    {
-        $superGlobalVariables = $snapshot->superGlobalVariables();
-
-        if (isset($GLOBALS[$superGlobalArray]) &&
-            is_array($GLOBALS[$superGlobalArray]) &&
-            isset($superGlobalVariables[$superGlobalArray])) {
-            $keys = array_keys(
-                array_merge(
-                    $GLOBALS[$superGlobalArray],
-                    $superGlobalVariables[$superGlobalArray]
-                )
-            );
-
-            foreach ($keys as $key) {
-                if (isset($superGlobalVariables[$superGlobalArray][$key])) {
-                    $GLOBALS[$superGlobalArray][$key] = $superGlobalVariables[$superGlobalArray][$key];
-                } else {
-                    unset($GLOBALS[$superGlobalArray][$key]);
-                }
-            }
-        }
-    }
-}
diff --git a/core/vendor/sebastian/global-state/src/RuntimeException.php b/core/vendor/sebastian/global-state/src/RuntimeException.php
deleted file mode 100644
index e25e208..0000000
--- a/core/vendor/sebastian/global-state/src/RuntimeException.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/**
- * GlobalState
- *
- * Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-
-namespace SebastianBergmann\GlobalState;
-
-/**
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-class RuntimeException extends \RuntimeException implements Exception
-{
-}
diff --git a/core/vendor/sebastian/global-state/src/Snapshot.php b/core/vendor/sebastian/global-state/src/Snapshot.php
deleted file mode 100644
index 5fb08be..0000000
--- a/core/vendor/sebastian/global-state/src/Snapshot.php
+++ /dev/null
@@ -1,443 +0,0 @@
-<?php
-/**
- * GlobalState
- *
- * Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-
-namespace SebastianBergmann\GlobalState;
-
-use Closure;
-use ReflectionClass;
-
-/**
- * A snapshot of global state.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-class Snapshot
-{
-    /**
-     * @var Blacklist
-     */
-    private $blacklist;
-
-    /**
-     * @var array
-     */
-    private $globalVariables = array();
-
-    /**
-     * @var array
-     */
-    private $superGlobalArrays = array();
-
-    /**
-     * @var array
-     */
-    private $superGlobalVariables = array();
-
-    /**
-     * @var array
-     */
-    private $staticAttributes = array();
-
-    /**
-     * @var array
-     */
-    private $iniSettings = array();
-
-    /**
-     * @var array
-     */
-    private $includedFiles = array();
-
-    /**
-     * @var array
-     */
-    private $constants = array();
-
-    /**
-     * @var array
-     */
-    private $functions = array();
-
-    /**
-     * @var array
-     */
-    private $interfaces = array();
-
-    /**
-     * @var array
-     */
-    private $classes = array();
-
-    /**
-     * @var array
-     */
-    private $traits = array();
-
-    /**
-     * Creates a snapshot of the current global state.
-     *
-     * @param Blacklist $blacklist
-     * @param boolean   $includeGlobalVariables
-     * @param boolean   $includeStaticAttributes
-     * @param boolean   $includeConstants
-     * @param boolean   $includeFunctions
-     * @param boolean   $includeClasses
-     * @param boolean   $includeInterfaces
-     * @param boolean   $includeTraits
-     * @param boolean   $includeIniSettings
-     * @param boolean   $includeIncludedFiles
-     */
-    public function __construct(Blacklist $blacklist = null, $includeGlobalVariables = true, $includeStaticAttributes = true, $includeConstants = true, $includeFunctions = true, $includeClasses = true, $includeInterfaces = true, $includeTraits = true, $includeIniSettings = true, $includeIncludedFiles = true)
-    {
-        if ($blacklist === null) {
-            $blacklist = new Blacklist;
-        }
-
-        $this->blacklist = $blacklist;
-
-        if ($includeConstants) {
-            $this->snapshotConstants();
-        }
-
-        if ($includeFunctions) {
-            $this->snapshotFunctions();
-        }
-
-        if ($includeClasses || $includeStaticAttributes) {
-            $this->snapshotClasses();
-        }
-
-        if ($includeInterfaces) {
-            $this->snapshotInterfaces();
-        }
-
-        if ($includeGlobalVariables) {
-            $this->setupSuperGlobalArrays();
-            $this->snapshotGlobals();
-        }
-
-        if ($includeStaticAttributes) {
-            $this->snapshotStaticAttributes();
-        }
-
-        if ($includeIniSettings) {
-            $this->iniSettings = ini_get_all(null, false);
-        }
-
-        if ($includeIncludedFiles) {
-            $this->includedFiles = get_included_files();
-        }
-
-        if (function_exists('get_declared_traits')) {
-            $this->traits = get_declared_traits();
-        }
-    }
-
-    /**
-     * @return Blacklist
-     */
-    public function blacklist()
-    {
-        return $this->blacklist;
-    }
-
-    /**
-     * @return array
-     */
-    public function globalVariables()
-    {
-        return $this->globalVariables;
-    }
-
-    /**
-     * @return array
-     */
-    public function superGlobalVariables()
-    {
-        return $this->superGlobalVariables;
-    }
-
-    /**
-     * Returns a list of all super-global variable arrays.
-     *
-     * @return array
-     */
-    public function superGlobalArrays()
-    {
-        return $this->superGlobalArrays;
-    }
-
-    /**
-     * @return array
-     */
-    public function staticAttributes()
-    {
-        return $this->staticAttributes;
-    }
-
-    /**
-     * @return array
-     */
-    public function iniSettings()
-    {
-        return $this->iniSettings;
-    }
-
-    /**
-     * @return array
-     */
-    public function includedFiles()
-    {
-        return $this->includedFiles;
-    }
-
-    /**
-     * @return array
-     */
-    public function constants()
-    {
-        return $this->constants;
-    }
-
-    /**
-     * @return array
-     */
-    public function functions()
-    {
-        return $this->functions;
-    }
-
-    /**
-     * @return array
-     */
-    public function interfaces()
-    {
-        return $this->interfaces;
-    }
-
-    /**
-     * @return array
-     */
-    public function classes()
-    {
-        return $this->classes;
-    }
-
-    /**
-     * @return array
-     */
-    public function traits()
-    {
-        return $this->traits;
-    }
-
-    /**
-     * Creates a snapshot user-defined constants.
-     */
-    private function snapshotConstants()
-    {
-        $constants = get_defined_constants(true);
-
-        if (isset($constants['user'])) {
-            $this->constants = $constants['user'];
-        }
-    }
-
-    /**
-     * Creates a snapshot user-defined functions.
-     */
-    private function snapshotFunctions()
-    {
-        $functions = get_defined_functions();
-
-        $this->functions = $functions['user'];
-    }
-
-    /**
-     * Creates a snapshot user-defined classes.
-     */
-    private function snapshotClasses()
-    {
-        foreach (array_reverse(get_declared_classes()) as $className) {
-            $class = new ReflectionClass($className);
-
-            if (!$class->isUserDefined()) {
-                break;
-            }
-
-            $this->classes[] = $className;
-        }
-
-        $this->classes = array_reverse($this->classes);
-    }
-
-    /**
-     * Creates a snapshot user-defined interfaces.
-     */
-    private function snapshotInterfaces()
-    {
-        foreach (array_reverse(get_declared_interfaces()) as $interfaceName) {
-            $class = new ReflectionClass($interfaceName);
-
-            if (!$class->isUserDefined()) {
-                break;
-            }
-
-            $this->interfaces[] = $interfaceName;
-        }
-
-        $this->interfaces = array_reverse($this->interfaces);
-    }
-
-    /**
-     * Creates a snapshot of all global and super-global variables.
-     */
-    private function snapshotGlobals()
-    {
-        $superGlobalArrays = $this->superGlobalArrays();
-
-        foreach ($superGlobalArrays as $superGlobalArray) {
-            $this->snapshotSuperGlobalArray($superGlobalArray);
-        }
-
-        foreach (array_keys($GLOBALS) as $key) {
-            if ($key != 'GLOBALS' &&
-                !in_array($key, $superGlobalArrays) &&
-                $this->canBeSerialized($GLOBALS[$key]) &&
-                !$this->blacklist->isGlobalVariableBlacklisted($key)) {
-                $this->globalVariables[$key] = unserialize(serialize($GLOBALS[$key]));
-            }
-        }
-    }
-
-    /**
-     * Creates a snapshot a super-global variable array.
-     *
-     * @param $superGlobalArray
-     */
-    private function snapshotSuperGlobalArray($superGlobalArray)
-    {
-        $this->superGlobalVariables[$superGlobalArray] = array();
-
-        if (isset($GLOBALS[$superGlobalArray]) && is_array($GLOBALS[$superGlobalArray])) {
-            foreach ($GLOBALS[$superGlobalArray] as $key => $value) {
-                $this->superGlobalVariables[$superGlobalArray][$key] = unserialize(serialize($value));
-            }
-        }
-    }
-
-    /**
-     * Creates a snapshot of all static attributes in user-defined classes.
-     */
-    private function snapshotStaticAttributes()
-    {
-        foreach ($this->classes as $className) {
-            $class    = new ReflectionClass($className);
-            $snapshot = array();
-
-            foreach ($class->getProperties() as $attribute) {
-                if ($attribute->isStatic()) {
-                    $name = $attribute->getName();
-
-                    if ($this->blacklist->isStaticAttributeBlacklisted($className, $name)) {
-                        continue;
-                    }
-
-                    $attribute->setAccessible(true);
-                    $value = $attribute->getValue();
-
-                    if ($this->canBeSerialized($value)) {
-                        $snapshot[$name] = unserialize(serialize($value));
-                    }
-                }
-            }
-
-            if (!empty($snapshot)) {
-                $this->staticAttributes[$className] = $snapshot;
-            }
-        }
-    }
-
-    /**
-     * Returns a list of all super-global variable arrays.
-     *
-     * @return array
-     */
-    private function setupSuperGlobalArrays()
-    {
-        $this->superGlobalArrays = array(
-            '_ENV',
-            '_POST',
-            '_GET',
-            '_COOKIE',
-            '_SERVER',
-            '_FILES',
-            '_REQUEST'
-        );
-
-        if (ini_get('register_long_arrays') == '1') {
-            $this->superGlobalArrays = array_merge(
-                $this->superGlobalArrays,
-                array(
-                    'HTTP_ENV_VARS',
-                    'HTTP_POST_VARS',
-                    'HTTP_GET_VARS',
-                    'HTTP_COOKIE_VARS',
-                    'HTTP_SERVER_VARS',
-                    'HTTP_POST_FILES'
-                )
-            );
-        }
-    }
-
-    /**
-     * @param  mixed $variable
-     * @return boolean
-     * @todo   Implement this properly
-     */
-    private function canBeSerialized($variable) {
-        return !$variable instanceof Closure;
-    }
-}
diff --git a/core/vendor/sebastian/global-state/tests/BlacklistTest.php b/core/vendor/sebastian/global-state/tests/BlacklistTest.php
deleted file mode 100644
index d5a2a75..0000000
--- a/core/vendor/sebastian/global-state/tests/BlacklistTest.php
+++ /dev/null
@@ -1,149 +0,0 @@
-<?php
-/**
- * GlobalState
- *
- * Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-
-namespace SebastianBergmann\GlobalState;
-
-use PHPUnit_Framework_TestCase;
-
-/**
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-class BlacklistTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \SebastianBergmann\GlobalState\Blacklist
-     */
-    private $blacklist;
-
-    protected function setUp()
-    {
-        $this->blacklist = new Blacklist;
-    }
-
-    public function testGlobalVariableThatIsNotBlacklistedIsNotTreatedAsBlacklisted()
-    {
-        $this->assertFalse($this->blacklist->isGlobalVariableBlacklisted('variable'));
-    }
-
-    public function testGlobalVariableCanBeBlacklisted()
-    {
-        $this->blacklist->addGlobalVariable('variable');
-
-        $this->assertTrue($this->blacklist->isGlobalVariableBlacklisted('variable'));
-    }
-
-    public function testStaticAttributeThatIsNotBlacklistedIsNotTreatedAsBlacklisted()
-    {
-        $this->assertFalse(
-            $this->blacklist->isStaticAttributeBlacklisted(
-                'SebastianBergmann\GlobalState\TestFixture\BlacklistedClass',
-                'attribute'
-            )
-        );
-    }
-
-    public function testClassCanBeBlacklisted()
-    {
-        $this->blacklist->addClass('SebastianBergmann\GlobalState\TestFixture\BlacklistedClass');
-
-        $this->assertTrue(
-            $this->blacklist->isStaticAttributeBlacklisted(
-                'SebastianBergmann\GlobalState\TestFixture\BlacklistedClass',
-                'attribute'
-            )
-        );
-    }
-
-    public function testSubclassesCanBeBlacklisted()
-    {
-        $this->blacklist->addSubclassesOf('SebastianBergmann\GlobalState\TestFixture\BlacklistedClass');
-
-        $this->assertTrue(
-            $this->blacklist->isStaticAttributeBlacklisted(
-                'SebastianBergmann\GlobalState\TestFixture\BlacklistedChildClass',
-                'attribute'
-            )
-        );
-    }
-
-    public function testImplementorsCanBeBlacklisted()
-    {
-        $this->blacklist->addImplementorsOf('SebastianBergmann\GlobalState\TestFixture\BlacklistedInterface');
-
-        $this->assertTrue(
-            $this->blacklist->isStaticAttributeBlacklisted(
-                'SebastianBergmann\GlobalState\TestFixture\BlacklistedImplementor',
-                'attribute'
-            )
-        );
-    }
-
-    public function testClassNamePrefixesCanBeBlacklisted()
-    {
-        $this->blacklist->addClassNamePrefix('SebastianBergmann\GlobalState');
-
-        $this->assertTrue(
-            $this->blacklist->isStaticAttributeBlacklisted(
-                'SebastianBergmann\GlobalState\TestFixture\BlacklistedClass',
-                'attribute'
-            )
-        );
-    }
-
-    public function testStaticAttributeCanBeBlacklisted()
-    {
-        $this->blacklist->addStaticAttribute(
-            'SebastianBergmann\GlobalState\TestFixture\BlacklistedClass',
-            'attribute'
-        );
-
-        $this->assertTrue(
-            $this->blacklist->isStaticAttributeBlacklisted(
-                'SebastianBergmann\GlobalState\TestFixture\BlacklistedClass',
-                'attribute'
-            )
-        );
-    }
-}
diff --git a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php b/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php
deleted file mode 100644
index 99f7fdb..0000000
--- a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/**
- * GlobalState
- *
- * Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-
-namespace SebastianBergmann\GlobalState\TestFixture;
-
-/**
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-class BlacklistedChildClass extends BlacklistedClass
-{
-}
diff --git a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php b/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php
deleted file mode 100644
index f1582c7..0000000
--- a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/**
- * GlobalState
- *
- * Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-
-namespace SebastianBergmann\GlobalState\TestFixture;
-
-/**
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-class BlacklistedClass
-{
-    private static $attribute;
-}
diff --git a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php b/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php
deleted file mode 100644
index c80d987..0000000
--- a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/**
- * GlobalState
- *
- * Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-
-namespace SebastianBergmann\GlobalState\TestFixture;
-
-/**
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-class BlacklistedImplementor implements BlacklistedInterface
-{
-    private static $attribute;
-}
diff --git a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php b/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php
deleted file mode 100644
index f3941fd..0000000
--- a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/**
- * GlobalState
- *
- * Copyright (c) 2001-2014, Sebastian Bergmann <sebastian@phpunit.de>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   * Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   * Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in
- *     the documentation and/or other materials provided with the
- *     distribution.
- *
- *   * Neither the name of Sebastian Bergmann nor the names of his
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-
-namespace SebastianBergmann\GlobalState\TestFixture;
-
-/**
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright  2001-2014 Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       http://www.github.com/sebastianbergmann/global-state
- */
-interface BlacklistedInterface
-{
-}
diff --git a/core/vendor/sebastian/recursion-context/.gitignore b/core/vendor/sebastian/recursion-context/.gitignore
deleted file mode 100644
index 3beb10f..0000000
--- a/core/vendor/sebastian/recursion-context/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-.idea
-phpunit.xml
-composer.lock
-composer.phar
-vendor/
-cache.properties
-build/LICENSE
-build/README.md
-build/*.tgz
diff --git a/core/vendor/sebastian/recursion-context/.travis.yml b/core/vendor/sebastian/recursion-context/.travis.yml
deleted file mode 100644
index f239e93..0000000
--- a/core/vendor/sebastian/recursion-context/.travis.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-language: php
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-  - hhvm-nightly
-
-sudo: false
-
-before_script:
-  - composer self-update
-  - composer install --no-interaction --prefer-source --dev
-
-script: ./vendor/bin/phpunit
-
-notifications:
-  email: false
-  irc: "irc.freenode.org#phpunit"
diff --git a/core/vendor/sebastian/recursion-context/LICENSE b/core/vendor/sebastian/recursion-context/LICENSE
deleted file mode 100644
index f8c30c2..0000000
--- a/core/vendor/sebastian/recursion-context/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-Recursion Context
-
-Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/sebastian/recursion-context/README.md b/core/vendor/sebastian/recursion-context/README.md
deleted file mode 100644
index bd43985..0000000
--- a/core/vendor/sebastian/recursion-context/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Recursion Context
-
-...
-
-## Installation
-
-To add Recursion Context as a local, per-project dependency to your project, simply add a dependency on `sebastian/recursion-context` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on Recursion Context 1.0:
-
-    {
-        "require": {
-            "sebastian/recursion-context": "~1.0"
-        }
-    }
diff --git a/core/vendor/sebastian/recursion-context/build.xml b/core/vendor/sebastian/recursion-context/build.xml
deleted file mode 100644
index b4fd193..0000000
--- a/core/vendor/sebastian/recursion-context/build.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="recursion-context">
- <target name="clean" description="Cleanup build artifacts">
-  <delete dir="${basedir}/vendor"/>
-  <delete file="${basedir}/composer.lock"/>
- </target>
-
- <target name="composer" depends="clean" description="Install dependencies with Composer">
-  <tstamp>
-   <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
-  </tstamp>
-  <delete>
-   <fileset dir="${basedir}">
-    <include name="composer.phar" />
-    <date datetime="${thirty.days.ago}" when="before"/>
-   </fileset>
-  </delete>
-
-  <get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
-
-  <exec executable="php">
-   <arg value="composer.phar"/>
-   <arg value="install"/>
-  </exec>
- </target>
-</project>
-
diff --git a/core/vendor/sebastian/recursion-context/composer.json b/core/vendor/sebastian/recursion-context/composer.json
deleted file mode 100644
index fed033d..0000000
--- a/core/vendor/sebastian/recursion-context/composer.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-    "name": "sebastian/recursion-context",
-    "description": "Provides functionality to recursively process PHP variables",
-    "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sebastian@phpunit.de"
-        },
-        {
-            "name": "Jeff Welch",
-            "email": "whatthejeff@gmail.com"
-        },
-        {
-            "name": "Adam Harvey",
-            "email": "aharvey@php.net"
-        }
-    ],
-    "require": {
-        "php": ">=5.3.3"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4.4"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.0.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/sebastian/recursion-context/phpunit.xml.dist b/core/vendor/sebastian/recursion-context/phpunit.xml.dist
deleted file mode 100644
index 757e3e6..0000000
--- a/core/vendor/sebastian/recursion-context/phpunit.xml.dist
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit backupGlobals="false"
-         bootstrap="vendor/autoload.php"
-         beStrictAboutTestsThatDoNotTestAnything="true"
-         beStrictAboutOutputDuringTests="true"
-         beStrictAboutTodoAnnotatedTests="true"
-         checkForUnintentionallyCoveredCode="true"
-         forceCoversAnnotation="true"
-         verbose="true">
-<testsuites>
-  <testsuite name="recursion-context">
-   <directory>tests</directory>
-  </testsuite>
- </testsuites>
- <filter>
-  <whitelist addUncoveredFilesFromWhitelist="true" processUncoveredFilesFromWhitelist="true">
-   <directory>src</directory>
-  </whitelist>
- </filter>
-</phpunit>
diff --git a/core/vendor/sebastian/recursion-context/src/Context.php b/core/vendor/sebastian/recursion-context/src/Context.php
deleted file mode 100644
index b431e07..0000000
--- a/core/vendor/sebastian/recursion-context/src/Context.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-/*
- * This file is part of the Recursion Context package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\RecursionContext;
-
-/**
- * A context containing previously processed arrays and objects
- * when recursively processing a value.
- *
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Adam Harvey <aharvey@php.net>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       https://github.com/sebastianbergmann/recursion-context
- */
-final class Context
-{
-    /**
-     * @var array[]
-     */
-    private $arrays;
-
-    /**
-     * @var \SplObjectStorage
-     */
-    private $objects;
-
-    /**
-     * Initialises the context
-     */
-    public function __construct()
-    {
-        $this->arrays  = array();
-        $this->objects = new \SplObjectStorage;
-    }
-
-    /**
-     * Adds a value to the context.
-     *
-     * @param  array|object $value      The value to add.
-     * @return integer|string           The ID of the stored value, either as
-     *                                  a string or integer.
-     * @throws InvalidArgumentException Thrown if $value is not an array or
-     *                                  object
-     */
-    public function add(&$value)
-    {
-        if (is_array($value)) {
-            return $this->addArray($value);
-        }
-
-        else if (is_object($value)) {
-            return $this->addObject($value);
-        }
-
-        throw new InvalidArgumentException(
-            'Only arrays and objects are supported'
-        );
-    }
-
-    /**
-     * Checks if the given value exists within the context.
-     *
-     * @param  array|object $value  The value to check.
-     * @return integer|string|false The string or integer ID of the stored
-     *                              value if it has already been seen, or
-     *                              false if the value is not stored.
-     * @throws InvalidArgumentException Thrown if $value is not an array or
-     *                                  object
-     */
-    public function contains(&$value)
-    {
-        if (is_array($value)) {
-            return $this->containsArray($value);
-        }
-
-        else if (is_object($value)) {
-            return $this->containsObject($value);
-        }
-
-        throw new InvalidArgumentException(
-            'Only arrays and objects are supported'
-        );
-    }
-
-    /**
-     * @param  array $array
-     * @return bool|int
-     */
-    private function addArray(array &$array)
-    {
-        $key = $this->containsArray($array);
-
-        if ($key !== false) {
-            return $key;
-        }
-
-        $this->arrays[] = &$array;
-
-        return count($this->arrays) - 1;
-    }
-
-    /**
-     * @param  object $object
-     * @return string
-     */
-    private function addObject($object)
-    {
-        if (!$this->objects->contains($object)) {
-            $this->objects->attach($object);
-        }
-
-        return spl_object_hash($object);
-    }
-
-    /**
-     * @param  array $array
-     * @return integer|false
-     */
-    private function containsArray(array &$array)
-    {
-        $keys = array_keys($this->arrays, $array, true);
-        $hash = '_Key_' . hash('sha512', microtime(true));
-
-        foreach ($keys as $key) {
-            $this->arrays[$key][$hash] = $hash;
-
-            if (isset($array[$hash]) && $array[$hash] === $hash) {
-                unset($this->arrays[$key][$hash]);
-                return $key;
-            }
-
-            unset($this->arrays[$key][$hash]);
-        }
-
-        return false;
-    }
-
-    /**
-     * @param  object $value
-     * @return string|false
-     */
-    private function containsObject($value)
-    {
-        if ($this->objects->contains($value)) {
-            return spl_object_hash($value);
-        }
-
-        return false;
-    }
-}
diff --git a/core/vendor/sebastian/recursion-context/src/Exception.php b/core/vendor/sebastian/recursion-context/src/Exception.php
deleted file mode 100644
index 0986cc2..0000000
--- a/core/vendor/sebastian/recursion-context/src/Exception.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/*
- * This file is part of the Recursion Context package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\RecursionContext;
-
-/**
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Adam Harvey <aharvey@php.net>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       https://github.com/sebastianbergmann/recursion-context
- */
-interface Exception
-{
-}
diff --git a/core/vendor/sebastian/recursion-context/src/InvalidArgumentException.php b/core/vendor/sebastian/recursion-context/src/InvalidArgumentException.php
deleted file mode 100644
index 6c1f46b..0000000
--- a/core/vendor/sebastian/recursion-context/src/InvalidArgumentException.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/*
- * This file is part of the Recursion Context package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\RecursionContext;
-
-/**
- * @author     Sebastian Bergmann <sebastian@phpunit.de>
- * @author     Adam Harvey <aharvey@php.net>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link       https://github.com/sebastianbergmann/recursion-context
- */
-final class InvalidArgumentException extends \InvalidArgumentException implements Exception
-{
-}
diff --git a/core/vendor/sebastian/recursion-context/tests/ContextTest.php b/core/vendor/sebastian/recursion-context/tests/ContextTest.php
deleted file mode 100644
index 8e8cc56..0000000
--- a/core/vendor/sebastian/recursion-context/tests/ContextTest.php
+++ /dev/null
@@ -1,144 +0,0 @@
-<?php
-/*
- * This file is part of the Recursion Context package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\RecursionContext;
-
-use PHPUnit_Framework_TestCase;
-
-/**
- * @covers SebastianBergmann\RecursionContext\Context
- */
-class ContextTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \SebastianBergmann\RecursionContext\Context
-     */
-    private $context;
-
-    protected function setUp()
-    {
-        $this->context = new Context();
-    }
-
-    public function failsProvider()
-    {
-        return array(
-            array(true),
-            array(false),
-            array(null),
-            array('string'),
-            array(1),
-            array(1.5),
-            array(fopen('php://memory', 'r'))
-        );
-    }
-
-    public function valuesProvider()
-    {
-        $obj2 = new \stdClass();
-        $obj2->foo = 'bar';
-
-        $obj3 = (object) array(1,2,"Test\r\n",4,5,6,7,8);
-
-        $obj = new \stdClass();
-        //@codingStandardsIgnoreStart
-        $obj->null = null;
-        //@codingStandardsIgnoreEnd
-        $obj->boolean = true;
-        $obj->integer = 1;
-        $obj->double = 1.2;
-        $obj->string = '1';
-        $obj->text = "this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext";
-        $obj->object = $obj2;
-        $obj->objectagain = $obj2;
-        $obj->array = array('foo' => 'bar');
-        $obj->array2 = array(1,2,3,4,5,6);
-        $obj->array3 = array($obj, $obj2, $obj3);
-        $obj->self = $obj;
-
-        $storage = new \SplObjectStorage();
-        $storage->attach($obj2);
-        $storage->foo = $obj2;
-
-        return array(
-            array($obj, spl_object_hash($obj)),
-            array($obj2, spl_object_hash($obj2)),
-            array($obj3, spl_object_hash($obj3)),
-            array($storage, spl_object_hash($storage)),
-            array($obj->array, 0),
-            array($obj->array2, 0),
-            array($obj->array3, 0)
-        );
-    }
-
-    /**
-     * @covers       SebastianBergmann\RecursionContext\Context::add
-     * @uses         SebastianBergmann\RecursionContext\InvalidArgumentException
-     * @dataProvider failsProvider
-     */
-    public function testAddFails($value)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\RecursionContext\\Exception',
-          'Only arrays and objects are supported'
-        );
-        $this->context->add($value);
-    }
-
-    /**
-     * @covers       SebastianBergmann\RecursionContext\Context::contains
-     * @uses         SebastianBergmann\RecursionContext\InvalidArgumentException
-     * @dataProvider failsProvider
-     */
-    public function testContainsFails($value)
-    {
-        $this->setExpectedException(
-          'SebastianBergmann\\RecursionContext\\Exception',
-          'Only arrays and objects are supported'
-        );
-        $this->context->contains($value);
-    }
-
-    /**
-     * @covers       SebastianBergmann\RecursionContext\Context::add
-     * @dataProvider valuesProvider
-     */
-    public function testAdd($value, $key)
-    {
-        $this->assertEquals($key, $this->context->add($value));
-
-        // Test we get the same key on subsequent adds
-        $this->assertEquals($key, $this->context->add($value));
-    }
-
-    /**
-     * @covers       SebastianBergmann\RecursionContext\Context::contains
-     * @uses         SebastianBergmann\RecursionContext\Context::add
-     * @depends      testAdd
-     * @dataProvider valuesProvider
-     */
-    public function testContainsFound($value, $key)
-    {
-        $this->context->add($value);
-        $this->assertEquals($key, $this->context->contains($value));
-
-        // Test we get the same key on subsequent calls
-        $this->assertEquals($key, $this->context->contains($value));
-    }
-
-    /**
-     * @covers       SebastianBergmann\RecursionContext\Context::contains
-     * @dataProvider valuesProvider
-     */
-    public function testContainsNotFound($value)
-    {
-        $this->assertFalse($this->context->contains($value));
-    }
-}
diff --git a/core/vendor/sebastian/version/.gitattributes b/core/vendor/sebastian/version/.gitattributes
deleted file mode 100644
index 461090b..0000000
--- a/core/vendor/sebastian/version/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.php diff=php
diff --git a/core/vendor/sebastian/version/.gitignore b/core/vendor/sebastian/version/.gitignore
deleted file mode 100644
index 7d07093..0000000
--- a/core/vendor/sebastian/version/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-build/api
-build/code-browser
-build/coverage
-build/logs
-build/pdepend
-build/phpdox
-build/SebastianBergmann
-build/*.tgz
-cache.properties
-/.idea
diff --git a/core/vendor/sebastian/version/ChangeLog.md b/core/vendor/sebastian/version/ChangeLog.md
deleted file mode 100644
index d01318e..0000000
--- a/core/vendor/sebastian/version/ChangeLog.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Version 1.0
-
-This is the list of changes for the Version 1.0 release series.
-
-## Version 1.0.3
-
-* Only look for Git repository in the supplied path (and not in its parent directories).
-
-## Version 1.0.2
-
-* Errors from `exec()`uting the Git command are now suppressed.
-
-## Version 1.0.1
-
-* Fixed #2: `getVersion()` fails on Windows.
-
-## Version 1.0.0
-
-* Initial release.
diff --git a/core/vendor/sebastian/version/LICENSE b/core/vendor/sebastian/version/LICENSE
deleted file mode 100644
index 5b79c41..0000000
--- a/core/vendor/sebastian/version/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-Version
-
-Copyright (c) 2013-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/core/vendor/sebastian/version/README.md b/core/vendor/sebastian/version/README.md
deleted file mode 100644
index be6b687..0000000
--- a/core/vendor/sebastian/version/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# Version
-
-**Version** is a library that helps with managing the version number of Git-hosted PHP projects.
-
-## Installation
-
-Simply add a dependency on `sebastian/version` to your project's `composer.json` file if you use [Composer](http://getcomposer.org/) to manage the dependencies of your project.
-
-## Usage
-
-The constructor of the `SebastianBergmann\Version` class expects two parameters:
-
-* `$release` is the version number of the latest release (`X.Y.Z`, for instance) or the name of the release series (`X.Y`) when no release has been made from that branch / for that release series yet.
-* `$path` is the path to the directory (or a subdirectory thereof) where the sourcecode of the project can be found. Simply passing `__DIR__` here usually suffices.
-
-Apart from the constructor, the `SebastianBergmann\Version` class has a single public method: `getVersion()`.
-
-Here is a contrived example that shows the basic usage:
-
-    <?php
-    $version = new SebastianBergmann\Version(
-      '3.7.10', '/usr/local/src/phpunit'
-    );
-
-    var_dump($version->getVersion());
-    ?>
-
-    string(18) "3.7.10-17-g00f3408"
-
-When a new release is prepared, the string that is passed to the constructor as the first argument needs to be updated.
-
-### How SebastianBergmann\Version::getVersion() works
-
-* If `$path` is not (part of) a Git repository and `$release` is in `X.Y.Z` format then `$release` is returned as-is.
-* If `$path` is not (part of) a Git repository and `$release` is in `X.Y` format then `$release` is returned suffixed with `-dev`.
-* If `$path` is (part of) a Git repository and `$release` is in `X.Y.Z` format then the output of `git describe --tags` is returned as-is.
-* If `$path` is (part of) a Git repository and `$release` is in `X.Y` format then a string is returned that begins with `X.Y` and ends with information from `git describe --tags`.
diff --git a/core/vendor/sebastian/version/build.xml b/core/vendor/sebastian/version/build.xml
deleted file mode 100644
index 67f1d09..0000000
--- a/core/vendor/sebastian/version/build.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="version" default="build">
- <property name="php" value="php"/>
- <property name="phpunit" value="phpunit"/>
-
- <target name="build" depends="prepare,lint,phpcs,phpunit"/>
-
- <target name="clean" description="Cleanup build artifacts">
- </target>
-
- <target name="prepare" depends="clean,phpab" description="Prepare for build">
- </target>
-
- <target name="phpab" description="Generate autoloader script">
-  <exec executable="phpab">
-   <arg value="--output" />
-   <arg path="src/autoload.php" />
-   <arg path="src" />
-  </exec>
- </target>
-
- <target name="lint">
-  <apply executable="${php}" failonerror="true">
-   <arg value="-l" />
-
-   <fileset dir="${basedir}/src">
-    <include name="**/*.php" />
-    <modified />
-   </fileset>
-
-   <fileset dir="${basedir}/tests">
-    <include name="**/*.php" />
-    <modified />
-   </fileset>
-  </apply>
- </target>
-
- <target name="phpcs" description="Find coding standard violations using PHP_CodeSniffer">
-  <exec executable="phpcs">
-   <arg value="--standard=PSR2" />
-   <arg value="--extensions=php" />
-   <arg value="--ignore=autoload.php" />
-   <arg path="${basedir}/src" />
-  </exec>
- </target>
-
- <target name="phpunit" description="Run unit tests with PHPUnit">
-  <condition property="phpunit_cmd" value="${php} ${phpunit}" else="${phpunit}">
-   <not>
-    <equals arg1="${phpunit}" arg2="phpunit" />
-   </not>
-  </condition>
-
-  <exec executable="${phpunit_cmd}" failonerror="true">
-   <arg value="--configuration" />
-   <arg path="${basedir}/build/phpunit.xml" />
-  </exec>
- </target>
-
- <target name="pear">
-  <mkdir dir="${basedir}/build/SebastianBergmann/Version"/>
-
-  <copy todir="${basedir}/build/SebastianBergmann/Version">
-   <fileset dir="${basedir}/src"/>
-  </copy>
-
-  <copy file="ChangeLog.md" todir="${basedir}/build"/>
-  <copy file="LICENSE" todir="${basedir}/build"/>
-  <copy file="README.md" todir="${basedir}/build"/>
-
-  <exec executable="pear" dir="${basedir}/build">
-   <arg value="package" />
-  </exec>
-
-  <delete dir="${basedir}/build/SebastianBergmann"/>
-  <delete file="${basedir}/build/ChangeLog.md"/>
-  <delete file="${basedir}/build/LICENSE"/>
-  <delete file="${basedir}/build/README.md"/>
- </target>
-</project>
diff --git a/core/vendor/sebastian/version/build/package.xml b/core/vendor/sebastian/version/build/package.xml
deleted file mode 100644
index 479da15..0000000
--- a/core/vendor/sebastian/version/build/package.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<package packagerversion="1.4.10" version="2.0"
-  xmlns="http://pear.php.net/dtd/package-2.0"
-  xmlns:tasks="http://pear.php.net/dtd/tasks-1.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
-                      http://pear.php.net/dtd/tasks-1.0.xsd
-                      http://pear.php.net/dtd/package-2.0
-                      http://pear.php.net/dtd/package-2.0.xsd">
- <name>Version</name>
- <channel>pear.phpunit.de</channel>
- <summary>Library that helps with managing the version number of Git-hosted PHP projects</summary>
- <description>Library that helps with managing the version number of Git-hosted PHP projects</description>
- <lead>
-  <name>Sebastian Bergmann</name>
-  <user>sb</user>
-  <email>sebastian@phpunit.de</email>
-  <active>yes</active>
- </lead>
- <date>2014-03-07</date>
- <version>
-  <release>1.0.3</release>
-  <api>1.0.0</api>
- </version>
- <stability>
-  <release>stable</release>
-  <api>stable</api>
- </stability>
- <license>The BSD 3-Clause License</license>
- <notes>http://github.com/sebastianbergmann/version/tree</notes>
- <contents>
-  <dir name="/">
-   <dir name="SebastianBergmann">
-    <dir name="Version">
-     <file baseinstalldir="/" name="autoload.php" role="php"/>
-     <file baseinstalldir="/" name="Version.php" role="php"/>
-    </dir>
-   </dir>
-   <file baseinstalldir="/" name="ChangeLog.md" role="doc"/>
-   <file baseinstalldir="/" name="LICENSE" role="doc"/>
-   <file baseinstalldir="/" name="README.md" role="doc"/>
-  </dir>
- </contents>
- <dependencies>
-  <required>
-   <php>
-    <min>5.3.3</min>
-   </php>
-   <pearinstaller>
-    <min>1.9.4</min>
-   </pearinstaller>
-  </required>
- </dependencies>
- <phprelease/>
-</package>
diff --git a/core/vendor/sebastian/version/build/phpunit.xml b/core/vendor/sebastian/version/build/phpunit.xml
deleted file mode 100644
index 508900b..0000000
--- a/core/vendor/sebastian/version/build/phpunit.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit bootstrap="../tests/bootstrap.php"
-         backupGlobals="false"
-         backupStaticAttributes="false"
-         strict="true"
-         verbose="true">
-  <testsuites>
-    <testsuite name="Version">
-      <directory suffix="Test.php">../tests</directory>
-    </testsuite>
-  </testsuites>
-
-  <logging>
-    <log type="coverage-html" target="coverage" charset="UTF-8" highlight="true"
-         lowUpperBound="35" highLowerBound="70"/>
-    <log type="coverage-clover" target="logs/clover.xml"/>
-    <log type="junit" target="logs/junit.xml" logIncompleteSkipped="false"/>
-  </logging>
-
-  <filter>
-    <whitelist addUncoveredFilesFromWhitelist="true">
-      <directory suffix=".php">../src</directory>
-      <exclude>
-        <file>../src/autoload.php</file>
-      </exclude>
-    </whitelist>
-  </filter>
-</phpunit>
diff --git a/core/vendor/sebastian/version/composer.json b/core/vendor/sebastian/version/composer.json
deleted file mode 100644
index 39d6569..0000000
--- a/core/vendor/sebastian/version/composer.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "name": "sebastian/version",
-    "description": "Library that helps with managing the version number of Git-hosted PHP projects",
-    "homepage": "https://github.com/sebastianbergmann/version",
-    "license": "BSD-3-Clause",
-    "authors": [
-        {
-            "name": "Sebastian Bergmann",
-            "email": "sebastian@phpunit.de",
-            "role": "lead"
-        }
-    ],
-    "support": {
-        "issues": "https://github.com/sebastianbergmann/version/issues"
-    },
-    "autoload": {
-        "classmap": [
-            "src/"
-        ]
-    }
-}
diff --git a/core/vendor/sebastian/version/src/Version.php b/core/vendor/sebastian/version/src/Version.php
deleted file mode 100644
index 0d93741..0000000
--- a/core/vendor/sebastian/version/src/Version.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-/*
- * This file is part of the Version package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann;
-
-/**
- * @package   Version
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link      http://github.com/sebastianbergmann/version
- * @since     Class available since Release 1.0.0
- */
-class Version
-{
-    private $path;
-    private $release;
-    private $version;
-
-    /**
-     * @param string $release
-     * @param string $path
-     */
-    public function __construct($release, $path)
-    {
-        $this->release = $release;
-        $this->path    = $path;
-    }
-
-    /**
-     * @return string
-     */
-    public function getVersion()
-    {
-        if ($this->version === null) {
-            if (count(explode('.', $this->release)) == 3) {
-                $this->version = $this->release;
-            } else {
-                $this->version = $this->release . '-dev';
-            }
-
-            $git = $this->getGitInformation($this->path);
-
-            if ($git) {
-                if (count(explode('.', $this->release)) == 3) {
-                    $this->version = $git;
-                } else {
-                    $git = explode('-', $git);
-
-                    $this->version = $this->release . '-' . end($git);
-                }
-            }
-        }
-
-        return $this->version;
-    }
-
-    /**
-     * @param  string $path
-     * @return boolean|string
-     */
-    private function getGitInformation($path)
-    {
-        if (!is_dir($path . DIRECTORY_SEPARATOR . '.git')) {
-            return false;
-        }
-
-        $dir = getcwd();
-        chdir($path);
-        $returnCode = 1;
-        $result = @exec('git describe --tags 2>&1', $output, $returnCode);
-        chdir($dir);
-
-        if ($returnCode !== 0) {
-            return false;
-        }
-
-        return $result;
-    }
-}
diff --git a/core/vendor/sebastian/version/src/autoload.php b/core/vendor/sebastian/version/src/autoload.php
deleted file mode 100644
index 20157ea..0000000
--- a/core/vendor/sebastian/version/src/autoload.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/*
- * This file is part of the Version package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-// @codingStandardsIgnoreFile
-// @codeCoverageIgnoreStart
-// this is an autogenerated file - do not edit
-spl_autoload_register(
-    function($class) {
-        static $classes = null;
-        if ($classes === null) {
-            $classes = array(
-                'sebastianbergmann\\version' => '/Version.php'
-            );
-        }
-        $cn = strtolower($class);
-        if (isset($classes[$cn])) {
-            require __DIR__ . $classes[$cn];
-        }
-    }
-);
-// @codeCoverageIgnoreEnd
diff --git a/core/vendor/sebastian/version/tests/bootstrap.php b/core/vendor/sebastian/version/tests/bootstrap.php
deleted file mode 100644
index d352bb0..0000000
--- a/core/vendor/sebastian/version/tests/bootstrap.php
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-require __DIR__ . '/../src/autoload.php';
